ネットワークの設定(2): NAT設定

前回の記事: yusuke88841.hatenablog.com

目標

f:id:yusuke88841:20210409154619p:plain 内部ネットワークに作成したVMが外部へアクセスするための経路を作成する。 DBサーバのように外部からの接続は遮断したいけど、パッケージインストールのために外部への接続は欲しいようなときに必要。

ネットワークの設定

内部ネットワークの作成

VPC内部で使用するネットワークを作成する。

(外部から隠したいDBサーバと、外部とつながってるWebサーバとの通信に使用するなどの用途で内部ネットワークを使用するなどの目的に使用)

サブネットの作成方法は、前回の記事で説明済みのため、詳細は割愛。

  • サブネット名: private
  • CIDR: 10.0.2.0/24

NAT Gatewayの設定

内部ネットワークにのみ接続しているインスタンスでも、パッケージダウンロードなど外部接続できるようにNAT設定を行う。外部⇒インスタンスは遮断するけど、インスタンス⇒NAT⇒外部は接続できるようにするための設定。

  1. 「NATゲートウェイを作成」をクリック 1f:id:yusuke88841:20210409155812p:plain.

  2. 「名前」「サブネット」「Elastic IP割り当てID」を入力し、「NATゲートウェイを作成」をクリック

・サブネット:Internet Gatewayに接続しているサブネット(public)
・Elastic IPがない場合: 「Elastic IP割り当て」をクリックし確保
f:id:yusuke88841:20210409160113p:plain

ルートテーブルの更新

メインのルートテーブルを更新する

  1. "メイン"が「はい」となっているルートテーブルを選択し、「ルートの編集」をクリック f:id:yusuke88841:20210409160828p:plain
  2. 送信先:0.0.0.0/0, ターゲット: 作成したNAT gatewayを選択してテーブルを更新 f:id:yusuke88841:20210410112832p:plain

仮想マシンで動作確認

仮想マシンの作成、ネットワークの割り当て

前回と同じ要領で、private subnetを選択して仮想マシンを起動

  • 「ステップ 3: インスタンスの詳細の設定」
    • ネットワーク:作成したVPCを設定
    • サブネット:作成した"private" サブネットを設定

仮想マシンにアクセス

  • public networkに接続した仮想マシンを踏み台にして、作成したVMへアクセス
 [client  PC ]$ ssh -i "keypair.pem" <user>@public_vm_ip
 [public VM]$ ssh -i "keypair.pem" <user>@private_vm_ip

動作確認(今回はcurlでhttpアクセスを確認)

[private VM]$ curl -I www.google.com

ネットワークの設定(1): VMインスタンスを外部ネットワークと接続

目標

f:id:yusuke88841:20210404143247p:plain

ネットワークの作成

VPCの作成

アカウント内の全体ネットワークを作成します

  1. VPCサービスへ移動
  2. VPCを作成」をクリック f:id:yusuke88841:20210404143745p:plain
  3. 名前とCIDRを入力し、右下の「VPCを作成」をクリック f:id:yusuke88841:20210404143917p:plain

サブネットの作成

外部と接続するネットワークを作成

  1. 「サブネットを作成」をクリック f:id:yusuke88841:20210404144539p:plain
  2. VPCを選択、サブネット名とCIDRを入力し、右下の「サブネットを作成」をクリック f:id:yusuke88841:20210404144900p:plain

Internet Gatewayの作成

VPCの内部とインターネットをつなぐInternet Gatewayを作成

  1. Internet Gateway(詳細割愛) f:id:yusuke88841:20210404145136p:plain
  2. Internet GatewayVPCへアタッチ(詳細割愛) f:id:yusuke88841:20210404150319p:plain

ルートテーブルの作成

