- 03-5820-1777平日10:00〜18:00
- お問い合わせ
前回作成したVPCのパブリックサブネットにNATゲートウェイを設定し、プライベートサブネットから外部へのアクセスを可能にします。
実際にアクセス出来るようになるか試してみようと思います。
teratermでアクセスして「yum update」コマンドを実行
root@ip-10-0-128-94 ec2-user]# yum update -y
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/core/latest/x86_64/mirror.list error was
12: Timeout on https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/core/latest/x86_64/mirror.list: (28, 'Failed to connect to amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com port 443 after 2701 ms: Connection timed out')
https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/core/2.0/x86_64/3dce9064d9888df589c0eefade782e4ead797577203288ab4854b4638a77ebbe/repodata/repomd.xml?instance_id=i-04d69f380b69b8249®ion=ap-northeast-1: [Errno 12] Timeout on https://amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com/2/core/2.0/x86_64/3dce9064d9888df589c0eefade782e4ead797577203288ab4854b4638a77ebbe/repodata/repomd.xml?instance_id=i-04d69f380b69b8249®ion=ap-northeast-1: (28, 'Failed to connect to amazonlinux-2-repos-ap-northeast-1.s3.dualstack.ap-northeast-1.amazonaws.com port 443 after 2702 ms: Connection timed out')
Trying other mirror.
以上の様に外部に接続できなくてエラーになります。
名称 | 所属サブネット名 |
---|---|
publicpc-1a | dv-subnet-public1-ap-northeast-1a |
privatepc-1a | dv-subnet-private1-ap-northeast-1a |
1.VPCサービスのページ行き、メニューの「NATゲートウェイ」を押下します。
2.右上の「NATゲートウェイ作成」ボタンを押下します。
3.NATゲートウェイ作成に必要な情報を入力し、作成ボタンを押下します。
項目 | 説明 |
---|---|
名前 | NATゲートウェイの名前を適当に指定 |
サブネット | publicサブネットを指定 |
接続タイプ | パブリックを指定 |
ElasticIP割り当てID | ボタンを押下するとElasticIPが割り振られます |
タグ | 名前を入れると自動的に入るのでそのままでよいです |
privateサブネットのルートテーブルへ設定する事で、その中のEC2からNATゲートウェイへアクセス可能
になります。
1.privateサブネットのルートタブの「ルート編集」ボタンを押下します。
2.ルートを追加し、作成したNATゲートウェイの情報を入力します。
3.送信先は今回は全ての送信先を指定する為、「0.0.0.0/0」を設定し変更を保存します。
ACLで全IPからのアクセスを可能にしてない場合は、NATゲートウェイへのアクセス許可設定をする必要があります。
1.PrivateサブネットのネットワークACLリンクを押下します。
2.インバウンドルール、アウトバウンドルールともに、NATゲートウェイのIPを通すように設定します。
3.今回は全てのリクエストと通す設定にしています。これをアウトバウンドにも行って下さい。
以上で設定が完了しました。
では先ほど失敗したコマンドを流してみたいと思います。
[root@ip-10-0-128-94 ec2-user]# yum update -y
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
amzn2extra-docker | 3.0 kB 00:00:00
amzn2extra-kernel-5.10 | 3.0 kB 00:00:00
(1/7): amzn2-core/2/x86_64/group_gz | 2.5 kB 00:00:00
(2/7): amzn2-core/2/x86_64/updateinfo | 498 kB 00:00:00
(3/7): amzn2extra-docker/2/x86_64/updateinfo | 6.4 kB 00:00:00
(4/7): amzn2extra-kernel-5.10/2/x86_64/updateinfo | 18 kB 00:00:00
(5/7): amzn2extra-docker/2/x86_64/primary_db | 93 kB 00:00:00
(6/7): amzn2extra-kernel-5.10/2/x86_64/primary_db | 11 MB 00:00:00
(7/7): amzn2-core/2/x86_64/primary_db | 65 MB 00:00:01
Resolving Dependencies
--> Running transaction check
---> Package amazon-ssm-agent.x86_64 0:3.1.1188.0-1.amzn2 will be updated
---> Package amazon-ssm-agent.x86_64 0:3.1.1732.0-1.amzn2 will be an update
---> Package chrony.x86_64 0:4.0-3.amzn2.0.2 will be updated
---> Package chrony.x86_64 0:4.2-5.amzn2.0.2 will be an update
---> Package curl.x86_64 0:7.79.1-2.amzn2.0.1 will be updated
---> Package curl.x86_64 0:7.79.1-4.amzn2.0.1 will be an update
---> Package dhclient.x86_64 12:4.2.5-77.amzn2.1.6 will be updated
正常にアクセス出来ているのが確認出来ました。
NATゲートウェイを使用しているとElasticIPアドレスを確保した状態の為、課金が都度されている状態になるので、必要なくなったら、削除処理を行いましょう。
NATゲートウェイの削除処理を行った後、ElasticIPアドレスの解放処理を行いましょう。
次回はエンドポイントを使用してインターネットアクセスを介さず、AWSのサービスの使用を試してみたいと思います。