Closed10

Amazon VPC学習メモ

Amazon VPCとは?

AWS上でネットワークを構成するサービス。

VPCの基本的な組み方

1. 全体的なネットワーク空間を定義する

VPCを作成し、AWSのリソースが稼働するためのネットワーク空間を定義
- VPCの作成
将来的なリソース拡張を考慮して、IPアドレス範囲は大きめに作成する。
RFC 1918に指定されているプライベート IPv4 アドレス範囲推奨
最初のアドレスブロック作成後は変更できないので注意。(2個以降は追加・削除できる)
CIRD推奨は/16 (16bit ~ 28bit)

2. サブネットを定義する

ネットワーク空間をより細かく分解する
サブネットの中でEC2等が稼働する環境にする。
サブネットを使用できる範囲も16bit ~ 28bit
- アベイラビリティゾーン
各リージョンに複数のAZが存在する。
AZは物理的なデータセンター。
このデータセンターを1つ選ぶ。
冗長を考える場合は複数のデータセンター(AZ)を利用した方がいい。
- サブネットに対してAZとアドレスを選択
各AZごとに最低ひとつのサブネットを用意する。
サブネットは/24推奨。
サブネットで利用できないIPアドレスがある。
Image from Gyazo

3. インターネットへの接続経路設定

  • ルートテーブル
    ルートテーブルはパケットがどこに向かえばいいのかを示すもの。
    VPC作成時にデフォルトで1つルートテーブル作成される。
    デフォルトではVPC内通信のみ許可されている。
    カスタムルートテーブルを作成し、インターネットへのルートを設定する。

  • インターネットゲートウェイ作成
    インターネットゲートウェイを作成して、VPCにアタッチする。
    VPCとインターネット間の通信が可能になる。

4. VPCへのトラフィック管理

VPCの仮想ファイアウォールとして機能ものが大きく2つある。
- セキュリティグループ
ステートフルなファイアーウォール
EC2やRDS等のインスタンス対して設定する。
デフォルトでは同じセキュリティグループ内の通信のみ許可。
初期設定に必要なポートを許可する(SSHやHTTP,HTTPSなど)
- ネットワークACL
ステートレスなファイアーウォール
サブネット単位で適用される
デフォルトでVPCに設定されるACLはすべてのIn・Outトラフィックを許可。
- VPCセキュリティコントロール

  • セキュリティグループとネットワーク ACL の比較
    ネットワークACL(サブネット)で外部通信を拒否していれば、
    セキュリティグループで許可していても通信できない。

Image from Gyazo

ハンズオン概要

ハンズオン①

  • VPC作成
  • サブネット作成
  • インターネットゲートウェイ作成
    Image from Gyazo

ハンズオン②

  • パブリックサブネットにWebサーバを設置する
  • インタネットからWebサーバに接続し、画面が表示されるかを確認する。
    Image from Gyazo

ハンズオンを実際にやってみる

VPC作成

東京リージョンにVPCを作成する。
IPアドレス空間は「10.0.0.0/16」
Image from Gyazo

Image from Gyazo
Image from Gyazo

サブネット作成

VPCのアドレス空間「10.0.0.0/16」をさらに分割、4つのサブネットを作成する。
AZをAとCに分けて、プライベート用サブネットとパブリック用サブネットを
それぞれ1つずつ作成していく。
Image from Gyazo

まず、VPCを選択する。
Image from Gyazo

Image from Gyazo
Image from Gyazo

メモ
サブネット作成後にアドレス範囲は修正できない?

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

Image from Gyazo

Image from Gyazo
インタネットゲートウェイを作ったばかりの状態。
どのVPCにもアタッチされていない。
Image from Gyazo
VPCにアタッチする。
Image from Gyazo
Image from Gyazo

メモ
3回目20210622

ルートテーブルの作成

以下のルートテーブルを作成し、サブネットと関連付ける。
Public Route Table:インターネット接続
Private Route Table:インターネット接続不可

Image from Gyazo

  • デフォルトの設定
    以下はVPC作成時にデフォルト作成されたルートテーブル
    4つのサブネットと関連付けされていて、
    VPC内通信のみ許可されている。(Local)
    Image from Gyazo

  • インターネットへのルート設定(Public Route Table)
    デフォルトゲートウェイ「0.0.0.0/0」を設定する
    Image from Gyazo
    Image from Gyazo
    Image from Gyazo

Image from Gyazo
パブリックサブネットを関連付けする。
Image from Gyazo
Image from Gyazo

  • VPC内通信のみ(Private Route Table)

ルートテーブル動作確認

Image from Gyazo

  • IAMロール作成
  • EC2起動
    サーバをインターネットに公開するため、パブリックIPv4アドレスが必要。
    Image from Gyazo
    Image from Gyazo
    Apacheインストール、起動
    Image from Gyazo
    セキュリティグループ設定
    Image from Gyazo

ルートテーブル関連付けの変更

Pubulic-subnet-1のルートテーブルを
Public Route Table から Private Route Table に変更する。
プライベートサブネットと同じ扱いになり、インターネット接続不可になる。
Image from Gyazo

NATゲートウェイの設置

プライベートサブネット上に設置したサーバをインターネット接続可能にする

  • Public-subnet-c に NAT Gateway を設置
  • Private Route Table編集
  • Private-subnet-c に internalサーバを設置

InternalサーバからNAT Gatewayを経由してインターネット接続ができるようにする
Image from Gyazo

  • Public-subnet-c に NAT Gateway を設置
    サブネット選択(Private-subnet-c)
    Image from Gyazo
    Elastic IP割り当て
    Image from Gyazo
  • Private Route Table編集
    Image from Gyazo
    設定確認
    Image from Gyazo
  • Private-subnet-c に internalサーバを設置
    VPCとサブネットを選択する
    Webに公開しないので「自動割り当てパブリックIP」は設定しない
    Image from Gyazo
    IAMロール
    Image from Gyazo
    これでinternalサーバは外部への接続可能になる。
    Image from Gyazo

NATゲートウェイ動作確認

  • NATゲートウェイを介してSSMに接続可能であることを確認

  • NATゲートウェイを削除するとSSMに接続不可であることを確認
    Image from Gyazo

  • NATゲートウェイを介してSSMに接続可能であることを確認
    Image from Gyazo
    接続可能
    Image from Gyazo

  • NATゲートウェイを削除するとSSMに接続不可であることを確認
    NATゲートウェイ削除
    Image from Gyazo
    Image from Gyazo
    接続不可
    Image from Gyazo

補足

NATゲートウェイは複数インスタンスに紐づけ可能
Image from Gyazo

このスクラップは4ヶ月前にクローズされました
ログインするとコメントできます