Akamai クラウド・コンピューティング・サービス の Virtual LAN (VLAN) を使うと、プライベートネットワークを組むことができます。本記事は Terraform を使って VLAN のみを利用するインスタンスを作成する方法を記載します。VLAN については下記の記事を参照ください。
記事では Cloud Manager を使った例を紹介していますが、今回は Terraform を使った例となります。Linode Provider のページは下記となります。
前提条件
本記事では前回の記事 (VLAN を設定する) で作成した VLAN に対して、新たに 10.0.0.5/24 のインスタンスを作成する例です。
Linode Provider については、下記の記事も参考にしてください。
tf ファイルの設定
以下のサンプルコードを参考にしてください。
https://github.com/110hideki/linode-terraform-sample/tree/main/vlan-only-instance
git clone https://github.com/110hideki/linode-terraform-sample.git
変数は variable.tf
で定義していますので、自分の環境向けに変更してください。
トークンを環境変数 token
に入れる必要があります。トークンの作成については下記の記事内などを参考にしてください。
Cloud Manager の表示
terraform apply
を実行すれば数分で新しいインスタンスが作成されます。Cloud Manager では次のように表示されます。
Network Interfaces には VLAN の 10.0.0.5/24
しか見えません。Configurations タブの Edit
を選択した詳細表示でも次のように、eth0
に VLAN が割り当てられ、eth1
、 eth2
にはネットワークが割り当てられていません。
ルーター経由でログインしたときの ifconfig
の表示でも同様な結果になっています。eth0
には Public IP が割り当てられていませんので、インターネットから直接アクセスはできません。
root@localhost:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.5 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::92de:ff:fee8:4d12 prefixlen 64 scopeid 0x20<link>
ether 90:de:00:e8:4d:12 txqueuelen 1000 (Ethernet)
RX packets 30683 bytes 446726705 (446.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10441 bytes 1040376 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@localhost:~# ifconfig eth1
eth1: error fetching interface information: Device not found
root@localhost:~# ifconfig eth2
eth2: error fetching interface information: Device not found
まとめ
Terraform でも簡単に VLAN only のインスタンスを作成できます。VLAN を使うとプライベートネットワークを構成できるので、セキュアな環境を提供できます。VLAN 内のネットワークの転送は課金されません。また、高速なネットワーク通信も可能となります。
作成したインスタンスから外部に接続するには下記の記事を参考にしてください。
Terraform を使わず、Linode API を使って同様なことをするには下記の記事を参考にしてください。