IPアドレスが足りない!VPCの「セカンダリCIDR」で拡張する賢い方法
みなさん、こんにちは!日夜クラウドインフラの迷宮を駆け巡っているSREです。
クラウドでシステムを構築していると、避けては通れないのが「IPアドレス枯渇」の悩みです。「最初はこれくらいの規模で十分だろう」と思って決めたサブネットが、サービスの急成長やコンテナ数の爆発的増加によって、あっという間にパンパンになってしまう……。現場では、あるあるどころか「日常茶飯事」です。
今回は、そんな時に登場する救世主「セカンダリCIDRブロック」について、郵便配達の仕組みに例えながら、現場の勘所を交えてお話しします。
—
1. VPCは「巨大な私書箱」、サブネットは「配達エリア」
まずは、VPCのIPアドレス管理をイメージしてみましょう。
VPCは「ひとつの巨大な住所(IPアドレス空間)」です。そして、その中で細かく区切られたサブネットは、郵便局の「配達エリア」だと思ってください。
- プライマリCIDR: 最初から確保している「メインの配達エリア」。
- サブネット: その中でさらに細分化された「丁目」や「番地」。
ここでのルールは、「一度決めたエリア(CIDR)は、基本的には変更できない」ということです。もし、メインの配達エリアがいっぱいになったらどうしますか? 郵便局を移転させるのは大変ですよね。そこで使うのが「隣の土地を買い足す」ような仕組み、それがセカンダリCIDRです。
2. セカンダリCIDRって何をしているの?
セカンダリCIDRを追加するということは、VPCという大きな地図の中に、別のエリアを「継ぎ足す」作業です。
ただし、注意点がひとつあります。「既存のサブネットは、プライマリCIDRの中にしか作れない」というルールです。
つまり、セカンダリCIDRを追加しても、勝手に既存のサブネットが広がるわけではありません。「セカンダリCIDRの範囲を使った、新しいサブネットを作る」必要があります。
実践:AWS CLIでセカンダリCIDRを追加する
もし皆さんがAWSの環境でCIDRを追加するなら、こんなコマンドを叩くことになります。
# VPCに新しいCIDRブロックを追加するコマンド
aws ec2 associate-vpc-cidr-block \
--vpc-id vpc-0123456789abcdef0 \
--cidr-block 100.64.0.0/16 # 追加したい新しい広い住所範囲
このコマンドを打つと、VPCは「お、隣の土地もウチの敷地になったな!」と認識します。あとは、この新しい範囲を使ってサブネットを切るだけです。
3. 「マルチCIDR」を設計する時の注意点
ここからがSREの腕の見せ所です。セカンダリCIDRを使う際に、絶対に忘れてはいけないポイントが3つあります。
① 既存のCIDRと「被らない」ようにする
当たり前ですが、すでに使っているエリア(プライマリCIDR)と、追加するエリア(セカンダリCIDR)が重なってはいけません。郵便屋さんが「どっちの住所に届ければいいの?」と混乱してしまいますよね。
② ルーティングテーブルの「広さ」に注意
VPC内のルーティングは、基本的に「最も範囲が狭いもの(具体的な住所)」が優先されますが、セカンダリCIDRを導入すると、ルートテーブルの管理が少し複雑になります。
- プライマリ:
10.0.0.0/16 - セカンダリ:
100.64.0.0/16
これらを行き来させる場合、それぞれのサブネットがどのゲートウェイを向いているか、ルートテーブルを丁寧に設定してあげてください。
③ セキュリティグループとNACLの範囲
意外と忘れがちなのが、セキュリティグループ(ファイアウォール)の設定です。
「新しいサブネットを作ったけど、アプリが繋がらない!」という原因の多くは、セキュリティグループの許可ルールが、プライマリCIDRしか対象にしていないからです。
# セキュリティグループ設定例
許可タイプ: インバウンド
プロトコル: TCP
ポート: 80
ソース: 10.0.0.0/16 <-- ここにセカンダリCIDRの範囲も追加する必要がある!
新しいサブネットを作ったら、必ず「許可リスト」にその新しい住所を追加するのを忘れないでくださいね。
4. なぜ「セカンダリ」が必要なのか?現場のリアル
そもそも、なぜ最初から広いCIDRを取っておかないのか?という疑問を持つかもしれません。
現場の設計では、「オンプレミスとの接続」が鍵になります。既存のデータセンターとVPNや専用線で繋ぐ際、相手先とIPが被ると通信ができません。だから、最初は小さく切り、必要に応じて「他の場所と被らない範囲」を継ぎ足していく、という泥臭い工夫が必要になるのです。
まとめ:一歩ずつ慎重に
セカンダリCIDRの追加は、VPCという「家の増築」のようなもの。基礎工事(CIDRの追加)をしてから、新しい部屋(サブネット)を作り、最後に電気の配線(ルートテーブルやセキュリティグループ)を整える。この手順を踏めば、怖くはありません。
最初は難しく感じるかもしれませんが、まずは「郵便配達エリアを広げているんだな」というイメージを持って、小さな検証環境から試してみてください。
皆さんのクラウドインフラが、枯渇の恐怖から解放されて、より広々とした快適な場所になりますように!また次回の記事でお会いしましょう!
コメント