IBM Cloud の IaaS の VLAN と Subnet/IPs についてまとめてみた

# 三行で
- IBM Cloud IaaS のVLANには自動払い出しのものとと管理して使えるものの２種類があります
- IPをきちんと管理して使うには、VLAN や Subnet/IPs を注文します
- Subnet/IPs の IP はOS側で管理します

この辺りプロではないので、間違ってるところがあったら生暖かく指摘してやってください

※IBM Cloud には、より自由度の高いNWを提供するVPCという仕組みもありますが、ここでは触れません

# IBM Cloud の VLANとは

VLAN の概要
https://cloud.ibm.com/docs/vlans?topic=vlans-getting-started&locale=ja

ざっくりいえば、自分の発注したサーバーが接続するネットワークを分割するのに使います

# VLAN の指定場所

IBM Cloud で仮想サーバーや物理サーバーの発注画面にはプライベート VLAN の項目があります。
デフォルトで自動割り当てされるので、気にせずそのままにしてもいいのですが、意味を知らないと後ではまることがあります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/a98f642e-4bc8-9077-15b1-0a1df4ddb820.png)

# 2種類の VLAN
以下に２種類があります

- オートマティックVLAN： サーバー発注時に自動割り当てされるVLAN
- プレミアムVLAN： 個別に注文するVLAN

https://cloud.ibm.com/catalog/infrastructure/vlan

# オートマティック VLAN の挙動

オートマティックVLANを作成されると、次のような挙動になります

- プライベートネットワークとパブリックネットワークそれぞれに VLAN が作成される
- 各 VLAN に Subnet/IPs が割り振られ、その中の一つのIPが付与される

パブリックネットワークを作るかどうかは任意ですが、ないとインターネット接続ができません。あとからも付与できないので注意しましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/ebd09eca-df5e-aea4-e4b8-bc2f21d1b29b.png)

# オートマティック VLAN のでの禁止事項

例えば、下の図では VLANに付与される subnet/IPs に /28 の空間が割り当てられ、Network, Gatway, BroadCast を除く13個のIPアドレスが利用できそうに見えます。
しかし、実際には IN Use 以外のアドレス(Reserved のステータスのアドレス）を**勝手に使ってはいけないことになっています**

自由に使える複数のIPアドレスが欲しい場合には、別途 Subnet/IPs が必要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/891dfa46-bd97-2fd2-1092-7a840a91255f.png)



# プレミアムVLAN

アカウント内でネットワークを分割したい場合や、ベアメタルにVMWareなどを導入して VLAN を使いたい場合などに利用します。

**（大事）プレミアムVLANはサーバーを作る前に作成する必要があります**（後述）

https://cloud.ibm.com/catalog/infrastructure/vlan

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/6f5b51b4-f059-0851-31d6-e96aa0963d5e.png)

#### (参考）データセンターとPod

VLAN はデータセンターごとに設置されます。日本のデータセンターには今日現在３つのデータセンターがあって、どのセンターで利用するのか指定する必要があります。

大規模なデータセンターでは、データセンター内でネットワークが分割されています。これがPodです。日本では TOK02 のみが Pod1, Pod2 に分割されており、VLANは Pod を明示して作ることもできます。

サーバーをウェブから作る時には、画面上 Pod の選択はできないので、混乱するんですけどね・・・・

# 自分用の複数のIPの準備

プレミアムVLANは実質１つしかIPが用意されません。別にIPを用意したい場合には、Subnet/IPs を注文します。
パブリック/プライベートネットワークにそれぞれ作成できます。
https://cloud.ibm.com/catalog/infrastructure/subnet-ip

- プライマリーサブネット： オートマティック VLAN とともに自動的に払い出されるサブネット。自動的に割り当てられたIP以外は使用不可
- セカンダリーサブネット： 注文して利用するサブネット。割り当てられたIPを利用できる

セカンダリーサブネットはいくつかの種類があります。
[サブネットおよび IP について](https://cloud.ibm.com/docs/subnets?topic=subnets-about-subnets-and-ips)

一般の IPv4 の使い方ならポータブルサブネットでよいのだと思います。プライベート側はポータブルしか選べません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/e13a8438-5d39-1b4d-f8c5-39a084d84c1c.png)

ポータブルIPのうち3つのアドレスは reserved として払い出されますので、4 IP を払い出すとサーバーに使えるのは1台です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/06680e8a-1f30-3b96-5172-58312253f033.png)

### VLAN と Subnet/IPs の関係

Subnet/IPs は必ずVLANに紐づけて発注します。Subnet/IPs はプレミアムVLANにもオートマティックVLANにも紐づけることができます。発注時には Subnet が属するVLAN ID（VLAN の番号）が正しいかどうかよく確認しましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/3e3d9b65-1d9f-17ca-b349-314838706b1f.png)

###VLANとSubnet/IPsへのサーバー割り当てと注意事項

サーバーをどのVLANに属するか決めるのは、サーバー発注時です。何も指定しなければオートマティックVLANが指定されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128691/a89ef1fe-c2ec-46c2-d94b-a34b1d685d38.png)

**サーバーのVLANは、後から自分で別のものに付け替えることはできません。** 時間課金ならともかく月額課金のサーバーのVLAN指定を間違えたとか、どうにもならなくなってしまったら、IBM のサポートに相談してみましょう。

### Subnet/IPs の IP の使い方

Subnet/IPs で割り当てられた IP は、 OS 上でデフォルトで割り当てられている IP のエイリアスとして登録します。

```
#Red Hat / CentOS の例
nmcli con mod "System eth0" +ipv4.addresses xxx.xxx.xxx.xxx/xx

#Windows では IPアドレスの詳細設定でIPを追加
```

IBM Cloud のウェブコンソール上からは、セカンダリ Subnet のうち、どの IP が使われているのか確認する画面はないようです。サーバーのエントリにもプライマリのIP以外は表示されません。自分で管理する必要がありますね。

# その他 TIPS
長くなりました。最後にその他知っておくと良い内容を最後にまとめておきます。

- ポータブルVLAN をの IP を使ったとしても、相応の理由がない限りは、プライマリサブネットのIPは外さずにそのままにつけておきましょう。運用管理の観点からあったほうが良いとされています。
- セカンダリー Subnet/IPs で払い出された IP のセキュリティグループは、エイリアスの元となっているIP（つまりプライマリーサブネットのIP)のものが適用されます。セカンダリのサブネットのIPに個別には適用できません。
- VLAN 同士を通信させるには以下を参考にしてください

[VLAN スパンニング](https://cloud.ibm.com/docs/vlans?topic=vlans-vlan-spanning&locale=ja)
[IBM Cloud 上の Virtual Routing and Forwarding](https://cloud.ibm.com/docs/direct-link?topic=direct-link-overview-of-virtual-routing-and-forwarding-vrf-on-ibm-cloud&locale=ja)