73
64

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.

[AWS]ネットワークの構築方法

Last updated at Posted at 2020-01-14

2020年1月13日現在の内容です。

構築するネットワーク
スクリーンショット 2020-01-14 20.05.40.png

用語説明

リージョン

AWSの各サービスが提供されている地域のこと
例:東京,オハイオ,ロンドン

  • AWSのサービスを利用する際にまずリージョンを決める必要がある
  • リージョンごとに使えるサービスが異なる
  • 基本的に新しいサービスはアメリカのリージョンから利用可能になり、その後他のリージョンに展開される
  • 日本でAWSを利用する際は東京リージョンを選択したほうが良い(応答時間が早いから)

アベイラビリティゾーン

世界各地にあるデータセンターをまとめたもの

  • それぞれのリージョンにアベイラビリティゾーンは2つ以上存在する(あるアベイラビリティゾーンが災害で使用不可になっても、他のアベイラビリティゾーンを利用することでサービスを常に稼働させることができる)

VPC(Virtual Private Cloud)

AWS上に仮想ネットワークを作成できるサービス

  • リージョンを選択してVPCを作成する(リージョンをまたいでVPCは作成できない)

サブネット

VPCを細かく区切ったネットワーク

  • アベイラビリティゾーンの中にサブネットを作成する
  • VPCのIPアドレスの中にサブネットのIPアドレスが含まれる
  • パブリックサブネットはインターネットから接続できる
  • プライベートサブネットはインターネットから接続できない

IPアドレスとは

IPアドレス

ネットワーク上の機器を識別するためのインターネットの住所

  • ネットワーク上で重複しない番号
  • 32ビットの整数値で構成される
  • 一般的に32ビットのIPアドレスを8ビットずつ4組に分けピリオドを入れて10進数で表現する
    (0.0.0.0 〜 255.255.255.255)

パブリックIPアドレス

  • インターネットに接続する際に使用するIPアドレス
  • 重複すると正しく通信できなくなるので、ICANN(Internet Corporation for Assigned Names and Numbers)が管理している
  • プロパイダやサーバー事業者から貸し出される(AWS上でも貸し出される)

プライベートIPアドレス

  • インターネットで使用されないIPアドレス
  • 以下範囲内のアドレスを自由に使用できる
    • 10.0.0.0 〜 10.255.255.255
    • 172.16.0.0 〜 172.31.255.255
    • 192.168.0.0 〜 192.168.255.255
  • 社内LANの構築やネットワークの実験時はプライベートIPアドレスを使用する

IPアドレスの範囲

ネットワークを構築する際は、そのネットワークで使用するIPアドレスの範囲を決める必要がある。
IPアドレスはネットワーク部とホスト部に区分けして範囲を表記する
例:192.168.128.0 〜 192.168.128.255を使用する場合、共通部分(192.168.128)がネットワーク部、異なる部分(0〜255)がホスト部

範囲の表記

  1. CIDR表記
    IPアドレスの後ろに「/」を書き、その後ろにネットワーク部が先頭から何ビット目までなのかを記載する
    例:ネットワーク部が24ビット → 192.168.128.0/24

  2. サブネットマスク表記
    IPアドレスの後ろに「/」を書き、ネットワーク部を表すビットと同じ部分を1に、ホスト部を表すビットと同じ部分を0にする
    例:ネットワーク部が24ビット → 192.168.128.0/255.255.255.0

VPCの作成

リージョンを「東京」に設定し、サービス → VPCを検索
スクリーンショット 2020-01-12 17.30.11.png

VPCを選択
スクリーンショット 2020-01-12 21.14.33.png

デフォルトでVPCが作成されているがこれは使用しない
「VPCの作成」をクリック
スクリーンショット 2020-01-12 21.17.48.png

以下の画像を参考に設定し、「作成」をクリック

  • 名前タグ:VPCを識別する名前
  • IPv4 CIDR ブロック:作成するVPCにおけるIPアドレスの範囲
  • テナンシー:物理ハードウェアを専用にする(設定するとEC2の料金が割増になる)
スクリーンショット 2020-01-12 21.24.59.png

VPCが作成されていることを確認
スクリーンショット 2020-01-12 21.26.56.png

サブネットの作成

パブリックサブネットの作成

サブネットを選択
スクリーンショット 2020-01-12 21.31.29.png

デフォルトでサブネットが作成されているがこれは使用しない
「サブネットの作成」をクリック
スクリーンショット 2020-01-12 21.33.07.png

以下の画像を参考に設定し、「作成」をクリック

  • 名前タグ:サブネットを識別する名前
  • VPC:サブネットを作成するVPC
  • アベイラビリティゾーン:サブネットを作成するアベイラビリティゾーン
  • IPv4 CIDR ブロック:作成するサブネットにおけるIPアドレスの範囲
スクリーンショット 2020-01-12 21.54.31.png

パブリックサブネットが作成されていることを確認
スクリーンショット 2020-01-12 21.56.19.png

プライベートサブネットの作成

「サブネットの作成」をクリック
スクリーンショット 2020-01-12 21.57.48.png

以下の画像を参考に設定し、「作成」をクリック
スクリーンショット 2020-01-12 21.59.41.png

プライベートサブネットが作成されていることを確認
スクリーンショット 2020-01-12 22.01.19.png

ルーティングの設定

