おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-VPC-NATゲートウェイの作成

今回のテーマ:NATゲートウェイの作成

主要サービスの公式資料

NAT ゲートウェイ docs.aws.amazon.com

実施概要

  • プライベートサブネットのEC2へアクセス
  • NATゲートウェイをパブリックサブネットに設置し、インターネットへのトラフィックを許可

f:id:In-houseSE:20210306100355p:plain

実施項目

  • パブリックサブネットとプライベートサブネットに1個ずつインスタンスを設置
  • パブリックサブネットのEC2へアクセスしプライベートサブネットのEC2へ接続後yum updateを実行
  • パブリックサブネットにNATゲートウェイを配置しプライベートサブネットのルートテーブルにNATゲートウェイへのルートを設定
  • パブリックサブネットのEC2からプライベートサブネットのEC2へアクセスしyum updateを実施
  • パブリックサブネットとプライベートサブネットに1個ずつインスタンスを設置

実際の手順

パブリックサブネットとプライベートサブネットに1個ずつインスタンスを設置
  • マネージメントコンソール-EC2-インスタンスの起動をクリック f:id:In-houseSE:20210306100910p:plain

  • VPCはパブリックサブネットのどちらかを選択 f:id:In-houseSE:20210306101026p:plain

  • プライベートサブネットで作成するインスタンスVPCの設定時、プライベートサブネットを選択 f:id:In-houseSE:20210306101642p:plain

パブリックサブネットのEC2へアクセスしプライベートサブネットのEC2へ接続後yum updateを実行

パブリックサブネットでEC2を作成した後でパブリックIPの割りあえてがなかったため、設定している項目の見直し

  • VPCの設定に「DNS解決」、「DNSホスト名」が有効化かどうか
  • VPCのルートテーブルでインターネットゲートウェイが設置されているかどうか
  • VPCに紐づくパブリックサブネットでIPv4の自動割りあてが有効化どうか

今回見直したら「VPCに紐づくパブリックサブネットでIPv4の自動割り当て」が有効化してませんでした。
備忘のためその箇所を残しておきます。

  • VPC-サブネットより該当するパブリックサブネットを選択し、アクション-自動割り当てIPの設定をクリック f:id:In-houseSE:20210306103932p:plain

  • パブリックIPv4アドレスの自動割り当てを有効にするにチェックを入れて保存 f:id:In-houseSE:20210306104153p:plain

  • 有効化する前のEC2 f:id:In-houseSE:20210306104229p:plain

  • 有効化した後のC2 f:id:In-houseSE:20210306104732p:plain

  • 作成した後のEC2へログイン f:id:In-houseSE:20210306105033p:plain

  • アップデートパッチのダウンロード

コマンド:

yum update -y

※自動許可をする場合はオプションのyを入れておくとよいです。

実行内容:
実行コマンドのオプション入れ忘れたので途中の「Is this ok [y/d/N]: y」と応答し、Enterしてます。

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:4.14.219-164.354.amzn2 will be installed
---> Package kernel-tools.x86_64 0:4.14.219-161.340.amzn2 will be updated
---> Package kernel-tools.x86_64 0:4.14.219-164.354.amzn2 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch       Version                       Repository      Size
================================================================================
Installing:
 kernel           x86_64     4.14.219-164.354.amzn2        amzn2-core      21 M
Updating:
 kernel-tools     x86_64     4.14.219-164.354.amzn2        amzn2-core     139 k

Transaction Summary
================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 21 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): kernel-tools-4.14.219-164.354.amzn2.x86_64.rpm      | 139 kB   00:00
(2/2): kernel-4.14.219-164.354.amzn2.x86_64.rpm            |  21 MB   00:00
--------------------------------------------------------------------------------
Total                                               53 MB/s |  21 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : kernel-tools-4.14.219-164.354.amzn2.x86_64                   1/3
  Installing : kernel-4.14.219-164.354.amzn2.x86_64                         2/3
  Cleanup    : kernel-tools-4.14.219-161.340.amzn2.x86_64                   3/3
  Verifying  : kernel-4.14.219-164.354.amzn2.x86_64                         1/3
  Verifying  : kernel-tools-4.14.219-164.354.amzn2.x86_64                   2/3
  Verifying  : kernel-tools-4.14.219-161.340.amzn2.x86_64                   3/3

Installed:
  kernel.x86_64 0:4.14.219-164.354.amzn2

Updated:
  kernel-tools.x86_64 0:4.14.219-164.354.amzn2

Complete!
  • プライベートサブネットのEC2へのアクセスするために接続する鍵をEC2へ配置

方法はSCPツールを使用し配置することやエディタを起動して鍵を値をコピーする方法があります。
今回は後者の方にします。

  • 鍵ファイルの作成

コマンド:

vi (鍵名).pem

vi の使いかたは省略しますが、ローカルのカギを表示してコピーして貼り付けして保存

  • 鍵ファイルへの権限変更

コマンド:

chmod 400 (鍵名).pem 
  • 鍵の権限確認

コマンド:

ls -l

サンプル:

[ec2-user@ip-10-0-0-61 ~]$ ls -l
total 4
-r-------- 1 ec2-user ec2-user 1679 Mar  6 01:58 home-key.pem
[ec2-user@ip-10-0-0-61 ~]$

コマンド:

ssh ec2-user@(プライベートIP) - i (鍵名).pem

サンプル:

[ec2-user@ip-10-0-0-61 ~]$ ssh ec2-user@10.0.1.126 -i home-key.pem

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-1-126 ~]$
  • プライベートEC2でyum updateが失敗することを確認

パブリックサブネットにNATゲートウェイを配置しプライベートサブネットのルートテーブルにNATゲートウェイへのルートを設定

*マネージドコンソールからVPCを検索後、NATゲートウウェイ選択しNATゲートウェイを作成をクリック f:id:In-houseSE:20210306111704p:plain

  • 名前は任意、サブネットを配置するパブリックサブネット、ElasticIPの割り当てしクリック後、NATゲートウェイを作成をクリック f:id:In-houseSE:20210306111952p:plain

プライベートサブネットが使用しているルートテーブルに作成したNATGWを割り当てます。

  • VPC-ルートテーブル-プライベートサブネットのルートテーブルを選択し、ルートタグからルートの編集をクリック f:id:In-houseSE:20210306112250p:plain

  • ルート追加をクリックし、作成したNATゲートウェイを追加します。送信先のCIDRは「0.0.0.0/0」

  • 設定がおわったら、ルートの保存をクリック f:id:In-houseSE:20210306112518p:plain

パブリックサブネットのEC2からプライベートサブネットのEC2へアクセスしyum updateを実施

  • プライベートサブネットEC2でyum updateを実施し成功することを確認

今回のテーマ以上です。

補足: 有料サービスになる項目の削除をしておくとよいです。
今回の作業時での項目は以下となります。