[新機能] VPCのCIDRが拡張可能になりました!IPアドレス範囲を追加可能です!
こんにちは、菊池です。
衝撃の新機能です。VPCに割り当てるCIDRが拡張可能になりました!
「一度作成したVPCのCIDRは変更できない」という常識は過去のものになりました。この新機能によりVPCがスケール可能になりますので、EC2、RDS、ELBといったVPC内リソースが想定以上に拡張していくケースにも対応できます。また、あらかじめ作成時に巨大なCIDRを確保する、といったことも必要なくなることでしょう。
VPC CIDRの拡張
VPC作成時に割り当てるCIDRブロックがプライマリCIDRとなり、あとからセカンダリCIDRを追加可能になりました。
セカンダリCIDRブロックを割り当てることで、そのCIDRがルートテーブルに自動で追加されます。そして、セカンダリCIDRの範囲を使ったサブネットが新規に作成可能になります。
拡張の制限事項
拡張にあたっては、制限事項がありますのでいくつか紹介します。
- 追加可能なCIDRのサイズは、/28から/16の間です。
- すでに割り当てているCIDRと重複する範囲で割り当てはできません。
- ピアリング接続があるVPCの場合、ピアリングしたVPCと重複するCIDRは割り当てできません。
- プライマリCIDRの範囲によって、割り当て可能なセカンダリCIDRの範囲は制限されます。
- 例えば、プライマリCIDRの範囲が10.0.0.0/8の場合、
- 172.16.0.0/12および192.168.0.0/16の範囲は割り当てできません。(他のRFC 1918の範囲は追加不可)
- プライマリCIDRが10.0.0.0/15の範囲内にある場合、10.0.0.0/16の範囲のCIDRブロックは追加できません。
- 198.19.0.0/16の範囲のCIDRブロックは追加できません。
- 例えば、プライマリCIDRの範囲が10.0.0.0/8の場合、
詳細は公式ドキュメントを参照ください。
やってみた
実際に既存のVPCにCIDRを追加してみます。
マネジメントコンソールから、VPCを選択した状態で[アクション] -> [CIDRの編集]に進みます。
IPv4 CIDRが追加可能になっています。
10.1.0.0/16と10.2.0.0/16をセカンダリCIDRとして追加しました。
VPCをみてみると、セカンダリCIDRを含め、3つのCIDRが割り当てされています
VPCにあったルートテーブルを確認すると、セカンダリCIDRが通信先に自動で追加されています。
セカンダリCIDRの範囲を使って、新規にサブネットの作成も可能です。
最後に
今回のアップデートで、VPCのCIDRが拡張可能になりました。
サービスの拡大などでインスタンス数が増加し、当初割り当てたVPC CIDRで不足してきたケースなどでは非常に助かる機能です。
「作成時に割り当てたVPC CIDRは変更できない」というのがこれまでの設計の常識でしたが、これからは安心してサービスを拡張していくことが可能になりそうです。