【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

タイトルが長くなりましたが、AWS の VPC に「パブリックサブネット」「プライベートサブネット」を作成し、それぞれのサブネットに所属する EC2インスタンスがインターネットに出ていけるようにする設定の方法について解説します。

 

 

AWS ネットワーク構成図

AWSの場合は絵がないと本当に理解するのが大変なので、まずは構成図を作成しました。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

構成図を基にどのような構成で何をしたいのかを説明していきます。

VPCは1つです。

VPCに2つのサブネット(「パブリックサブネット」「プライベートサブネット」)作ります。

イメージとしては

  • パブリックサブネット ← Webサーバ
  • プライベートサブネット ← DBサーバ(RDSでもよい)

が配置されるような構成です。

 

決して複雑な構成ではないのですが、AWS のルール(規則)や、ルーティングなどを把握していないと、単純にサブネットを作成しても会社や自宅からインターネット経由でログインできない、ログインできても「yum update」や「Windows Update」すらできないことがあります。

 

1つ1つ手順を確認しつつ上記の構成を構築していきます。

 

 

事前準備 NAT ゲートウェイ用の IP アドレス(EIP、パブリックIP)を設定する

これから VPC を作成していきますが、その前に「NAT ゲートウェイ」用の IP アドレスを設定しておきます。

構成図で言えば、この青色で説明している部分です。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

今回は、プライベートサブネットに所属する EC2 インスタンスがインターネットに出ていく要件(yum update でアップデートしたい)があるため、NAT ゲートウェイを作成して EIP(パブリック IP アドレス)を設定します。

 

NAT ゲートウェイ用の EIP を作成する手順

AWS コンソール画面にログインして「サービス」「VPC」をクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

「VPC ダッシュボード」に移動したら左側ペインより「Elastic IP」をクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

「新しいアドレスの割り当て」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「新しいアドレスの割り当て」画面で「割り当て」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

下図のように「新しいアドレスのリクエストが成功しました」のメッセージが表示されることを確認し「閉じる」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

下図のように新しい EIP が追加されていることを確認します。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

以上で準備は完了です。

 

 

VPCを作成する

まずは基盤となる VPC を1つ作成します。

AWS コンソールにログインして「VPC ダッシュボード」から「VPC ウィザードの開始」ボタンをクリックします。

2018年1月8日  あけましておめでとうございます。2018年も役に立つサイトを築き上げていきます。  「100%レンタルサーバーを使いこなす」サイト管理人より

 

 

 

 

 

「ステップ1:VPC 設定の選択」画面で「パブリックとプライベートサブネットを持つ VPC」を選択して「選択」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ2:パブリックとプライベートサブネットを持つ VPC」画面で下図のように設定をします。

  • IPv4 CIDR ブロック ← デフォルト(10.0.0.0/16)のままです。
  • VPC名 ← 分かりやすい任意の名前を付けます。
  • パブリックサブネットの IPv4 CIDR ← デフォルト(10.0.0.0/24)のままです。
  • パブリックサブネット名 ← デフォルト(パブリックサブネット)のままです。
  • アベイラビリティゾーン ← 任意のアベイラビリティゾーンを選択します。基本的にパブリックサブネットとプライベートサブネットは異なるアベイラビリティゾーンに所属させます。
  • プライベートサブネットの IPv4 CIDR ← デフォルト(10.0.1.0/24)のままです。
  • アベイラビリティゾーン ← 任意のアベイラビリティゾーンを選択します。基本的にパブリックサブネットとプライベートサブネットは異なるアベイラビリティゾーンに所属させます。
  • プライベートサブネット名 ← デフォルト(プライベートサブネット)のままです。
  • NATゲートウェイ Elastic IP 割り当て ID ← 先ほど作成した EIP(パブリックIP)の ID を設定します。

設定が完了したら「VPC の作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

下図のように「VPC が正常に作成されました」メッセージが表示されることを確認します。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

 

 

ルートテーブルを確認する

次のネットワークの構成を調べるため、ルートテーブルを確認します。

 

初めに「サブネット」の構成を確認しておきます。

今回構築した環境は以下のようになっています。

