AWSでIPv6通信する手順をまとめてみた(2)

2024.03.19
マルチクラウド 技術 AWS クラウド活用 コスト削減 運用保守
AWSでIPv6通信する手順をまとめてみた(2)

はじめに

皆さん、こんにちは。五味 なぎさです。AWSでIPv6通信をするための設定手順について解説している本ブログシリーズ。前回はAmazon Virtual Private Cloud(VPC)内でIPv6通信するために必要な5つの手順のうち、手順(1)(2)(3)をご紹介しました。まだ前回のブログを読まれていない方はぜひ、こちらをご覧ください。

VPC内でIPv6を利用するためには下記5つの手順が必要で、今回は残りの手順(4)(5)についてご紹介していきます。なお、AWSでは多数のサービス※1でIPv6に対応していますが、前回同様IPv6通信を可能にする設定方法に絞り説明していきますので、エンタープライズ利用される際には、合わせてセキュリティ対策などについてもご検討ください。

前回ブログの範囲

  • (1)IPv6対応VPCの作成
  • (2)IPv6専用サブネットの作成
  • (3)IPv6 OnlyのEC2の作成

今回ブログの範囲

  • (4)IPv6 OnlyのEC2からIPv4サービス/システムへの接続
  • (5)上記以外のIPv6対応について(概要)

IPv6の通信設定方法について(後編)

それでは早速、実際の設定手順を順にみていきましょう。

(4) IPv6 OnlyのEC2からIPv4サービス/システムへの接続

前回ご紹介した(1)~(3)の設定を済ませたところで疎通確認をしてみましょう。疎通確認にはEC2上のOS操作が必要となり、SSHを利用せずにOS操作を行うためには、Systems Managerの機能であるSession Managerの利用が必要です。ただ、ここで1つ問題が出てきます。現状ではSystems ManagerのエンドポイントがIPv6に対応しておらず、IPv6だけの構成だとSession Managerが利用できません。このように、AWS側のエンドポイントや、接続先のシステムがIPv6に未対応のケースはまだまだあるかと思います。その場合、NAT64/DNS64という技術を利用することでIPv6からIPv4に変換しIPv4アドレス宛に通信を行うことが可能です。AWSにおいても、2021年11月からNAT64/DNS64に対応しており、VPCのサブネット設定におけるDNS64の有効化とNAT Gatewayの配置によりNAT64/DNS64を利用した疎通が可能になりました。なお、NAT64/DNS64の技術そのものについて今回は触れませんが※2、ご興味ある方は参考リンク先を参照してみてください。

具体的な手順ですが、まず、サブネットの設定画面でDNS64を有効化します。送信元となるIPv6 OnlyのECが存在するサブネット(今回であれば作成したIPv6専用サブネット)の設定で、下記画面内のチェックを有効にするだけです。

画面:DNS64の設定

画面:DNS64の設定

続いてNAT Gatewayですが、NAT Gateway自体はIPv4通信で利用するものと同じものが利用可能であり、特に特殊な設定は不要です。IPv4/IPv6がデュアルスタックで利用できるサブネットを準備した上で、該当サブネットにNAT Gatewayを作成し、Internet Gateway向けのデフォルトルートを追加します。

最後に、IPv6 OnlyのEC2が存在するサブネットに以下のルートを追加します。

宛先 NextHop
64:ff9b::/96 NAT Gateway

[64:ff9b::/96]はRFC6052で定義されたIPv4-IPv6変換アドレスで利用されるアドレス帯となっており、上記ルートを追加することでIPv4からIPv6に合成されたアドレス(合成自体はDNS64が実施)についてはNAT Gatewayを経由するようにルーティングされます。NAT Gatewayでは合成されたIPv6アドレスをIPv4に変換(DNS64)し、IPv4アドレスで待ち受ける宛先に通信を行います。

これらの設定を完了すると、IPv6 OnlyのEC2からIPv4アドレス宛に通信ができるようになります。実際に検証したところ、上記設定完了後に、無事にSession Managerが利用できました。ちなみに、特定のバージョン以上のSSM Agentが導入されているOSが選択されており、かつ、別途EC2に対しSession Managerに必要なIAMロール(AmazonSSMManagedInstanceCore)の付与が必要になります。こちらの詳細は、下記の参考リンク先を参照してみてください※3

画面:Session Managerへの接続

画面:Session Managerへの接続

また、OS上からIPv6アドレスが有効なサイト(今回の場合はGoogle)に接続を試みたところIPv6アドレス宛に通信ができたので、IPv6に閉じた通信についても問題なく接続できていることが確認できました。

画面:IPv6アドレス宛の通信

画面:IPv6アドレス宛の通信

ただし、注意いただきたい点として、NAT GatewayにIPv4のパブリックアドレスが割り当てられることになるため、パブリックIPv4アドレスの課金対策には残念ながらなりませんのでご留意ください。System Manager等、多くのAWSサービスのエンドポイントがIPv6対応することを期待したいと思います。

今回試したのはPublic NAT Gatewayを利用したIPv6からIPv4への変換についてですが、Private NAT Gatewayにおいても同様のことができるようです※4。これによりオンプレミス側がIPv4を利用していた場合にも、AWS(IPv6利用)⇒オンプレミス方向の通信ができるため(NAT Gateway用の最小限のIPv4割り当ては必要)、オンプレミスではIPv4を利用しているが、AWS側でIPv6を利用したいという場合に有用な手段になるのではと思います。

(5)上記以外のIPv6対応について

前回もご紹介していますが、改めて、AWSにおけるIPv6サポート状況は以下の通りです。

VPC内のコンポーネントについてもECSやEKS、ELB、Network Firewallなど複数のサービスが対応しています。ただ、IPv6のみのサポートのサービスとデュアルスタック(IPv4/IPv6双方の利用)のみサポートするサービス、両方に対応したサービスがあり、また、コンポーネント自体は対応していてもパブリック/プライベートのエンドポイントがIPv6対応していないケースがあるため、その点は注意が必要です。また、最初にお伝えした通りIPv6に関して頻繁にアップデートされている状況ですので、最新状況をご確認の上、対応されることをお勧めします。

おわりに

いかがでしたでしょうか?今回はIPv6専用EC2からIPv4のサービス/システムに接続するための設定や、手順をご説明した以外のサービスのIPv6対応についてご紹介しました。本内容が、少しでも皆様のAWS活用の参考になれば幸いです。もちろん、NSSOLでもAWS環境におけるIPv6化対応をご支援することは可能ですので、お困りのことがございましたら、お気軽にご相談ください!今後も、AWSをはじめ、パブリッククラウドに関する情報を発信していきたいと思いますので、また別のブログでお会いしましょう!

関連ページ

おすすめブログ

IPv4アドレスの課金、枯渇対策となるか?AWSにおけるIPv6対応の基礎
IPv4アドレスの課金、枯渇対策となるか?AWSにおけるIPv6対応の基礎
2024年2月1日から開始されたパブリックIPv4アドレスの課金体系変更(有料化範囲の変更)と、その対策の1つとしてAWSが奨励するIPv6対応についてお伝えしていきます。
AWSでIPv6通信する手順をまとめてみた(1)
AWSでIPv6通信する手順をまとめてみた(1)
今回と次回では、実際にAmazon Virtual Private Cloud(VPC)内でIPv6を利用するための設定手順をご紹介していきます。ちなみに、AWSでは多数のサービスでIPv6に対応していますが、今回はVPC上のEC2でIPv6通信を可能にする設定方法に絞り、以下の作業について説明していきます。