Amazon VPCでの IPv6利用に向けた はじめの一歩/first-step-towards-using-ipv6-in-amazon-vpc
by
YukihiroChiba
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Amazon VPCでの IPv6利⽤に向けた はじめの⼀歩 2024.7.9 AWS事業本部 千葉幸宏(チバユキ)
Slide 2
Slide 2 text
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 2 お願い
Slide 3
Slide 3 text
0.このセッションは何? 〜セッションの概要をご説明〜 3
Slide 4
Slide 4 text
「これからIPv6使っていきたい」 4 このセッションは、 Amazon VPCでこれからIPv6を使っていきたい⽅のために、 ⼤まかな勘所を押さえることを⽬的としています
Slide 5
Slide 5 text
「これからIPv6使っていきたい」 5 このセッションは、 Amazon VPCでこれからIPv6を使っていきたい⽅のために、 ⼤まかな勘所を押さえることを⽬的としています とあるきっかけで 増えているのでは?
Slide 6
Slide 6 text
きっかけはパブリックIPv4の料⾦体系変更 6 IPv6の利⽤に関⼼が集まっているであろう背景として、 パブリックIPv4アドレスの料⾦体系変更があります。
Slide 7
Slide 7 text
きっかけはパブリックIPv4の料⾦体系変更 7 IPv6の利⽤に関⼼が集まっているであろう背景として、 パブリックIPv4アドレスの料⾦体系変更があります。 ● 2023年7⽉に発表、2024年2⽉に新料⾦体系スタート ● 変更点の概要 ○ 前👈:未使⽤のパブリックIPv4アドレスが課⾦対象 ○ 後👉:使⽤中のパブリックIPv4アドレスも課⾦対象
Slide 8
Slide 8 text
きっかけはパブリックIPv4の料⾦体系変更 8 IPv6の利⽤に関⼼が集まっているであろう背景として、 パブリックIPv4アドレスの料⾦体系変更があります。 ● 2023年7⽉に発表、2024年2⽉に新料⾦体系スタート ● 変更点の概要 ○ 前👈:未使⽤のパブリックIPv4アドレスが課⾦対象 ○ 後👉:使⽤中のパブリックIPv4アドレスも課⾦対象 ● 💰料⾦ ○ 1IPあたり0.005 USD/時間 ○ ひと⽉(24時間*30⽇)で3.6 USD ○ 1ドル=160円計算で約580円
Slide 9
Slide 9 text
きっかけはパブリックIPv4の料⾦体系変更 9 パブリックIPv4アドレスの利⽤数を減らすための対応案 ● パブリックEC2のNAT Gateway配下への集約 ● 複数のALBの単⼀ALBへの集約 ● …… ● IPv6アドレスへの置き換え IPv6 on VPCで 何ができて何ができないのか? を押さえましょう
Slide 10
Slide 10 text
おことわり 10 ● 📝「IPアドレス」のことを単に「IP」と呼ぶことがあります ● 📝 情報の正確さより分かりやすさを優先し、細部を丸めた表 現をすることがあります ○ 「ざっくり」でまとめたり ○ 「正確に⾔えばXXもあるけど〜」を削ったり
Slide 11
Slide 11 text
本⽇のアジェンダ 11 1. IPv6の簡単なおさらい 〜このあとの話の⼟台になる話〜 2. VPCでのIPv6利⽤ 〜VPCやサブネットでの関連付け〜 3. IPv6 on VPCでのゲートウェイ 〜3つのゲートウェイを押さえよう〜 4. IPv6 on VPCへのインバウンド 〜リソースの対応状況を意識しよう〜 5. IPv6 on VPCからのアウトバウンド 〜サービスエンドポイントの対応状況を意識しよう〜 6. EC2でIPv6を使う時のTips 〜細かいあれこれをまとめて〜
Slide 12
Slide 12 text
持ち帰っていただきたいこと 12 ● 👉VPC上でとれるIPv6の構成 ● 👉「IPv6のみ」は結構ハードルが⾼い
Slide 13
Slide 13 text
今⽇話さないこと 13 ● 🙅IPv6そのものの詳細 ● 🙅Amazon VPCとは何か、というそもそもの部分 ● 🙅IPv4と絡めた具体的なアーキテクチャ構成例 💁 聴講者としては「VPCでのIPv4は使ったことあるよ」 という⽅を想定しています
Slide 14
Slide 14 text
本編に⼊る前に⾃⼰紹介 14
Slide 15
Slide 15 text
⾃⼰紹介 15 千葉で す ● 好きなIPv6アドレスは
Slide 16
Slide 16 text
1.IPv6の簡単なおさらい 〜このあとの話の⼟台になる話〜 16
Slide 17
Slide 17 text
⽣成AIに聞いたIPv6の特徴 17 IPv6の特徴を10個あげてください
Slide 18
Slide 18 text
⽣成AIに聞いたIPv6の特徴 18 IPv6の特徴を10個あげてください 1. 128ビットアドレスによる約340澗個の巨⼤なアドレス空間 2. 簡素化されたヘッダ構造による処理効率の向上とオプションヘッダの分離 3. IPsecプロトコル組み込みによる強化されたエンドツーエンドセキュリティ 4. ステートレス⾃動アドレス設定(SLAAC)によるDHCP不要の⾃動設定機能 5. フローラベルフィールドを⽤いた効率的なQoS(Quality of Service)サポート 6. Mobile IPv6によるネットワーク間移動時のシームレスなセッション維持 7. 効率的なグループ通信を実現する改善されたマルチキャスト機能 8. 将来の機能拡張に対応する柔軟な拡張ヘッダの導⼊ 9. エンドポイントのみでのフラグメンテーションによるネットワーク効率の向上 10. グローバルアドレスの豊富さによるNAT(Network Address Translation)の不要化
Slide 19
Slide 19 text
⽣成AIに聞いたIPv6の特徴 19 IPv6の特徴を10個あげてください 1. 128ビットアドレスによる約340澗個の巨⼤なアドレス空間 2. 簡素化されたヘッダ構造による処理効率の向上とオプションヘッダの分離 3. IPsecプロトコル組み込みによる強化されたエンドツーエンドセキュリティ 4. ステートレス⾃動アドレス設定(SLAAC)によるDHCP不要の⾃動設定機能 5. フローラベルフィールドを⽤いた効率的なQoS(Quality of Service)サポート 6. Mobile IPv6によるネットワーク間移動時のシームレスなセッション維持 7. 効率的なグループ通信を実現する改善されたマルチキャスト機能 8. 将来の機能拡張に対応する柔軟な拡張ヘッダの導⼊ 9. エンドポイントのみでのフラグメンテーションによるネットワーク効率の向上 10. グローバルアドレスの豊富さによるNAT(Network Address Translation)の不要化 👇特に注⽬
Slide 20
Slide 20 text
①ここでの「NATが不要」とは? 20 IPv4の 場合 IPv4 on VPCでは、「パブリック」と「プライベート」でIPアドレスが分かれる ここでNAT
Slide 21
Slide 21 text
①ここでの「NATが不要」とは? 21 IPv4の 場合 IPv6 on VPCでは、外部も内部もグローバルユニキャストIPアドレスで通信 IPv6の 場合 NATなし
Slide 22
Slide 22 text
②IPv4とIPv6は互換性がない 22 ● IPv4とIPv6は互換性がないため、直接通信はできません ● VPC上のIPv4、IPv6から⾒て、インバウンド/アウトバウンドの通信それぞれ を考慮する必要があります ● 特定のコンポーネントを挟むことで、異なるIPバージョンと通信可能になる ケースもあります
Slide 23
Slide 23 text
③IPv4とIPv6が同居するデュアルスタック 23 ● 単⼀のコンポーネントにIPv4とIPv6が同居している場合、デュアルスタック と呼ばれることがあります ● デュアルスタック構成においても、IPv4同⼠、IPv6同⼠でしか通信できない原 則は変わりません
Slide 24
Slide 24 text
2.VPCでのIPv6利⽤ 〜VPCやサブネットでの関連付け〜 24
Slide 25
Slide 25 text
VPCでIPv6を使うためにまず関連付け 25 ● ⼤前提として必要なのは、VPCへのIPv6 CIDRブロックの関連付けです ● VPCへのIPv4 CIDRブロックの関連付けは必須(強制)です ● 👉以下のいずれかの構成が可能です ○ IPv4のみ ○ デュアルスタック(IPv4+IPv6) ● 💡IPv6 CIDRブロックは関連付け解除も可能です
Slide 26
Slide 26 text
デュアルスタックVPC内でのサブネット構成 26 ● サブネットごとにCIDR ブロックの関連付けをコントロールできます ● VPCに関連づけられたCIDRブロックより⼩さい範囲で、サブネットごとに関連付 けを⾏います ● 💡デュアルスタックVPC内のサブネットでは、以下のいずれかの構成が可能です ○ IPv4のみ ○ デュアルスタック(IPv4+IPv6) ○ IPv6のみ
Slide 27
Slide 27 text
デュアルスタックVPC内でのサブネット構成 27 ● デュアルスタックサブネットに関連づけられたCIDRブロックの関連付け解除 ○ IPv4 CIDRブロック…できない ○ IPv6 CIDRブロック…できる ● 👉「IPv4のみ」で作成されたサブネットを、後から「IPv6のみ」にできません
Slide 28
Slide 28 text
CIDRブロックのIP範囲 28 ● 関連付けられるIPv6 CIDRブロックの基本的なサイズは以下です ○ VPC…/56(IPAMを利⽤すれば/44 〜 /60 (/4単位)を指定可能) ○ サブネット…/64(VPCより⼩さい範囲で、/44 〜 /64 (/4単位)で指定可能) ● 💡2023年11⽉のアップデート前は、上記の「基本サイズ」固定でした ○ 特に要件がなければ、気にせず基本サイズを利⽤して問題ありません
Slide 29
Slide 29 text
CIDRブロックのIP範囲(サイズの⽬安) 29 ● 関連付けられるIPv6 CIDRブロックの基本的なサイズは以下です ○ VPC…/56(IPAMを利⽤すれば/44 〜 /60 (/4単位)を指定可能) ○ サブネット…/64(VPCより⼩さい範囲で、/44 〜 /64 (/4単位)で指定可能) ● 💡2023年11⽉のアップデート前は、上記の「基本サイズ」固定でした ○ 特に要件がなければ、気にせず基本サイズを利⽤して問題ありません 実質無限✨
Slide 30
Slide 30 text
各種ネットワークリソースでの設定 30 ● IPv6 CIDRブロックの関連付けが有効なVPC上では、各種ネットワークリソースで IPv6向けの設定が必要です ● デフォルト的な設定(例:ルートテーブルのローカルルート)は⾃動で反映されま すが、要件に応じて必要な設定を追加する必要があります ▲ルートテーブルにIPv6 CIDRのルートが登録されている例 ● リソースの例 ○ セキュリティグループ ○ ネットワークACL ○ ルートテーブル ○ マネージドプレフィックス リスト ○ ……
Slide 31
Slide 31 text
3.IPv6 on VPCでのゲートウェイ 〜3つのゲートウェイを押さえよう〜 31
Slide 32
Slide 32 text
IPv6で使うゲートウェイ 32 ● ✍以下の3つのゲートウェイを押さえてください ○ インターネットゲートウェイ ○ Egress-Only インターネットゲートウェイ ○ NAT ゲートウェイ
Slide 33
Slide 33 text
IPv6で使うゲートウェイ 33 ● ✍以下の3つのゲートウェイを押さえてください ○ インターネットゲートウェイ ○ Egress-Only インターネットゲートウェイ ○ NAT ゲートウェイ IPv6特有か ⽤途 インターネットゲートウェイ いいえ IPv6でのインターネットとの双⽅向通信 Egress-Only インターネットゲートウェイ はい IPv6でのインターネットへの⽚⽅向通信 NAT ゲートウェイ いいえ IPv6クライアントからIPv4への通信時のNAT IPv6特有でないゲートウェイはIPv4で利⽤するものと同⼀。 ゲートウェイで特別に機能を有効化する必要もない
Slide 34
Slide 34 text
2種のインターネットゲートウェイ 34 ● インターネット上の対向環境のIPv6との通信を実現します ○ インターネットゲートウェイは双⽅向 ○ Egress-Only インターネットゲートウェイはアウトバウンド⽅向のみ
Slide 35
Slide 35 text
2種のインターネットゲートウェイ 35 ● パブリックIPv4アドレスなしでインターネットと通信可能 ● 👉対向がIPv6アドレスであれば、この構成を取り⼊れることで料⾦節約可能です ☺ 💰 ☺ 💰
Slide 36
Slide 36 text
NAT ゲートウェイ 36 ● VPC上のIPv6クライアントから対向環境のIPv4に接続する際に利⽤します ● ゲートウェイのNAT64機能により、IPv6からIPv4への変換が⾏われます ● DNS64とセットで⽤います ○ DNS64をサブネットで有効しておく ○ Route 53 ResolverはIPv4のレコードに固定のプレフィックスをつけてIPv6として合成し返却
Slide 37
Slide 37 text
4.IPv6 on VPCへのインバウンド 〜リソースの対応状況を意識しよう〜 37
Slide 38
Slide 38 text
インバウンドに必要なこと 38 ● VPC上のIPv6コンポーネントへのインターネット経由でのアクセスに必要なこと ○ クライアント側でIPv6に対応している ○ インターネットゲートウェイ向けのルートがある ○ (ドメイン名でアクセスする場合)AAAAクァッドエー レコードが登録されている
Slide 39
Slide 39 text
主なAWSリソースでのIPv6対応状況 39 ● 主要なリソースのIPv6対応状況は以下の通りです ○ EC2:IPv6のみにも対応 ○ ALB:パブリックIPv4なしのデュアルスタックにも対応 ○ NLB:⼀部条件付きでデュアルスタック対応 ■ インターネット向けであり、TCP or TLSリスナー ○ CloudFront:インターネット⾯はデュアルスタック対応 ■ オリジンへのアクセスはIPv6⾮対応 ○ Global Accelerator:⼀部条件付きでデュアルスタック対応 ■ ターゲットがデュアルスタックALB or NLB
Slide 40
Slide 40 text
外部に提供しているサービスでIPv6のみは難しい 40 ● VPC上のリソースで外部向けのサービスを公開している場合、「IPv6のみ」で構 成するのはハードルが⾼いです ○ クライアント側でのIPv6対応が必須になる ○ 「IPv6のみ」に対応している主要リソースがEC2のみ ● 👉ある程度のパブリックIPv4アドレスの共存は必要
Slide 41
Slide 41 text
5.IPv6 on VPCからのアウトバウンド 〜サービスエンドポイントの対応状況を意識しよう〜 41
Slide 42
Slide 42 text
アウトバウンドに必要なこと 42 ● VPC上のIPv6コンポーネントからインターネットへのアクセスに必要なこと ○ 通信先がIPv6で、以下いずれかのゲートウェイがある ■ インターネットゲートウェイ ■ Egress-Only インターネットゲートウェイ ○ 通信先がIPv4で、DNS64/NAT64が利⽤可能である
Slide 43
Slide 43 text
そして…… ⼀番注意して欲しいこと 43
Slide 44
Slide 44 text
AWSサービスエンドポイントの対応状況に注意 44 IPv6に対応している AWSサービス、 あまり多くない。
Slide 45
Slide 45 text
AWSサービスエンドポイントの対応状況に注意 45 ● 2024年7⽉現在、IPv6をサポートするパブリックサービスエンド ポイントは20個くらいです ● IPv6をサポートするVPCエンドポイントは4個くらいです https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html 例えばSystems Managerはパブリックサービ スエンドポイントとしてIPv6をサポートして いないので、IPv6のみのEC2インスタンスで はSSMエージェントが使えません 😭
Slide 46
Slide 46 text
AWSサービスエンドポイントの対応状況に注意 46 ● IPv6をサポートするパブリックサービスエンドポイントでも、考え⽅が分 かれるものがあります ○ 1⃣デュアルスタックエンドポイントのみを持つもの ○ 2⃣シングルスタックエンドポイント(IPv4)とデュアルスタックエンドポ イントの両⽅を持つもの 1⃣ 2⃣ https://ec2.us-west-2. api.aws 例
Slide 47
Slide 47 text
AWSサービスエンドポイントの対応状況に注意 47 ● EC2インスタンスからAWS CLIやAWS SDKでプログラムアクセスする際、 IPv6のみだと困るケースがあります ○ そもそもサービスがIPv6に対応していない(NAT64などが必要) ○ 明⽰的にエンドポイントの指定が必要(デフォルトでない) ○ リージョンによってIPv6対応状況が違うことがある
Slide 48
Slide 48 text
AWSサービスエンドポイントの対応状況に注意 48 ● EC2インスタンスからAWS CLIやAWS SDKでプログラムアクセスする際、 IPv6のみだと困るケースがあります ○ そもそもサービスがIPv6に対応していない(NAT64などが必要) ○ 明⽰的にエンドポイントの指定が必要(デフォルトでない) ○ リージョンによってIPv6対応状況が違うことがある 👉AWSサービスへのアクセスが多い場合、 EC2にはIPv4も共存させる必要があります
Slide 49
Slide 49 text
6.EC2でIPv6を使う時のTips 〜細かいあれこれをまとめて〜 49
Slide 50
Slide 50 text
EC2でのIPv6あれこれ 50 ● 💡EC2インスタンスへのIPv6割り当て ○ サブネットの「⾃動割り当て」属性によりインスタンス作成 時に⾃動割り当てできます ○ ⼿動での割り当てもできます ● 💡IPv6⾮対応のインスタンスタイプ ○ マネジメントコンソールの「インスタンスタイプ」から確認 できます ○ 2024年7⽉時点で⾮対応 ○ 👉t1,c1,m1,m2,m3
Slide 51
Slide 51 text
EC2でのIPv6あれこれ 51 ● 💡OSでのIPv6認識 ○ EC2インスタンスにIPv6を割り当てれば、現⾏のOSであれば ⾃動的にOSでもIPv6が認識されます ○ OSが古い場合、OS上で別途有効化が必要な場合があります ● 💡デュアルスタックにおける優先度 ○ OSによるが、デフォルトではIPv6が優先されるケースが多い ○ OS上で明⽰的に優先度を設定も可能
Slide 52
Slide 52 text
ふりかえり 52
Slide 53
Slide 53 text
ふりかえり 53 1. IPv6の簡単なおさらい - IPv6はインターネット疎通⽤のNAT不要 - IPv6とIPv4は直接通信できない - IPv6とIPv4の同居をデュアルスタックと呼ぶ 2. VPCでのIPv6利⽤ - VPCやサブネットにIPv6 CIDRブロックを関連付ける - VPCではIPv6のみは不可、サブネットでは可能 - IPv6 CIDRブロックめっちゃ広い 3. IPv6 on VPCでのゲートウェイ - 2種のインターネットゲートウェイで双⽅向、⽚⽅向のインターネット疎通 - NAT64/DNS64でIPv6クライアントからIPv4に通信可能
Slide 54
Slide 54 text
ふりかえり 54 4. IPv6 on VPCへのインバウンド - クライアント側でIPv6に対応している必要がある - 「IPv6のみ」に対応しているサービスは少ない 5. IPv6 on VPCからのアウトバウンド - AWSサービスエンドポイントのIPv6対応状況を意識する必要がある - サービスによっては専⽤のエンドポイントを使⽤する必要がある 6. EC2でIPv6を使う時のTips - 新し⽬のOSであれば⾃動でIPv6が認識される - IPv4/v6の優先度はOS側で設定可能
Slide 55
Slide 55 text
まとめ 55 ● IPv6のみでシステム全体を構成するのはハードルが⾼い ● できるところからIPv6を⼩さくはじめるとよい
Slide 56
Slide 56 text
No content
Slide 57
Slide 57 text
No content