※構築後にすぐに削除するため ID まで載せていますが、本番環境で運用する場合は ID や IP アドレスは知られないようにしましょう。(攻撃対象になる危険性があります)

プライベートサブネット:subnet-ec593fb7 ルートテーブル:rtb-a3f41dc5 デフォルトゲートウェイ(0.0.0.0/0):nat-055a18b1fa8bf18ef

パブリックサブネット :subnet-b5c6f3fc ルートテーブル:rtb-a3f41dc5 デフォルトゲートウェイ(0.0.0.0/0):igw-71763115

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

ID付きのネットワーク構成図

以下、ID付きのネットワーク構成図です。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

以下がルートテーブルです。

■パブリックサブネットのルートテーブル

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

■プライベートサブネットのルートテーブル

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

パブリックサブネットにEC2インスタンスを構築する手順

実際に「パブリックサブネット」に EC2 インスタンスを構築して、インターネットに出ていくところまで確認をします。

 

ネットワーク構成図

 

 

パブリックサブネットにEC2インスタンスを構築する手順

AWS コンソールより「EC2」をクリックします。

 

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

「インスタンスの作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ1:Amazon マシンイメージ(AMI)」で任意の AMI を選択します。

今回は無料利用枠の対象である「Red Hat Enterprise Linux 7.5」を選択しました。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

「ステップ2:インスタンプの選択」画面で任意のインスタンスタイプを選択し、「インスタンスの詳細の設定」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

「ステップ3:インスタンスの詳細の設定」画面で以下のように設定します。

  • ネットワーク ← 今回利用する VPC を選択します。
  • サブネット ← パブリックサブネットを選択します。
  • 自動割り当てパブリックIP ← 「有効化」を選択してパブリックIPを割り当てます。
  • ネットワークインタフェース ← パブリックサブネット(10.0.0.0/24)の中から任意の IP アドレスを割り当てます。

設定が完了したら「ストレージの追加」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

「ステップ4:ストレージの追加」画面でディスクサイズを設定し「タグの追加」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ5:タグの追加」画面で任意のタグを設定し「セキュリティグループの設定」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ6:セキュリティグループの設定」画面で「新しいセキュリティグループを作成する」を選択し下図のように設定をします。

  • セキュリティグループ名 ← 任意の名前を付けます。
  • ルール ← 任意のルールを追加します。インターネット経由で SSH でログインする場合は最低でもソース「0.0.0.0/0(ソースのグローバルIPが分かっているなら指定した方がセキュリティ的にいいです)」を指定します。

設定が完了したら「確認と作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ7:インスタンスの確認」画面で設定内容を確認し「作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

「既存のキーペアを選択するか、新しいキーペアを選択します。」の画面で新規もしくは任意のキーペアを選択して「インスタンスの作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

パブリックサブネットに作成した EC2 インスタンスにログインする

EC2 インスタンスの作成が完了したらログインをしてみます。

ログインするためには下図のように

「パブリック DNS(IPv4)」「IPv4 パブリック IP」の情報が必要です。

※「Elastic IP」と「IPv4 パブリック IP」は同一の IP アドレスです。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

Teraterm を起動して「IPv4 パブリック IP」を入力して「OK」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

以下の「セキュリティ警告」画面が表示されたら「続行」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「SSH認証」画面で以下のように設定します。

  • ユーザ名 ← ec2-user
  • パスフレーズ ← なし
  • 「RSA/DSA/ECDSA/ED25519鍵を使う」 ← チェックを入れます。
  • 秘密鍵 ← 秘密鍵を選択します。

設定が完了したら「OK」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

ログインできることを確認します。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

パブリックサブネットの EC2 インスタンスがインターネットに出て行けるかチェック

パブリックサブネットの EC2 インスタンスからインターネットに出て行けるか確認します。

 

NICの設定

まずは現在の NIC の設定を確認します。

IPアドレスは「パブリックサブネット」「10.0.0.11」のみ設定されています。

