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

【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知ってお...

【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと

Shota Shiratori

April 25, 2024
Tweet

More Decks by Shota Shiratori

Other Decks in Technology

Transcript

  1. 自己紹介 所属 NTT東日本 白鳥 翔太 業務 プロダクト開発シニアスペシャリスト(クラウド関連プロダクト) 経歴 2009年入社 ネットワークエンジニア~セールス~現職

    保有資格 しらとり しょうた 好きなAWSのサービス Amazon S3 ネットワークスペシャリスト 情報セキュリティスペシャリスト 2020/2021/2022 APN AWS Top Engineers 2023 Japan AWS Top Engineers 2023 Japan AWS All Certifications Engineers 好きな言葉 Knowledge is Power./Insist on the Highest Standards. Any sufficiently advanced technology is indistinguishable from magic. #nwsecjaws3 #jawsug
  2. 本日お話しすること・しないこと • 本日お話しすること • IPv6 on AWSにおける基礎的なこと • フルIPv6環境が向く構成・デュアルスタックが向く構成・IPv4中心が向く構成 •

    本日お話ししないこと • AWS各種ネットワークサービスの概要(VPC/Transit gateway/ALB/CloudFrontなど) • NTTのネットワークに関する話 • IOWN/Project Kuiperなど未来のネットワークの話 #nwsecjaws3 #jawsug
  3. アジェンダ #nwsecjaws3 #jawsug • IPv6移行が必要な背景 • AWSエンジニアのためのIPv6基礎 • AWSの各サービスのIPv6対応状況 •

    IPv6 on AWS関連のここ1年間のアップデート • IPv6 VPCを作った時の基本的な仕様 • AWS環境のIPv6移行 • IPv6ネイティブ環境が向くパターン • デュアルスタック環境が向くパターン • IPv4環境が向くパターン • リファレンスアーキテクチャ • 参考資料 • まとめ
  4. IPv6移行が必要な背景 #nwsecjaws3 #jawsug • パブリックIPv4アドレスが有料化(2024/2/1~) • これまではElastic IPのみ課金されていたが、自動払い出しのIPv4アドレスにも課金 • 新たな有料化対象は下記の通り

    • VPC 内のリソース、Amazon Global Accelerator、AWS Site-to-Site VPNトンネルに割り当てられた 使用中のパブリックIPv4アドレス(AWSが提供するパブリックIPv4 アドレスおよび Elastic IPアドレスを含む) • そもそも、グローバルIPv4アドレス自体の在庫は 2011年に枯渇(現在は使いまわし) • 国内のIPv6トラフィックも50%を超えてきている 日経XTECH: ついに国内のIPv6利用率が50%超え、IPv4のままでは何がまずい? https://xtech.nikkei.com/atcl/nxt/column/18/02811/041700001/ https://www.nic.ad.jp/ja/ip/ipv4pool/
  5. AWSエンジニアのためのIPv6基礎 #nwsecjaws3 #jawsug • IPv6アドレスの表記方法 • 128ビットを16ビットずつ8つに”:”で区切って16進数で表記 • IPv4で言うネットワークアドレスはIPv6プレフィックスと呼ばれ、IPv4のCIDR表記と同じ。 •

    表記の例 1234:5678:9abc:def0:1234:5678:9abc:def0/64 • アドレス帯に0が続く場所は省略できる。”::”で表記 • 表記の例 1234:0000:0000:0000:0000:0000:0000:0001/64 1234::1/64 • ループバックアドレスやマルチキャストアドレスなど特殊なアドレス帯もある(一旦忘れてOK) • ループバックアドレス ::1/128 • マルチキャストアドレス ff00::/8 • リンクローカルユニキャストアドレス fe80::/10 • IPv6プレフィックスについて • JPNICからは/48や/56で払い出され、/64までサブネット識別子として使われるのが一般的 • /56で払い出された場合、2^8(=256個)のサブネットを作ることができる
  6. AWSの各サービスのIPv6対応状況 #nwsecjaws3 #jawsug • 2024/4/25現在、36サービスがIPv6をサポート • ただし、下記のいずれかへの対応であり、利用したいサービスによって確認する • デュアルスタックのリソース作成が可能 •

    IPv6のみのリソース作成が可能 • パブリックIPv6エンドポイントが利用可能 • プライベートIPv6エンドポイントが利用可能 • ハマりやすいパターン • AサービスはIPv6(ネイティブ)をサポートしているが、BサービスのインターフェースエンドポイントがIPv6非対応 (例)EC2はIPv6ネイティブをサポートしているが、Systems ManagerのエンドポイントはIPv4のみ • IPv6ネイティブのリソースから、IPv4のエンドポイントを参照するためにはNAT64/DNS64が必要 • NAT64はNAT Gatewayで自動有効化 • DNS64はRoute 53 ResolverでDNS64をサブネットごとに有効化 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/aws-ipv6-support.html
  7. AWSの各サービスのIPv6対応状況 #nwsecjaws3 #jawsug • 主な対応サービスの例 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/aws-ipv6-support.html Service name Dual stack

    support IPv6 only support Public endpoints support IPv6 Private endpoints support IPv6 † Amazon Aurora Yes No Yes No Amazon CloudFront Yes No No Amazon EC2 Yes Yes Yes No Amazon ECS Yes No No No Amazon EKS Nodes: Yes / Pods: No Pods: Yes / Nodes: No No No Elastic Load Balancing Load balancers: Yes Target groups: No Load balancers: No Target groups: Yes No No AWS Fargate Yes No No No AWS Global Accelerator Yes No No AWS Lambda Yes No Yes No Amazon RDS Yes No Yes No Amazon Route 53 Yes Yes No Amazon S3 Yes No Yes No Amazon VPC Yes Yes Yes No AWS WAF Yes Yes No
  8. IPv6関連のここ1年間のアップデート #nwsecjaws3 #jawsug ① Amazon VPC DHCPv6でIPv6の優先リース期間を調整が可能に(2024/3/7) https://aws.amazon.com/jp/about-aws/whats-new/2024/03/amazon-vpc-dhcpv6-setting-ipv6-lease-time/ ② Amazon

    CloudWatch LogsがIPv6のサポートを開始(2024/2/26) https://aws.amazon.com/jp/about-aws/whats-new/2024/02/amazon-cloudwatch-logs-ipv6/ ③ Amazon LightsailでのIPv6インスタンスバンドルの導入(2024/01/25) https://aws.amazon.com/jp/about-aws/whats-new/2024/01/ipv6-instance-bundles-amazon-lightsail/ ④ Amazon S3 on OutpostsにおけるIPv6のサポートが開始(2024/1/16) https://aws.amazon.com/jp/about-aws/whats-new/2024/01/amazon-s3-outposts-ipv6/ ⑤ Amazon VPCにおいてIPv6 CIDR(/44~/64)の調整が可能に(2023/11/16) https://aws.amazon.com/jp/about-aws/whats-new/2023/11/vpcs-subnets-support-more-sizes-ipv6-cidrs/ ⑥ AWS Global AcceleratorのIPv6のサポートがデュアルスタックのNLBエンドポイントにまで拡張(2023/11/2) https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-global-accelerator-ipv6-dual-stack-nlb-endpoints/ ⑦ Application Load BalancerとNetwork Load Balancerで、IPv6でアドレス指定されたインスタンスをターゲットとして登録可能に(2023/10/2) https://aws.amazon.com/jp/about-aws/whats-new/2023/10/application-load-balancer-network-load-balancer-registering-instances-ipv6-targets/ ⑧ Amazon VPCでENIにおけるプライマリIPv6アドレスのサポートを開始(2023/8/4) https://aws.amazon.com/jp/about-aws/whats-new/2023/08/amazon-vpc-primary-ipv6-address-elastic-interface/ ⑨ Amazon VPC CNIでIPv4対応のKubernetesクラスターでのポッドのIPv6送信に関するサポートを開始(2023/06/19) https://aws.amazon.com/jp/about-aws/whats-new/2023/06/amazon-vpc-cni-ipv6-egress-pods-ipv4-kubernetes-clusters/ ⑩ AWS Global AcceleratorがTCP ターミネーションをIPv6トラフィックに拡張(2023/05/18) https://aws.amazon.com/jp/about-aws/whats-new/2023/05/aws-global-accelerator-extends-tcp-termination-ipv6-traffic/ ⑪ Amazon AthenaでプライベートIPv6エンドポイントのサポートを開始(2023/5/18) https://aws.amazon.com/jp/about-aws/whats-new/2023/05/amazon-athena-ipv6-endpoints-inbound-connections/ ⑫ AWS Network FirewallがIPv6のみサブネットのサポートを開始(2023/4/5) https://aws.amazon.com/jp/about-aws/whats-new/2023/04/aws-network-firewall-ipv6-only-subnets/ ※AWS Network Firewallがデュアルスタックのサポートを開始したのは2023/1/17 AWSJ NW SAのみな さんご協力感謝です!
  9. IPv6 VPCを作った時の基本的な仕様 #nwsecjaws3 #jawsug • IPv6アドレッシング • VPC自体はIPv4を無効化することはできないが、IPv6のみのサブネットを作ることができる • IPv4とIPv6は独立して通信

    • IPv6 CIDRはVPCは/44~/60で、サブネットは/44~/64で4ビット単位 • プライマリIPv6アドレスとして採番可能 • VPCでサポートされるサービス類 • DHCPv6・・・ff02::1:2(マルチキャスト) デュアルスタックの場合はDHCPv4が優先 • Route 53 Resolver・・・fd00:ec2::253 DNS64を使う場合はサブネットごとに有効/無効を選択 • インスタンスメタデータ・・・fd00:ec2::254(Nitroベースのインスタンスの場合) • NTP・・・fd00:ec2::123 • EC2の命名規則・・・IPv4のときは、「private-ipv4-address.region.compute.internal」(IPBN) IPv6はインスタンスIDになる「ec2-instance-id.region.compute.internal」(RBN) デュアルスタックの場合、デフォルトはIPBNだが、サブネットごとにRBNを選択可能 RBNはAレコード/AAAAレコード共に利用可能
  10. IPv6 VPCを作った時の基本的な仕様 #nwsecjaws3 #jawsug • VPCのコネクティビティ • VPCピアリング・・・利用可能。IPv6はIPv6同士のルートテーブルを作る • Transit

    Gateway・・・Transit Gatewayのアタッチメントはデュアルスタックサブネットに作る • Cloud WAN・・・利用可能 • Private link・・・Interface型とGateway Load Balancer型の両方とも使用可能(2022年末) • VPCシェアリング・・・デュアルスタックサブネットで利用可。ただし、IPv6は非共有サブネットになる • インターネット・外部からのアクセス • インターネット・・・IPv6はグローバルでユニークなアドレス。外からアクセスさせたくないサブネットはInternet Gatewayではなく、Egress Only Gatewayを使用 • Direct Connect・・・BGPもIPv6で接続可。/125でピア接続 • Site-to-Site VPN・・・Transit Gatewayで終端するもののみ。トンネル内部はIPv6を通るが、トンネル 確立にはIPv4が必須。 • Transit Gateway Connect・・・詳細は長いので省略。IPv6をサポートしているが、MP-BGP(IPv4 BGP)を通じてIPv6プレフィックスを交換。
  11. IPv6 VPCを作った時の基本的な仕様 #nwsecjaws3 #jawsug • セキュリティと運用 • セキュリティグループ/NACL・・・IPv4と同様に使用可 • VPCフローログ・・・IPv4と同様に使用可

    • トラフィックミラーリング・・・IPv6パケットをミラーリング可能だがミラーリングターゲットはIPv4のみ • AWS WAF/Shield・・・IPv4と同様の仕様と可用性・性能 • Network Firewall・・・去年デュアルスタック、IPv6ネイティブの両方使えるようになった • Systems Manager・・・IPv4のみ。デュアルスタックは使用可 • 可用性とスケーリング • ELB・・・ALB/NLB/GWLB使用可。同一ターゲットグループにIPv4とIPv6を混在させることは不可。イン スタンスターゲットを使用できるようになったので、AutoScaling環境でもOK。VPC外のIPv6ターゲットは 指定不可 • Global Accelerator・・・使えるようになった • CloudFront・・・エッジロケーションまではIPv6、オリジンはIPv4のみ。。。。。。。
  12. AWS環境のIPv6移行 #nwsecjaws3 #jawsug • 既存環境の移行 • IPv4のみのサブネットをデュアルスタックに移行 IPv4のみのサブネットをIPv6のみに変更することはできないので、IPv6のみの環境に移行する場合は新 規にIPv6のみのサブネットを作り、リソースを移行 •

    移行手順 https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-migrate-ipv6.html • ざっくりいうと… • サブネットをデュアルスタックにする • Egress Only Gatewayを追加(プライベートサブネットがある場合) • ルートテーブルにIPv6関連を追加 • セキュリティグループを追加 • インスタンスにIPv6アドレスを追加 ※旧世代のインスタンスの場合は、IPv6対応しているインスタンスタイプへの変更が必要
  13. AWS環境のIPv6移行 #nwsecjaws3 #jawsug ※ここは白鳥の独断に基づくもの • IPv6ネイティブ環境が向く構成(2024/4/25時点) • EC2のみのモノリシック環境 • EC2ベースの分散環境

    • デュアルスタック環境が向く構成(2024/4/25時点) • Web三層構造(EKSはPodはIPv6のみ、ノードはデュアルスタックのみ、RDS系はデュアルスタックのみ) • Global Acceleratorを使った構成 • IPv4環境が向く構成(2024/4/25時点) • CloudFrontを使った構成 • 閉域接続・オンプレとのハイブリッド構成(そもそもオンプレのIPv6化が難しい)
  14. リファレンスアーキテクチャ #nwsecjaws3 #jawsug Virtual private cloud (VPC) Dual Stack subnet

    Region AWS Cloud IPv6-Only subnet Region Virtual private cloud (VPC) Virtual private cloud (VPC) Dual Stack subnet Virtual private cloud (VPC) Amazon Route 53 Resolver NAT gateway Internet gateway Egress-Only gateway Direct Connect Gateway Private Link Endpoint Transit Gateway Attachment AWS Transit Gateway AWS Transit Gateway Customer gateway AWS PrivateLink Customer gateway Customer gateway
  15. 参考資料 #nwsecjaws3 #jawsug • JPNIC:IPv6関連情報 https://www.nic.ad.jp/ja/ip/ipv6/ • AWSでのIPv6 https://aws.amazon.com/jp/vpc/ipv6/ •

    IPv6 on AWS https://docs.aws.amazon.com/ja_jp/whitepapers/latest/ipv6-on-aws/IPv6-on-AWS.html • AWS IPv6をサポートするサービス https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/aws-ipv6-support.html • Dual Stack and IPv6-only Amazon VPC Reference Architectures https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/IPv6-reference-architectures-for- AWS-and-hybrid-networks-ra.pdf?did=wp_card&trk=wp_card • NTT東日本:AWSでIPv6を使う場合のリファレンスアーキテクチャを読み解く ※準備編はちょっと古くなったので要注意 準備編: https://business.ntt-east.co.jp/content/cloudsolution/ih_column-42.html 前編: https://business.ntt-east.co.jp/content/cloudsolution/ih_column-45.html 後編: https://business.ntt-east.co.jp/content/cloudsolution/ih_column-50.html • 日経XTECH:ついに国内のIPv6利用率が50%超え、IPv4のままでは何がまずい? https://xtech.nikkei.com/atcl/nxt/column/18/02811/041700001/