注目の記事

[新機能] VPCのCIDRが拡張可能になりました!IPアドレス範囲を追加可能です!

2017.08.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、菊池です。

衝撃の新機能です。VPCに割り当てるCIDRが拡張可能になりました!

「一度作成したVPCのCIDRは変更できない」という常識は過去のものになりました。この新機能によりVPCがスケール可能になりますので、EC2、RDS、ELBといったVPC内リソースが想定以上に拡張していくケースにも対応できます。また、あらかじめ作成時に巨大なCIDRを確保する、といったことも必要なくなることでしょう。

VPC CIDRの拡張

VPC作成時に割り当てるCIDRブロックがプライマリCIDRとなり、あとからセカンダリCIDRを追加可能になりました。

セカンダリCIDRブロックを割り当てることで、そのCIDRがルートテーブルに自動で追加されます。そして、セカンダリCIDRの範囲を使ったサブネットが新規に作成可能になります。

vpc-expand-001

拡張の制限事項

拡張にあたっては、制限事項がありますのでいくつか紹介します。

  • 追加可能な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ブロックは追加できません。

詳細は公式ドキュメントを参照ください。

やってみた

実際に既存のVPCにCIDRを追加してみます。

マネジメントコンソールから、VPCを選択した状態で[アクション] -> [CIDRの編集]に進みます。

vpc-expand-002

IPv4 CIDRが追加可能になっています。

vpc-expand-003

10.1.0.0/16と10.2.0.0/16をセカンダリCIDRとして追加しました。

vpc-expand-007

VPCをみてみると、セカンダリCIDRを含め、3つのCIDRが割り当てされています

vpc-expand-006

VPCにあったルートテーブルを確認すると、セカンダリCIDRが通信先に自動で追加されています。

vpc-expand-008

セカンダリCIDRの範囲を使って、新規にサブネットの作成も可能です。

vpc-expand-009

最後に

今回のアップデートで、VPCのCIDRが拡張可能になりました。

サービスの拡大などでインスタンス数が増加し、当初割り当てたVPC CIDRで不足してきたケースなどでは非常に助かる機能です。

「作成時に割り当てたVPC CIDRは変更できない」というのがこれまでの設計の常識でしたが、これからは安心してサービスを拡張していくことが可能になりそうです。