[ec2-user@ip-10-0-0-11 ~]$ ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001 
        inet 10.0.0.11  netmask 255.255.255.0  broadcast 10.0.0.255 
        inet6 fe80::4cf:c5ff:feed:301e  prefixlen 64  scopeid 0x20

 
        ether 06:cf:c5:ed:30:1e  txqueuelen 1000  (Ethernet) 
        RX packets 87804  bytes 88774691 (84.6 MiB) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 31084  bytes 5909972 (5.6 MiB) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536 
        inet 127.0.0.1  netmask 255.0.0.0 
        inet6 ::1  prefixlen 128  scopeid 0x10 
        loop  txqueuelen 1000  (Local Loopback) 
        RX packets 0  bytes 0 (0.0 B) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 0  bytes 0 (0.0 B) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
 
[ec2-user@ip-10-0-0-11 ~]$

 

 

ルーティングテーブルの確認

次にルーティングテーブルを確認します。

デフォルトゲートウェイは「10.0.0.1」になっています。

ここからインターネットに出ていきます。

[ec2-user@ip-10-0-0-11 ~]$ netstat -rn 
Kernel IP routing table 
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface 
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth0 
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0 
[ec2-user@ip-10-0-0-11 ~]$

 

 

インターネットに出て行けるか確認

curlコマンドで外部サイトにアクセスできるか確認しました。

[ec2-user@ip-10-0-0-11 ~]$ curl -i https://google.co.jp 
HTTP/1.1 301 Moved Permanently 
Location: https://www.google.co.jp/ 
Content-Type: text/html; charset=UTF-8 
Date: Sun, 29 Apr 2018 13:03:32 GMT 
Expires: Tue, 29 May 2018 13:03:32 GMT 
Cache-Control: public, max-age=2592000 
Server: gws 
Content-Length: 222 
X-XSS-Protection: 1; mode=block 
X-Frame-Options: SAMEORIGIN 
Alt-Svc: hq=”:443″; ma=2592000; quic=51303433; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=”:443″; ma=2592000; v=”43,42,41,39,35″ 

The document has moved 

<A HREF=”https://www.google.co.jp/”>here. 

 
[ec2-user@ip-10-0-0-11 ~]$ nslookup www.google.co.jp 
Server:         10.0.0.2 
Address:        10.0.0.2#53 
 
Non-authoritative answer: 
Name:   www.google.co.jp 
Address: 216.58.197.227 

 

 

 

 

 

プライベートサブネットにEC2インスタンスを構築する手順

次は「プライベートサブネット」に EC2 インスタンスを構築して、インターネットに出ていくところまで確認をします。

 

ネットワーク構成図

 

 

プライベートサブネットにEC2インスタンスを構築する手順

AWS コンソールより「EC2」をクリックします。

 

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

「インスタンスの作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ1:Amazon マシンイメージ(AMI)」で任意の AMI を選択します。

今回は無料利用枠の対象である「Red Hat Enterprise Linux 7.5」を選択しました。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

「ステップ2:インスタンプの選択」画面で任意のインスタンスタイプを選択し、「インスタンスの詳細の設定」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

「ステップ3:インスタンスの詳細の設定」画面で以下のように設定します。

  • ネットワーク ← 今回利用する VPC を選択します。
  • サブネット ← プライベートサブネットを選択します。
  • 自動割り当てパブリックIP ← 「サブネット設定を使用(無効)」を選択します。(パブリックIPは不要です)
  • ネットワークインタフェース ← プライベートサブネット(10.0.1.0/24)の中から任意の IP アドレスを割り当てます。

設定が完了したら「ストレージの追加」ボタンをクリックします。

 

 

 

「ステップ4:ストレージの追加」画面でディスクサイズを設定し「タグの追加」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

「ステップ5:タグの追加」画面で任意のタグを設定し「セキュリティグループの設定」ボタンをクリックします。

 

 

 

 

「ステップ6:セキュリティグループの設定」画面で「新しいセキュリティグループを作成する」を選択し下図のように設定をします。

  • セキュリティグループ名 ← 任意の名前を付けます。
  • ルール ← 任意のルールを追加します。今回はプライベートサブネットから SSH でログインできればいいのでソースを「10.0.0.0/16」を指定します。(Webサーバを踏み台にしてログインすることができる)