10.0.0.0/16への通信はVPCの内部、それ以外は外部へ流すためのルーティングテーブルを作成

  1. 「ルートテーブルの作成」をクリック f:id:yusuke88841:20210404145350p:plain
  2. テーブル名とvpcを入力し、「作成」をクリック f:id:yusuke88841:20210404145437p:plain
  3. ルートテーブルの画面へ戻り、作成したテーブルを選択後、「サブネットの関連付け」タブを選択し、「サブネットの関連付けの編集」をクリック f:id:yusuke88841:20210404145803p:plain
  4. 作成したサブネットを選択し、「保存」をクリック f:id:yusuke88841:20210404145719p:plain
  5. 「ルート」タブを選択し、「ルートの編集」をクリック f:id:yusuke88841:20210404150102p:plain
  6. 「ルートの追加」をクリックし、送信先:0.0.0.0/24, ターゲット: 作成したInternet Gateway を入力し、「ルートの保存」をクリックf:id:yusuke88841:20210404150740p:plain 

仮想マシンへのネットワークの割り当て

上記にて作成したネットワークを使って、仮想マシンを起動(詳細は以下で説明済みなので、変更点のみ記載していきます) yusuke88841.hatenablog.com

  • 「ステップ 3: インスタンスの詳細の設定」
    • ネットワーク:作成したVPCを設定
    • サブネット:作成したサブネットを設定
    • 自動割り当てパブリックIP:「有効」
    • ネットワークインタフェース > プライマリIP: 適当なIP(空白なら自動でIPが割り当てられる) f:id:yusuke88841:20210404181749p:plain

    ......

f:id:yusuke88841:20210404181856p:plain

  • 「ステップ7: インスタンス作成の確認」
    • 「新しいキーペアの作成」 を選択して、ssh-keyを生成
    • 生成した鍵をダウンロードして、ssh-client上に配置 f:id:yusuke88841:20210404182539p:plain

仮想マシンへのssh接続

  1. インスタンスの画面にて外部IPを確認 f:id:yusuke88841:20210404182859p:plain
  2. ssh -i <keypair.pem> <username> @<external_ip> で接続

AWS: 仮想マシンの立ち上げ

AWS Cloud Practitionaer Essentialsを見ながら、色々試したので、復習をかねて整理して残していこうと思います。今日は、ひとまず仮想マシン立ち上げて、コンソールに入るまでを書いていきます。

 
1 準備

1.1 リージョンを選択

右上にリージョンが表示されているので、好きなリージョンを選択(今回は東京を選択)

f:id:yusuke88841:20201026182728p:plain

 

1.2 EC2へ移動

サービス検索欄にEC2と打つと、サジェストが表示されるのでクリック

f:id:yusuke88841:20201026182358p:plain

 

2. インスタンス (=仮想マシン) を起動

2.1 インスタンス起動をクリック

f:id:yusuke88841:20201026183006p:plain

 

2.2 AMI (=仮想マシンイメージ) を選択

f:id:yusuke88841:20201026183101p:plain

 

2.3 インスタンスタイプ (=マシンスペック)
CPU/メモリ/ネットワーク品質 を参考にインスタンスタイプを選択

f:id:yusuke88841:20201026183208p:plain

 

2.4 インスタンスの詳細設定 ⇒ 今回はスキップ、そのまま「次のステップ」へ
    ※VPCがありませんと注釈がでたら、「デフォルトVPCを作成」でVPCを作成


2.5 ディスクの選択

 必要に応じてディスクの容量を変更 / ディスクを追加

f:id:yusuke88841:20201026184021p:plain


2.6 「確認と作成」をクリック
・確認画面⇒「起動」をクリック

・キーペア⇒「キーペアなしで続行」を選択し「インスタンスを作成」をクリック

3. 仮想マシンへログイン

3.1 インスタンス画面へ移動

・EC2のトップページへ戻る

・サイドペインの「インスタンス」をクリック

・青文字のインスタンスID部分をクリック

f:id:yusuke88841:20201026184755p:plain

3.2 インスタンスに接続

接続をクリック

f:id:yusuke88841:20201026185118p:plain

 

接続をクリック

f:id:yusuke88841:20201026185320p:plain

 

これでログイン完了。あとは、PCに乗り込んだ状態になるので、好きな作業を