モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

工作HardwareHub ロゴ画像 (Laptop端末利用時)
工作HardwareHub ロゴ画像 (Mobile端末利用時)
目次目次を開く/閉じる

AWS VPC の基本的な設定例

モーダルを閉じる

ステッカーを選択してください

モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2015/05/02
最終更新最終更新
2017/09/17
記事区分記事区分
一般公開

目次

    アカウント プロフィール画像 (サイドバー)

    サーバーレスとDevOpsに注力中。AWSを使った効率的なインフラ構築が得意です。

    0
    ステッカーを贈るとは?

    自宅のネットワークから AWS VPC (Virtual Private Cloud) 内の EC2 インスタンスに SSH 接続するための設定例を記載します。リージョンは Tokyo (ap-northeast-1) を利用します。

    VPC の作成

    Your VPCs 内の Create VPC から作成します。独立したプライベートアドレス空間が作成されます。

    • Name tag: myvpc
    • CIDR block: 192.168.0.0/16
    • Tenancy: Default

    インターネットゲートウェイの作成

    VPC はインターネットとは切り離された存在です。VPC とインターネットの中継ポイントとしてインターネットゲートウェイを作成する必要があります。Internet Gateways の Create Internet Gateway から作成します。

    • Name tag: mygateway

    作成したら Attach to VPC で myvpc にアタッチします。

    サブネットの作成

    Subnets 内の Create Subnet から作成します。VPC のプライベートアドレス空間内に存在する更に小さなアドレス空間です。二つの AZ (Availability Zone) にそれぞれ一つ作成します。

    mysubnet-0001 (AZ: ap-northeast-1b)

    • Name tag: mysubnet-0001
    • VPC: myvpc
    • AZ: ap-northeast-1b
    • CIDR block: 192.168.1.0/24

    mysubnet-0002 (AZ: ap-northeast-1c)

    • Name tag: mysubnet-0002
    • VPC: myvpc
    • AZ: ap-northeast-1c
    • CIDR block: 192.168.2.0/24

    作成されたサブネットの Available IPs は 256 のうち以下の 5 が利用できないため 256 - 5 = 251 となっています。

    • 192.168.[1-2].0
    • 192.168.[1-2].1
    • 192.168.[1-2].2
    • 192.168.[1-2].3
    • 192.168.[1-2].255

    サブネットのルーティング設定

    ここまでの手順で以下のようなネットワークの構成要素が揃いました。

    インターネット --- VPC { インターネットゲートウェイ (igw) --- 仮想ルータ (Route Table) --- サブネット (mysubnet-000[1-2]) }
    

    サブネットには Route Table が設定されています。Route Table はそれぞれのサブネットに接続された仮想ルータのようなものです。

    igw --- 仮想ルータ 1 (Route Table) --- mysubnet-0001
          - 仮想ルータ 2 (Route Table) --- mysubnet-0002
    

    仮想ルータには既定で以下のルーティングが設定されています。

    • Destination: 192.168.0.0/16 (VPC のプライベートアドレス空間)
    • Target: local

    Target local とは VPC 内に存在するはずだから適切なサブネットにルーティングすればよいという AWS VPC 独特の表記です。これによってサブネット間の通信が可能になっています。こちらの記事で想像されているように、仮想ルータ同士はお互いに接続されているのです。

    インターネットゲートウェイ (igw) へのルーティングを追加

    インターネットゲートウェイ (igw) と仮想ルータは物理的には回線で接続された状態ですが、仮想ルータにルーティング設定がなされていないためサブネット内からのトラフィックは igw に到達できません。この状態のサブネットを private subnet とよびます。そこで、以下のようにルーティング設定を追加します。igw へのルーティングが設定されたサブネットを public subnet とよびます。Route Table タブの (Edit ではなく) Route Table リンクを押した後の Edit から編集します。

    • Destination: 0.0.0.0/0
    • Target: igw-(mygatewayのid)

    EC2 インスタンスの起動

    mysubnet-0001, mysubnet-0002 それぞれに所属する EC2 インスタンスを一台ずつ起動します。ENI (Elastic Network Interface) という仕組みがあるためプライベート IP は起動時に指定できます。以下のように設定しました。

    • myinstance-0001 (private ip: 192.168.1.4, public ip: なし)
    • myinstance-0002 (private ip: 192.168.2.4, public ip: なし)

    補足

    • 外部からの TCP 22 番アクセスが許可されるセキュリティグループを必要であれば新規作成して設定
    • 鍵は必要なら新規作成して設定

    仮想 IP の割り当て設定

    ここまでで以下のような状況になりました。仮想ルータのルーティング設定も完了しています。

    インターネット --- VPC { インターネットゲートウェイ (igw) --- 仮想ルータ (Route Table) --- サブネット --- EC2 }
    

    しかしながら EC2 インスタンスはプライベート IP しか保有しておらずグローバル IP がないためインターネットと通信できません。正確には EC2 からインターネット向けのトラフィックはルーティングできますが、レスポンスのトラフィックを EC2 までルーティングする手段がありません。そこで EC2 に Elastic IP という AWS が提供するグローバルな仮想 IP を割り当てます。「Elastic IPs メニュー」→「Allocate New Address」→「Associate Address」から設定します。

    • Instance: myinstance-000[1-2]
    • Private IP address: 192.168.[1-2].4

    何が行われるようになるか

    • こちらの記事にあるように Static NAT がゲートウェイで行われる
    • 仮想 IP はゲートウェイで管理される
    • ゲートウェイにはインスタンスのプライベート IP と仮想 IP の対応表 Static NAT テーブルが存在
    • インスタンスからは自分に割り当てられている仮想 IP の存在を確認できない

    補足

    • インターネットゲートウェイは IP マスカレード (NAT) してくれない

    SSH クライアントから EC2 への接続

    $ chmod 400 mykeypair.pem 
    $ ssh ec2-user@52.68.44.224 -i mykeypair.pem
    

    注意

    • TCP 22 のみ許可しているので ping や traceroute/tracepath (ICMP) は通らない
    • igw へのルーティング設定がなされていないサブネット内の EC2 については外部からのトラフィックは通るがその応答トラフィックが外にルーティングされない

    EIP は EC2 インスタンスからは認識できない (上述の通り)

    $ ip addr show
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
    

    EC2 インスタンスのルーティングテーブル

    $ ip route show
    default via 192.168.1.1 dev eth0  ← デフォルトゲートウェイ (仮想ルータ)
    169.254.169.254 dev eth0  ← リンクローカル
    192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.4  ← 所属サブネット
    
    0
    詳細設定を開く/閉じる
    アカウント プロフィール画像 (本文下)

    サーバーレスとDevOpsに注力中。AWSを使った効率的なインフラ構築が得意です。

    記事の執筆者にステッカーを贈る

    有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

    さらに詳しく →
    ステッカーを贈る コンセプト画像

    Feedbacks

    Feedbacks コンセプト画像

      ログインするとコメントを投稿できます。

      関連記事

      • Ciscoルータの基本操作
        シスコ社の製品のうち、ルータは Cisco*** という製品名でスイッチは Catalyst*** という製品名です。いずれも *** は機種番号で、数字が小さいほど小規模ネットワーク向けとなっています。例えば資格試験 CCNA Routing and Switching では小規模および中規模ネットワークが対象です。そのため、中小規模のネットワークのルータおよびス
      • BIND 9 ゾーンファイル Dynamic Update の設定方法
        DHCP 環境下などで IP が動的に付与される場合は DNS レコードを動的に更新する必要があります。これを実現する Dynamic Update 機能が BIND 9 には実装されています。使用方法をまとめます。Dynamic Update に対応した DNS を特に Dynamic DNS または DDNS とよぶことがあります。 ゾーンファイルの作成 ローカルホストに example.co...
      • VyOS の基本的なルーティング設定
        本ページでは、複数の LAN をつなぐルータとしての設定方法をまとめます。具体的には、スタティックルーティングおよびダイナミックルーティング (RIP/OSPF/BGP)の設定方法を把握します。 設定方法を検証するための構成 ルーティング設定の検証を行うために VirtualBox で 5 台の VM を用意します。ホスト OS から vyos-0001 へ SSH 接続する部分を除き、「内部ネッ...
      • BIND 9.10.2 の公式マニュアルに学ぶ DNS の基本
        DNS の実装としては Internet Systems Consortium (ISC) の Berkeley Internet Name Domain (BIND) が有名です。本ページは公式サイトの Documentation からダウンロードできる v9.10.2 の PDF マニュアルおよび『DNSの仕組み完全解説』から基本事項を抽出してまとめ
      • スタティックルートの設定
        サムネイル画像-73e0bcdf3a
        インターフェイスに IP を設定しただけでは他のデバイスと通信できません。各デバイスにルーティングテーブルを設定する必要があります。ルーティングテーブルの設定方法には動的に自動設定するものと、静的に手動設定するものの二種類があります。ここでは静的に手動設定するスタティックルートの方法を紹介します。 具体的にはまず PC0, PC1, Router0, Router1 それぞれ
        あきらあきら10/7/2021に更新
        いいねアイコン画像0