設定が完了したら「確認と作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

「ステップ7:インスタンスの確認」画面で設定内容を確認し「作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

「既存のキーペアを選択するか、新しいキーペアを選択します。」の画面で新規もしくは任意のキーペアを選択して「インスタンスの作成」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

以上で EC2 インスタンスの作成は完了です。

 

 

 

 

 

プライベートサブネットに作成した EC2 インスタンスにログインする

EC2 インスタンスの作成が完了したらログインをしてみます。

ログインするためには一度パブリックサブネットにある EC2 インスタンス(web001)にログインしてから、下図の情報を基に「プライベート DNS」「プライベート IP」へログインすることになります。

※今回の場合は web001 が踏み台サーバーになります。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

Teraterm を起動して「web001」の IP アドレスを入力して「OK」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

「SSH認証」画面で以下のように設定します。

  • ユーザ名 ← ec2-user
  • パスフレーズ ← なし
  • 「RSA/DSA/ECDSA/ED25519鍵を使う」 ← チェックを入れます。
  • 秘密鍵 ← 秘密鍵を選択します。

設定が完了したら「OK」ボタンをクリックします。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

 

 

 

ログインできることを確認します。

【AWS】パブリックサブネットとプライベートサブネットを作成し所属するそれぞれのEC2インスタンスがインターネットに出ていける設定

 

 

ここから先ほどプライベートサブネットに作成した db001 にログインします。

 

web001 に秘密鍵の配布

db001 にログインする前に、web001 に秘密鍵を配布します。

今回は「.ssh」ディレクトリに配布します。

[ec2-user@ip-10-0-0-11 ~]$ cd .ssh/ 
[ec2-user@ip-10-0-0-11 .ssh]$ vi web-server-key.pem

—–BEGIN RSA PRIVATE KEY—–
3F4LtI5RrhfObZET94sx8VkjQGPcyoujQU7M5TCphM9KyVuF/+8w1kuXqmytoMsE5FfSb/+TwIBZ
rsv1ygVRAVUopQu1lYdnj7fHFgPuxbLlGlywY1/ZHqhOlG3EJeJyTdt3cc+LvMRWkCNHts8C2LSA
lEIhakmMIqJ6XJIg9ewQXJcV4R9avhcPIljYTlCrulPJNf5hk01WT0oaVYgXhgusRLsWB0NOTw6b
R1Rqw80K3giVEDuh0gxkgNFZshl7hKbMtVai6aCrpfgTk03Z+iAIZEzzZapoAzETZxeH2HDYNRpY

 

~ 省略 ~

 

wDkyoq6bSZIqKcCD1RA/Cmtwy3/NxgyJR+8XpFy0hzylFNIhfND7mdlWZfbaU9ZdGgydhmJ7sLvN
aHOQJbGaLUkecxoF4PgcYQKBgQCIU7YIRRf8EcIPBjPQXe4Ex8GNipqtW2b3op9THUB/ZJc87Iyb
i/QqP2eVo6NQMMYWmsPJz74L/5dBtpyAidGKsrDKkY2+M1UDxO+hPRlksTqa/x2i0Bb0U80vpqwS
nHLSbGjXvwBwZ6K61GN9WyRDdPWL+FBdCK2SYpYOkzO1TwKBgQCBYlyWj3LrRiFtVWXsgr1Dlz0S
E78iCraH90tyYbqW8klw8l31019OrUCLkDmsz5khAUNTyvkF7MiEmevOffPyVXVFGJjE/VNdLmOn
ud+OdElci0y64iP7OWZ3C8Vq4QSlTwpdrsOEBbT8Lfd+pxCtpqCOsIyfxPUfJOKK4Swvag==
—–END RSA PRIVATE KEY—–
[ec2-user@ip-10-0-0-11 .ssh]$

[ec2-user@ip-10-0-0-11 .ssh]$ chmod 600 web-server-key.pem ← 秘密鍵の権限を「600」に変更します。

