Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【再演】IPv6 VPC の実装パターンをいくつか

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for hmatsu47 hmatsu47 PRO
June 11, 2026
13

【再演】IPv6 VPC の実装パターンをいくつか

Avatar for hmatsu47

hmatsu47 PRO

June 11, 2026

Transcript

  1. 自己紹介 松久裕保(@hmatsu47) • https://qiita.com/hmatsu47 • 現在: ◦ 名古屋で Web インフラのお守り係をしています

    ◦ SRE チームに所属しつつ技術検証の支援をしています ◦ 今年はカンファレンス・勉強会では DB 以外の話メインで! 2
  2. おことわり(1/2) • これは BuriKaigi 2026(1/9)で話した「AWS で試して 学ぶ IPv6」というセッションのダイジェストに、 JAWS-UG 横浜の

    re:Invent 2025 re:Cap Network 回 (1/24)で話した IPv6 絡みの話を一部加筆する形で再構 成したもの(2/1 に JAWS-UG 茨城 × CDK 支部コラボ回で発表) をベースに、 4
  3. おしながき • IP アドレス(グローバルアドレス)利用の現況について • ①IPv6 対応前の IPv4 環境について(初期状態) •

    ②サーバー環境の IPv6 対応(デュアルスタック化) • ③クライアント環境の IPv6 対応(デュアルスタック編) • ④クライアント環境の IPv6 対応(NAT64/DNS64 編) • ⑤サーバー環境のターゲットを IPv6(ULA)化 7 別資料(Zenn)→
  4. 新規割り当て用 IPv4 アドレスブロックはほぼ枯渇 9 • RIR(地域インターネットレジストリ)の IPv4 アドレス在庫 • AFRINIC(アフリカ地域)

    ・APNIC(アジア太平洋地域)を 除くと利用可能(Available)な アドレスの在庫はすでに 0 • AFRINIC・APNIC 合計で残り 約 395 万個(2025Q4 時点) 出典 : https://www.nro.net/wp-content/uploads/NRO-Number-Resource-Status-Report-Q4-2025-FINAL.pdf
  5. 2024/2 〜 AWS パブリック IPv4 アドレス有料化 • すべてのパブリック IPv4 アドレスの利用に対して

    1 IP アドレスあたり 0.005 USD/hour が課金されるように ◦ 2024 年 2 月 1 日より ◦ https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-cha rge-public-ip-insights/ ◦ CloudFront などはサービス本体の料金以外に課金なし 10
  6. IPv6 アドレスの利用状況は? 11 • 見えないところで利用が進んでいる(日本のケース) • 2023 年に 50% を超えた

    • ここ 2 年で IPv6 Capable が 60% に迫っている • モバイルに限ればもっと進ん でいる データの出典 : APNIC Labs Measurements and Data / https://labs.apnic.net/measurements/ IPv6 Capable は「IPv6 に到達できた端末の割合」・IPv6 Preferred は「デュアルスタックで IPv6 が選ばれた割合」
  7. 実際のところは 12 • 設備構成はもっと IPv6 対応になっている(はず) ◦ 回線も機器もほとんど IPv6 に対応

    ▪ 家庭の固定回線は知らないうちに IPv6 で通信可能になっていたり ▪ 企業の固定回線は境界で IPv6 を止めているケースが割とあったり • AWS 上では「Route 53 に AAAA(のエイリアス)レコード を登録していないだけ」のケースも ◦ もったいない…
  8. IPv4 VPC 環境(初期状態) 14 • 2 種類の VPC 環境を作成 ◦

    サーバー用 VPC 環境 ▪ VPC・ALB・EC2(Web サーバー)など ◦ クライアント用 VPC 環境 ▪ VPC・VPC エンドポイント ・EC2(クライアント)な ど
  9. この構成のねらい • ALB をデュアルスタック化することで、インターネット から IPv4・IPv6 の両方でアクセス可能にする ◦ Web サーバーについては

    IPv4 のまま変更なし ◦ ただしアプリケーション側での IPv6 アドレス対応は必要 ▪ 画面表示、データ保存領域、アドレスの比較など 18
  10. ALB のデュアルスタック化 20 • IPv6 は IPv4 とは互換性がない ◦ IPv6

    と IPv4 は直接通信を行うことができない • 両方が動作する構成=デュアルスタック ◦ ALB をデュアルスタック化しておけばターゲット Web サーバー を IPv6 対応にする必要はない ▪ ただしアプリケーション側の対応は必要(後述)
  11. IPv6 アドレスの構成 21 • 全 128 ビット・16 ビットずつ「:」区切り・十六進表記 ◦ 前半

    64 ビットをサブネットプレフィックス、後半 64 ビットを インターフェース識別子(IID)と呼ぶ ◦ 長くなるので省略ルールがある ▪ 16 ビット区切りのフィールドの先頭で連続する 0 は省略可 ▪ 連続する 16 ビットフィールドの 0 は「::」で省略可(1 か所のみ) • 例:2001:db8::2:0:1/64
  12. IPv6 グローバルユニキャストアドレス(GUA) 22 • 全世界で一意に割り当てられたアドレス ◦ IPv4 のグローバルアドレス相当 • IPv4

    のプライベートアドレスに類似のアドレスとして、 ユニークローカルユニキャストアドレス(ULA)がある ◦ ただし IPv6 ULA と GUA の間での NAT は非推奨 ▪ AWS の NAT ゲートウェイでも非サポート ▪ インターネットアクセスが必要なら(本来は)GUA を割り当てる必要がある
  13. アプリケーション側で必要な対応 23 • 文字数が増える分の表示領域・データサイズ調整が必要 ◦ IPv4 ならサブネット長なしで最大 15 文字、ありで最大 18

    文字 ◦ IPv6 ではサブネット長なしで最大 39 文字、ありで最大 43 文字 ◦ DB で IP アドレス専用のデータ型を使わない場合も注意 • 文字列として IPv6 を比較する場合、一意な表記(または 省略なしの表記)にしないと正しく比較できない ◦ RFC 5952 で一意に表記する方法が示されている
  14. クライアント環境のデュアルスタック化 • クライアント自身が IPv4・IPv6 それぞれの通信スタック を使って相手のホストと通信する ◦ 外部の IPv4 ホスト宛ての通信は

    IPv4 デフォルトルートで NAT ゲートウェイに流す ◦ 外部の IPv6 ホスト宛ての通信は IPv6 デフォルトルートで Egress Only インターネットゲートウェイ(EIGW)に流す ▪ Egress Only インターネットゲートウェイで外からアクセスできないように 27
  15. IPv4・IPv6 のどちらを優先する? • 現在は「IPv4・IPv6 の両方(ほぼ)同時にアクセスを試 行して、最初に応答したほうを選択する」仕組みが主流 ◦ Happy Eyeballs ▪

    現在は RFC 8305 によるバージョン 2 が広く使われる ▪ 実質的に IPv6 が優先される ▪ QUIC 対応を意図したバージョン 3 の策定も進行中 ◦ ただしこれが常に適用されるわけではない点に注意 ▪ たとえば NLB → ALB の通信は現状 IPv4 が優先される 28
  16. NAT64/DNS64 での通信 • EC2(クライアント)から Route 53 VPC Resolver に正引 き

    ◦ AAAA レコード(IPv6 用)→そのまま IPv6 アドレスを返す ◦ A レコードのみ→「64:ff9b::」に IPv4 アドレスを合成して返す • ルートテーブルにしたがって通信を各ゲートウェイへ ◦ NAT ゲートウェイで「64:ff9b」で始まるアドレス宛ての通信を IPv4 に変換して宛先へ 32
  17. この構成のねらい • ALB のターゲットを IPv6 専用プライベートサブネットに する ◦ Web サーバーから不要なインターネットアクセスをさせないため

    IPv6 アドレスとしてユニークローカルユニキャストアドレス (ULA)を割り当てる ◦ ULA を割り当てるため IP Address Manager(IPAM)を使う 34
  18. IP Address Manager(IPAM) 36 • VPC の IP アドレスを計画・追跡・監視しやすくする機能 ◦

    機能例 ▪ 組織内の IP アドレス割り当ての履歴を表示する ▪ 特定のビジネスルールを使用して CIDR を VPC に自動的に割り当てる ▪ ネットワーク接続に関する問題のトラブルシューティングを行う ▪ 持ち込み IP(BYOIP)アドレスのリージョン間・アカウント間共有を有効に する ◦ https://docs.aws.amazon.com/ja_jp/vpc/latest/ipam/what-it-is-ipam.html
  19. IPAM からプライベートなアドレスを割り当てる 37 • IPAM から割り当て可能なプライベート「扱い」の IPv6 アドレスは 2 種類

    ◦ IPv6 ULA(ユニークローカルユニキャストアドレス) ◦ 持ち込み IPv6 GUA(グローバルユニキャストアドレス) ▪ プライベート GUA CIDR を有効化するとプライベート扱いに ▪ インターネットにルート広告しないことで外部との直接アクセスを制限
  20. プライベートなアドレスを割り当てる場合の注意 38 • これらのアドレスを使って IPv6 専用サブネットを作成す ると、EIGW / NAT ゲートウェイ経由のインターネットア

    クセスはできない ◦ AWS のサービスは NAT66 / NPTv6 には(今のところは)非対応 ▪ Web サーバーから外部の API にアクセスしたいケースなどでアクセス不可 ▪ AWS のサービスへのアクセスにも NAT ゲートウェイ等は使えない →必要なら VPC に IPv6 の Private なエンドポイントを個々に作成する
  21. NAT66 / NPTv6 39 • IPv6 to IPv6 の NAT

    ◦ IPv6 の本来の設計思想では IPv6 アドレス間の NAT は非推奨 ◦ ただし IPv4 で NAT をセキュリティ機能的な扱いで利用してきた 経緯から、ユーザーのニーズはある ◦ 一部妥協する形で「IPv6 のサブネットプレフィックスだけ置換 する」NPTv6 が実験的 RFC(6296)として規定された ▪ Linux に実装されているのは NPTv6
  22. どうしても NAT66 / NPTv6 を使いたい場合は 40 • NAT66 / NPTv6

    対応アプライアンスを配置 ◦ https://aws.amazon.com/jp/blogs/news/design-and-build-ipv6-internet-inspection-a rchitectures-on-aws ▪ 当然構築・運用管理にコストが掛かる
  23. ハンズオン 42 • AWS IPv6 Hands On (japanese) ◦ https://catalog.us-east-1.prod.workshops.aws/workshops/025ae486-39d3

    -4de4-a12b-049970983d18/ja-JP ▪ 内容は基礎的なもの • Get hands-on with IPv6 ◦ https://catalog.workshops.aws/ipv6-on-aws/en-US ▪ EKS などにも対応