皆さん、こんにちは。ITサービス&エンジニアリング事業本部(以下、ITS&E)クラウドプラットフォーム事業部(以下、CPF)に所属している五味 なぎさです。 私が所属するITS&Eでは、主にITインフラ関連のプロダクトやサービスを取り扱っています。『Make IT Sustainable』というスローガンのもと、情報システム部門の皆様の日々の業務効率化や、「コア業務に集中できる環境づくり」をご支援させていただいております。 その中でもCPFはクラウドサービス事業の拡大をミッションとしており、当社が提供するマネージドクラウドサービスabsonne(アブソンヌ)の企画・運営・提案・導入や、Amazon Web Services(以下、AWS)、Microsoft Azure、Google Cloud Platform、Oracle Cloud Infrastructure等のパブリッククラウドサービスを利用したシステムの提案・設計・導入を推進しています。 以前、AWSにおけるIPv6対応の基礎情報として、IPv4課金体系の変更とこれまでにAWSが実施したIPv6対応のまとめについて書いておりますので、ご興味ある方はこちらをぜひ読んでみてください!
さて今回と次回では、実際にAmazon Virtual Private Cloud(VPC)内でIPv6を利用するための設定手順をご紹介していきます。ちなみに、AWSでは多数のサービス※1でIPv6に対応していますが、今回はVPC上のEC2でIPv6通信を可能にする設定方法に絞り、以下の作業について説明していきます。
なお、今回はあくまでIPv6で通信できるようにする設定方法をご紹介していますが、IPv6は基本的にすべてグローバルアドレス(インターネット上で一意に識別されるアドレス)となるため、実際に利用する際、特にエンタープライズ利用される際には、合わせてセキュリティ対策についても検討が必要となるので、ご注意ください。
それでは、実際の設定手順を順にみていきましょう。今回は下記3点をお伝えしていきます。
IPv6対応のVPCは、VPC作成画面において、[IPv6 CIDRブロック]の項目で[Amazon提供のIPv6 CIDRブロック]にチェックを入れるだけで作成可能です。IPAM(Amazon VPC IP Address Manager)でIPアドレスを管理されている場合や、ユーザ所有のIPアドレスを利用したい場合はそちらの選択も可能です。また、IPv4サポートの無効化はできないため、なんらかのIPv4 CIDRブロックの割り当ては必要になります。なお、既存のVPCを利用したい場合も、IPv6の有効化が可能です※2。
画面:VPC設定
上記の設定により、VPCに/56のIPv6 CIDRが割り当てられました。
画面:割り当て後の表示
/56以外のCIDRを割り当てるには、IPAMの利用や、追加の割り当てが必要です(仕様上/44~/60の/4刻みの割り当てが可能)。
続いてサブネットの作成です。今回はIPv6専用のサブネットを作成したいため、[IPv4 CIDR block]の設定は[No IPv4 CIDR]を選択し、[IPv6 CIDR Block]のみ設定します。 [IPv6 subnet CIDR block]にはVPCに割り当てられた/56のIPv6サブネットから/56~/64の/4刻みのCIDR割り当てが可能です。今回は一番小さい/64を割り当てています。
画面:サブネット設定
注意点として、IPv4として作成後のサブネットをIPv6専用に変更することはできません。 デュアルスタックの形(IPv6を追加する)で作成することは可能ですので、デュアルスタックとするか、新規にIPv6専用サブネットの作成が必要です。
また、サブネットに割り当てるルートテーブルとして、今回は以下を設定しています(Internet Gatewayは別途作成済)。
画面:ルートテーブル設定
Internet Gatewayについては、IPv4と同じものが利用可能です。なお、通信要件がアウトバウンド(VPC ⇒ インターネット 向き)のみの場合、Egress-Only Internet Gateway※3というIPv6専用のサービスの利用が可能です。セキュリティ強化のため、インバウンド方向の通信要件が無い場合は、Egress-Only Internet Gatewayの利用が望ましいかと思います。
作成したIPv6専用サブネットにEC2を作成します。ネットワーク設定内で以下のようにIPv6 IPの自動割り当てを有効化することにより、IPv6アドレスが割り当てられます。
画面:IPv6 IPの自動割り当て設定
画面:EC2起動後の設定状況
注意点として、利用するEC2はNitroシステムに基づくインスタンスを利用してください。非Nitro世代のインスタンスの場合IPv6に非対応のため、IPv6専用サブネットにEC2を作成しようとするとエラーになります(実際に誤ってt2.microを選択したところ作成エラーになりました。ちなみに今回はt3.nanoでインスタンスを作成しています。
ここまで完了したら、あとは、必要な通信をセキュリティグループで許可すれば、IPv6でVPC外との通信が可能です。
いかがでしたでしょうか?今回の設定では、VPC、サブネット、EC2においてIPv6通信を行えるようにするところまでの手順をご説明してきました。次回は、IPv6専用EC2からIPv4のサービス/システムに接続するための設定や、今回手順をご説明したサービス以外のIPv6対応についてご紹介していきますので、少しでも皆様のAWS活用の参考になれば幸いです。次回もお楽しみにしてください!