[ec2-user@ip-10-0-0-11 .ssh]$ ll
total 12
-rw——-. 1 ec2-user ec2-user 396 Apr 28 23:34 authorized_keys
-rw-r–r–. 1 ec2-user ec2-user 171 Apr 30 03:04 known_hosts
-rw——-. 1 ec2-user ec2-user 1675 Apr 30 03:04 web-server-key.pem
[ec2-user@ip-10-0-0-11 .ssh]$

 

 

 

プライベートサブネットの db001 へログインをする

プライベートサブネットの EC2 インスタンス(db001)に ssh でログインします。

オプション「-i」を付けて秘密鍵を指定してログインをします。

[ec2-user@ip-10-0-0-11 ~]$ ssh -i .ssh/web-server-key.pem 10.0.1.11
Last login: Mon Apr 30 03:05:10 2018 from ip-10-0-0-11.ap-northeast-1.compute.internal
[ec2-user@ip-10-0-1-11 ~]$

 

 

 

 

プライベートサブネットの EC2 インスタンスがインターネットに出て行けるかチェック

プライベートサブネットの EC2 インスタンスからインターネットに出て行けるか確認します。

 

NICの設定

まずは現在の NIC の設定を確認します。

IPアドレスは「プライベートサブネット」「10.0.1.11」のみ設定されています。

[ec2-user@ip-10-0-1-11 ~]$ ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001 
        inet 10.0.1.11  netmask 255.255.255.0  broadcast 10.0.1.255 
        inet6 fe80::8ce:1dff:fe62:452a  prefixlen 64  scopeid 0x20

 
        ether 0a:ce:1d:62:45:2a  txqueuelen 1000  (Ethernet) 
        RX packets 621  bytes 55949 (54.6 KiB) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 648  bytes 58066 (56.7 KiB) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536 
        inet 127.0.0.1  netmask 255.0.0.0 
        inet6 ::1  prefixlen 128  scopeid 0x10 
        loop  txqueuelen 1000  (Local Loopback) 
        RX packets 0  bytes 0 (0.0 B) 
        RX errors 0  dropped 0  overruns 0  frame 0 
        TX packets 0  bytes 0 (0.0 B) 
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 
 
[ec2-user@ip-10-0-1-11 ~]$

 

 

ルーティングテーブルの確認

次にルーティングテーブルを確認します。

デフォルトゲートウェイは「10.0.1.1」になっています。

ここからインターネットに出ていきます。

[ec2-user@ip-10-0-1-11 ~]$ netstat -rn 
Kernel IP routing table 
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface 
0.0.0.0         10.0.1.1        0.0.0.0         UG        0 0          0 eth0 
10.0.1.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0 
[ec2-user@ip-10-0-1-11 ~]$

 

 

インターネットに出て行けるか確認

「yum update」コマンドが実行できるか確認します。

エラーが出力されなければインターネットに出ていけています。