パブリックサブネットからインターネットに接続できるようにしたい

ルーティングを設定する

ルーティング:IPアドレスからIPアドレスに紐づくルーター(AWSではターゲットと呼ぶ)へつなぐこと

ルートテーブル:IPアドレスとそのルーター情報を一覧化したもの(経路制御表)

デフォルトルート(0.0.0.0/0):ルートテーブルに登録されているアドレスに一致しないときの経路

IPアドレス ルーター(ターゲット)
10.0.1.0/24 local(自身のネットワーク)
10.0.2.0/24 ルーターB
0.0.0.0/0 ルーターC

インターネットゲートウェイ:インターネットとVPCをつなぐ仮想ルーター

インターネットゲートウェイを新規作成してVPCに設置する → local以外をインターネットゲートウェイにつなげるようにする
*ルートテーブルはVPCと各サブネットに設定できる
*AWSはサブネットとルートテーブルを定義すると暗黙的にルーターが動作する

インターネットゲートウェイを作成し、VPCにアタッチする

「インターネットゲートウェイ」をクリック
スクリーンショット 2020-01-13 14.02.13.png

「インターネットゲートウェイの作成」をクリック
スクリーンショット 2020-01-13 14.03.55.png

任意の名前を設定し、「作成」をクリック
スクリーンショット 2020-01-13 14.07.39.png

作成されたことを確認
スクリーンショット 2020-01-13 14.09.57.png

作成したインターネットゲートウェイを選択し、「アクション」 → 「VPCにアタッチ」をクリック
スクリーンショット 2020-01-13 14.11.20.png

作成したVPCを選択し、「アタッチ」をクリック
スクリーンショット 2020-01-13 14.16.14.png

VPCがアタッチされていることを確認
スクリーンショット 2020-01-13 14.19.15.png

ルートテーブルを作成し、パブリックサブネットに紐付ける

ルートテーブルの作成

「ルートテーブル」をクリック
スクリーンショット 2020-01-13 14.24.08.png

現在のルートテーブルを確認(localが作成されている)
スクリーンショット 2020-01-13 14.27.55.png

「ルートテーブルの作成」をクリック
スクリーンショット 2020-01-13 14.41.35.png

任意の名前、作成したVPCを選択し、「作成」をクリック
スクリーンショット 2020-01-13 14.44.11.png

ルートテーブルとパブリックサブネットを紐付ける

作成したルートテーブルはVPCのみ割り当てられているので、パブリックサブネットにも割り当てる

作成したルートテーブルを選択し、「サブネットの関連付け」 → 「サブネットの関連付けの編集」をクリック
スクリーンショット 2020-01-13 14.50.02.png

パブリックサブネットを選択し、「保存」をクリック
スクリーンショット 2020-01-13 14.57.41.png

サブネットが追加されていることを確認
スクリーンショット 2020-01-13 14.59.35.png

デフォルトルートをインターネットゲートウェイに設定する

作成したルートテーブルを選択し、「ルート」 → 「ルートの編集」をクリック
スクリーンショット 2020-01-13 15.03.03.png

「ルートの追加」をクリック
スクリーンショット 2020-01-13 15.09.32.png

以下を参考に設定し、「ルートの保存」をクリック

  • 送信先:0.0.0.0/0
  • ターゲット:Internet Gateway → 作成したインターネットゲートウェイ
スクリーンショット 2020-01-13 15.16.03.png

ルートが追加されていることを確認
スクリーンショット 2020-01-13 15.19.47.png

ネットワーク設計で考慮すべきポイント

VPCの設計ポイント

  • プライベートIPアドレス範囲から指定する
    • VPCでは仮想のプライベートネットワーク空間を作成するので、プライベートIPアドレスの使用が推奨
  • IPアドレスのホスト部は大きめに設定する
    • ホスト部の範囲は/28 〜 /16と決まっている
    • /16が推奨
  • オンプレミスや他のVPCレンジと重複しないようにする
    • オンプレミスとクラウドを併用している場合、レンジが重複するとどちらに接続すればよいかわからなくなるため

VPCとアカウントの分け方

  • 異なるシステムを運用する場合、アカウントは分ける
    • 異なるシステムを同一アカウント内に用意すると管理が煩雑になる
  • 同一システムで複数環境が存在する場合、同一アカウントでVPCとリージョンを分ける
    • VPCを分けるとIAMの設定が一度でよいが、各環境のリソースが見えて事故の元になる
    • アカウントを分けると他の環境のリソースが見えず作業しやすいが、環境ごとにIAMの設定が必要

サブネットの設計ポイント

  • 将来的に必要なIPアドレス数を見積もって設定する
    • /24が標準的
  • サブネットの分割はルーティングとアベイラビリティゾーンを基準に行う
    • サブネットに割り当てられるルートテーブルは1つ
    • インターネットアクセスの有無、拠点アクセスの有無などのルーティングポリシーに応じて分割する
    • 高可用性のために2つ以上のアベイラビリティゾーンを使用する

*可能な限り全てのサブネットには明示的に何かしらのルートテーブルを紐づけた方が良い
 →ルートテーブルを設定していない場合、デフォルトで存在するルートテーブルが暗黙的に使われるので、
  デフォルトルートテーブルが変更された際に意図しない影響が出るリスクが発生するから

参考

AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得

73
64
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
73
64

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?