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

_再演_IPv6_VPC_の実装パターンをいくつか.pdf

Avatar for hmatsu47 hmatsu47 PRO
June 11, 2026
0

 _再演_IPv6_VPC_の実装パターンをいくつか.pdf

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 などにも対応