[ec2-user@ip-10-0-1-11 ~]$ sudo su – 
[root@ip-10-0-1-11 ~]# yum update 
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos 
rhui-REGION-client-config-server-7                                               | 2.9 kB  00:00:00 
rhui-REGION-rhel-server-releases                                                 | 3.5 kB  00:00:00 
rhui-REGION-rhel-server-rh-common                                                | 3.8 kB  00:00:00 
(1/7): rhui-REGION-client-config-server-7/x86_64/primary_db                      | 1.2 kB  00:00:00 
(2/7): rhui-REGION-rhel-server-rh-common/7Server/x86_64/group                    |  104 B  00:00:00 
(3/7): rhui-REGION-rhel-server-releases/7Server/x86_64/group                     | 855 kB  00:00:00 
(4/7): rhui-REGION-rhel-server-rh-common/7Server/x86_64/updateinfo               |  33 kB  00:00:00 
(5/7): rhui-REGION-rhel-server-rh-common/7Server/x86_64/primary_db               | 120 kB  00:00:00 
(6/7): rhui-REGION-rhel-server-releases/7Server/x86_64/updateinfo                | 2.8 MB  00:00:00 
(7/7): rhui-REGION-rhel-server-releases/7Server/x86_64/primary_db                |  51 MB  00:00:02 
Resolving Dependencies 
–> Running transaction check 
—> Package krb5-libs.x86_64 0:1.15.1-18.el7 will be updated 
—> Package krb5-libs.x86_64 0:1.15.1-19.el7 will be an update 
—> Package selinux-policy.noarch 0:3.13.1-192.el7 will be updated 
—> Package selinux-policy.noarch 0:3.13.1-192.el7_5.3 will be an update 
—> Package selinux-policy-targeted.noarch 0:3.13.1-192.el7 will be updated 
—> Package selinux-policy-targeted.noarch 0:3.13.1-192.el7_5.3 will be an update 
—> Package subscription-manager.x86_64 0:1.20.10-1.el7 will be updated 
—> Package subscription-manager.x86_64 0:1.20.11-1.el7_5 will be an update 
—> Package subscription-manager-rhsm.x86_64 0:1.20.10-1.el7 will be updated 
—> Package subscription-manager-rhsm.x86_64 0:1.20.11-1.el7_5 will be an update 
—> Package subscription-manager-rhsm-certificates.x86_64 0:1.20.10-1.el7 will be updated 
—> Package subscription-manager-rhsm-certificates.x86_64 0:1.20.11-1.el7_5 will be an update 
—> Package tzdata.noarch 0:2018c-1.el7 will be updated 
—> Package tzdata.noarch 0:2018d-1.el7 will be an update 
–> Finished Dependency Resolution 
 
Dependencies Resolved 
 
======================================================================================================== 
 Package                               Arch   Version            Repository                        Size 
======================================================================================================== 
Updating: 
 krb5-libs                              x86_64 1.15.1-19.el7      rhui-REGION-rhel-server-releases 748 k 
 selinux-policy                         noarch 3.13.1-192.el7_5.3 rhui-REGION-rhel-server-releases 453 k 
 selinux-policy-targeted                noarch 3.13.1-192.el7_5.3 rhui-REGION-rhel-server-releases 6.6 M 
 subscription-manager                   x86_64 1.20.11-1.el7_5    rhui-REGION-rhel-server-releases 993 k 
 subscription-manager-rhsm              x86_64 1.20.11-1.el7_5    rhui-REGION-rhel-server-releases 285 k 
 subscription-manager-rhsm-certificates  x86_64 1.20.11-1.el7_5    rhui-REGION-rhel-server-releases 200 k 
 tzdata                                 noarch 2018d-1.el7        rhui-REGION-rhel-server-releases 481 k 
 
Transaction Summary 
======================================================================================================== 
Upgrade  7 Packages 
 
Total download size: 9.6 M 
Is this ok [y/d/N]:

 

 

curlコマンドで外部サイトにアクセスできるか確認しました。

[root@ip-10-0-1-11 ~]# curl -i https://google.co.jp 
HTTP/1.1 301 Moved Permanently 
Location: https://www.google.co.jp/ 
Content-Type: text/html; charset=UTF-8 
Date: Mon, 30 Apr 2018 04:13:08 GMT 
Expires: Wed, 30 May 2018 04:13:08 GMT 
Cache-Control: public, max-age=2592000 

 

~ 省略 ~

 
[root@ip-10-0-1-11 ~]# nslookup www.google.co.jp 
Server:         10.0.0.2 
Address:        10.0.0.2#53 
 
Non-authoritative answer: 
Name:   www.google.co.jp 
Address: 172.217.24.131 
 
[root@ip-10-0-1-11 ~]#

 

 

検証が完了したら確実に削除をしておくこと

AWS を利用する上で一番重要な部分ですが、AWS は基本的に従量課金制です。

本番のサービスとして利用していないのにインスタンスを起動しっぱなし、EIP を保持しっぱなしにしていると思った以上に課金されて後で驚く羽目になります。

そのため検証が完了したら綺麗に削除しましょう。(削除が一番確実です)

 

以下の主要なサービスで削除し忘れていないサービスがあるか確認します。

  • EC2 インスタンス
  • RDS
  • VPC

 

 

■EC2 インスタンス

 

■RDS

 

■VPC

※NAT ゲートウェイは既に削除済みですがなぜか1になっています。

 

 

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください