LoginSignup
0
0

IPv6-onlyのEC2を作成しIPv4から接続する方法

Posted at

背景

  • IPv6/IPv4 dualstackまたはIPv6-onlyのWebサイトにIPv6でアクセスできるかを試したい
  • ただし、ローカル環境からはIPv4しか利用できない
  • IPv6 OnlyのEC2インスタンスを作成したが、IPv4しか利用できないため直接接続できない
  • また、IPv6ではSystems Managerエンドポイントにアクセスできない(執筆時点)ため、SSM Session ManagerからEC2インスタンスにアクセスできない

構成

image.png

  • IPv4/IPv6をもつEC2インスタンス①を作成する
  • EC2インスタンス①のIPv6アドレスを使用して、IPv6のみを持つEC2インスタンス②に接続する
  • EC2インスタンス②からEgress-only Internet Gatewayを使用してIPv6でInternetアクセスする

実装

VPC作成

  1. IPv6を有効化したVPCを作成する(IPv4アドレスは何でも)
    image.png

サブネット作成

  1. IPv4/IPv6サブネットの作成
    image.png
  2. IPv6サブネットを作成する(IPv4 CIDR block設定をNo IPv4 CIDRにする)

InternetGateway作成

  1. InternetGatewayを作成し、VPCに紐づける
  2. IPv4/IPv6サブネットのルートテーブルのデフォルトルートをInternetGatewayにする
    image.png

Egress-Only InternetGatewayの作成

  1. Egress-Only InternetGatewayを作成し、VPCに紐づける
  2. IPv6サブネットのルートテーブルのデフォルトルート(IPv6)をEgress-Only InternetGatewayにする
    image.png

EC2インスタンス作成

  1. EC2インスタンス①(IPv4/IPv6)作成
    • IPv4/IPv6サブネットを指定
    • パブリックIP自動割り当て有効化(or 無効化でSSM用VPCエンドポイント用意)
    • IPv6 IP を自動で割り当てる有効化
    • インバウンド許可なしSecurity Group設定
    • SSM用ロール設定
  2. EC2インスタンス②(IPv6のみ)作成
    • IPv6サブネットを指定
    • VPC内からのみのアクセス許可するSecurity Group設定

動作確認

  1. Session ManagerでEC2インスタンス①に接続
  2. Session ManagerでEC2インスタンス①からEC2インスタンス②にSSH
### キー作成(ローカルで取得したキーをコピペでEC2上に作成)
$ cat << EOF > xxx.pem
-----BEGIN RSA PRIVATE KEY-----
........................
........................
........................
........................
-----END RSA PRIVATE KEY-----
EOF

### SSH接続
$ ssh -i xxx.pem ec2-user@[EC2インスタンス②のIPv6アドレス]
  1. EC2インスタンス②からcurlコマンドを実行するとIPv6アドレスで接続できていることを確認可能
$ curl -v https://xxxxxx.cloudfront.net/
*   Trying [IPv6アドレス]:443...
* Connected to xxxxxx.cloudfront.net (IPv6アドレス) port 443
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0