Alibaba CloudでVSwitchを作る

Alibaba CloudのVSwitchは、AWSにおけるSubnet的なものと考えれば良さそうです。

1本目の記事がVPC作成で、2本目でSubnet作成だけ。

我ながら何と地味なことか。

コンソールでVSwitchを作成する

コンソールでのVSwitch作成は、VPC作成時に一緒に作ってしまうこともできます。

あとは下記画面のように後から追加作成することもできます。

f:id:n_watanabe:20181115225820p:plain

以上で今回は終わってもいいのですが、もうちょっと見ていきます。

CreateVSwitchの説明を読む

aliyunコマンドのhelpについて

aliyun vpc CreateVSwitch で作成できるようです。

ところで、aliyunコマンドは適当なところにhelpを入れると説明が出力されます。

~$ aliyun vpc help CreateVSwitch
Alibaba Cloud Command Line Interface Version 3.0.2

Product: Vpc (Virtual Private Cloud)
Link:    https://help.aliyun.com/api/vpc/CreateVSwitch.html

Parameters:
  --ZoneId      String  Required
  --CidrBlock   String  Required
  --VpcId       String  Required
  --VSwitchName String  Optional
  --Description String  Optional
  --ClientToken String  Optional

パラメータの中でどれがRequiredで、どれがOptionalがわかりやすいですね。

APIドキュメント(中国語)

CLIの説明ページではないですが、APIの説明ページへのリンクも表示されています。

中国語ですが、重要なこと書いてあるので、日本語にしておきます。

> 每个VPC内的交换机数量不能超过24个。
1つのVPC内のVSwitchは24個を超えることはできない。
> 每个交换机网段的第1个和最后3个IP地址为系统保留地址。以192.168.1.0/24为例,192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255这些地址是系统保留地址。
Switchの先頭アドレスと最後の3つのアドレスはシステムによって予約されている。
192.168.1.0/24を例にとると、192.168.1.0、192.168.1.253、192.168.1.254、192.168.1.255はシステムで予約されている。
> 交换机下的云产品实例数量不允许超过VPC剩余的可用云产品实例数量(15000减去当前云产品实例数量)。
Switch配下のクラウド製品のインスタンスの数は、VPCの残りの利用可能なクラウド製品のインスタンスの数を超えてはならない(15000から既にあるインスタンスの数を引いた数)。

少し定義がぼんやりしているように感じました。

云产品实例はECSだけのことなのか、それとも他のサービスも含むのか、わかりませんでした。

もっとも、普通は1つのVPCで15000使い切ることないと思うので、問題になることほぼ無いでしょう。

> 一个云产品实例只能属于一个交换机。
1台のクラウドインスタンスは一つのVSwitchにのみ所属できる。

AWSは1台のインスタンスに異なるSubnetのENIをアタッチできますが、Alibaba Cloudではできないのかもしれません。

AWSでも通常は一つのSubnetだけなので問題ないですが、仮想アプライアンスとか使う時に困るかもしれません。

(3rdパーティ提供の仮想アプライアンス等あるのかまだ調べてないですが)

> 交换机不支持组播和广播。 交换机创建成功后,网段无法修改。
Switchはマルチキャストとブロードキャストをサポートしない。
Switch作成後はネットワークセグメントを変更できない。

これはAWSと同じですね。

APIドキュメント(日本語)

後から気づいたのですが、実は日本語のドキュメントもありました。

VSwitch の作成 - API リファレンス| Alibaba Cloud ドキュメントセンター

ただ、 現在、クラウドプロダクトインスタンスの数は 10,000 個までです と書いていて、中国語版の15000という数字とは異なりました。

まあ、どちらにせよ大きな数字なんで、普通は問題にならないでしょう。

CLIでVSwitchを作成する

VPCを作成するところからやってみます。

VPC作成

~$ aliyun vpc CreateVpc \
--CidrBlock 10.0.0.0/16 \
--VpcName vpc-practice
{"RequestId":"1FFE2387-5C23-4496-8CFD-CD7C29EE20FD","ResourceGroupId":"rg-acfnwbkqz24vhca","RouteTableId":"vtb-6wevhlhn09uk9x1dd7st3","VpcId":"vpc-6weerrlggnvaopcjeofit","VRouterId":"vrt-6wels8467qfs1207bzrti"}

Zoneの確認

東京リージョンは、ap-northeast-1aの1つだけでした。

~$ aliyun vpc DescribeZones
{"RequestId":"7260630D-53FE-4B13-B8DC-DA34E9579415","Zones":{"Zone":[{"ZoneId":"ap-northeast-1a","LocalName":"亚太东北1 可用区A"}]}}

VSwitch作成

2つ作成してみます。

~$  aliyun vpc CreateVSwitch \
--VpcId vpc-6weerrlggnvaopcjeofit \
--ZoneId ap-northeast-1a \
--VSwitchName TestSwitch01 \
--CidrBlock 10.0.1.0/24
{"RequestId":"3F404B34-5A16-4E6D-85D3-91713E720ED4","VSwitchId":"vsw-6wevz7trx939u9rsyuypi"}
~$ aliyun vpc CreateVSwitch \
--VpcId vpc-6weerrlggnvaopcjeofit \
--ZoneId ap-northeast-1a \
--VSwitchName TestSwitch02 \
--CidrBlock 10.0.2.0/24
{"RequestId":"7B1D6D1B-6CFE-418F-B2B3-DC89CAA00DDB","VSwitchId":"vsw-6we7kbj16aa913a6di4on"}