0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NATGWを使いプライベートサブネット内のEC2インスタンスでyum updateする

Last updated at Posted at 2021-06-28

###やること
・パブリックサブネット内のEC2インスタンスを踏み台にしてプライベートサブネット内のEC2インスタンスに接続する。
・NATゲートウェイを使用し、プライベートサブネット内のEC2インスタンス内でyum updateを実行できるようにする。

###注意点
NATゲートウェイは有料のサービスになります。一通り動作を確認した後は削除するのを忘れないように!
・筆者はwindowsなのでTera Termを使用してインスタンスにssh接続します。
・各サブネット内のEC2インスタンスは便宜上、下記表現に代えさせていただきます。
 パブリックサブネット内のEC2インスタンス ⇒パブリック1a
 プライベートサブネット内のEC2インスタンス⇒プライベート1a
・プライベートサブネット内からインターネットに接続する方法は他にもあり、今回作成する構成はあまりコスト効率が良くないため機能テストくらいに思っていただけると幸いです。

###事前準備
下記VPC環境が用意できているものとします。
・パブリックサブネットのルートテーブル内にインターネットゲートウェイがルーティングされている。
・パブリック1aにパブリックIPv4アドレスが割り当てられている。
・各EC2インスタンスのセキュリティグループでSSH接続が許可されている。
・各サブネットのネットワークACLでSSH接続が許可されている。
・各EC2インスタンスは同じキーペアを使用して作成する。
図3.png

###自分のPC→パブリック1a
図6.png
AWSのEC2コンソールからパブリック1aに付与されているパブリックIPv4アドレスをコピー
図5.png
パブリック1aに付与されているパブリックIPv4アドレスを入力してOKを押下
図7.png
ユーザ名に「ec2-user」と入力。
「RSA/DSA/ECDSA/ED25519鍵を使う」にチェック。右の青枠になっている「...」ボタンからインスタンス起動時に適用したキーペアを選択し、OKを押下。
図8.png
パブリック1aに接続できました。
下記コマンドを順に入力してyum updateを行います。

①root権限に切り替え
sudo su
②yumアップデート
yum update

###パブリック1a→プライベート1a
図9.png
パブリック1aからプライベート1aに接続する際もペアキーが必要なのでパブリック1aに自分のPCに保存しているペアキーを保存する必要があります。
下記コマンドを使いパブリック1a内でnanoエディタを開く。

nano キー名.pem

図10.png
ペアキーをテキストエディタで開く。
キーの中身をコピーした状態でnanoエディタ内で右クリック、OKボタンで貼り付けて保存。
下記コマンドで複製したキーへのアクセス権限を設定。

chmod 400 キー名.pem

図11.png
AWSのEC2コンソールからプライベート1aに付与されているプライベートIPv4アドレスをコピー。
複製したキーとコピーしたプライベートIPv4アドレスを使用し、プライベート1aにssh接続。

ssh ec2-user@コピーしたプライベートIPv4アドレス -i キー名.pem

図12.png
そして下記コマンドでプライベート1aもyumアップデートしようとすると・・・

①root権限に切り替え
sudo su
②yumアップデート
yum update

キャプチャ10.PNG
このようにエラーになってしまいます。
図3.png
最初にある図の通り、パブリックサブネットはインターネットゲートウェイでインターネットに接続しているため、アップデートできました。
しかし、現状プライベートサブネットはインターネットと通信する手段がありません。これによりアップデートしようとしても必要なファイルなどが取得できずエラーになったというわけです。
図13.png
そこで今回はNATゲートウェイを使用し、パブリックサブネットを経由しプライベート1aでインターネットに接続できるよう設定していきます。
図14.png
VPCのコンソール←メニューから「NATゲートウェイ」を選択。
画面右上「NATゲートウェイを作成」を押下。
図15.png
NATゲートウェイの名前を任意で入力。
設置するサブネットを選択。今回はパブリックサブネットを選択。
Elastic IPは、下の「Elastic IPの割り当て」で新規に割り当てるか、使っていないものがあればドロップダウンから選択。
すべて入力できたら、一番下にスクロールし、「NATゲートウェイの作成」ボタンを押下。
図16.png
NATゲートウェイが正常に作成できたら、左メニューの「サブネット」からプライベートサブネットを選択。
ルートテーブルタブ内のIDを押下。
図17.png
プライベートサブネット内のルートテーブルの設定にジャンプできるので、「ルートを編集」を押下。
図18.png
「ルートを追加」ボタン押下。
新しく作成した行の接続先に「0.0.0.0/0」を指定。
ターゲットはドロップダウンない項目にNATゲートウェイがあるので選択。しばらくすると先ほど作成したNATゲートウェイのIDが表示されるので選択。
※ステータスで「ブラックホール」となっているものがあれば削除
右下の「変更の保存」押下。

プライベートサブネットのルートテーブルにNATゲートウェイがルーティングされているのを確認し、再度yum updateを試みると・・・
キャプチャ16.PNG
無事アップデートできました。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?