APサーバー用のセキュアなネットワークを作る
AWSでこんな感じのネットワークを作りたい。
手順書をまとめたが、途中詰まった部分があったので、勉強ついでにいろいろメモしつつまとめます。
設定項目キャプチャ撮ってたのですが、マスクするのが面倒だったので画像無しです。
ネットワーク作成の流れ
- VPCの作成
- サブネットの作成
- インターネットGWの設定
- NATゲートウェイの作成
- ルートテーブルの設定
- セキュリティグループの作成(おまけ)
ネットワーク作成の手順
1.VPCの作成
- VPCダッシュボードを開く
- 「VPCの作成」ボタンを押下する
- 設定項目に下記を入力し、「作成」ボタンを押下する
名前タグ:任意のVPC名
IPv4CIDR ブロック:任意のIPアドレス
IPv6CIDR ブロック:IPv6CIDR ブロックなし
テナンシー:デフォルト
メモ
- VPC=Virtual Private Cloud=論理的に分離されたクラウドネットワーク
- 自分の IP アドレス範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定などができる
2.サブネットの作成
- VPCダッシュボード―サブネットメニューへ移動する
- 「サブネットの作成」ボタンを押下する
- 設定項目に下記を入力し、「作成」ボタンを押下する
名前タグ:任意のサブネット名
VPC:「1.VPCの作成」で作成したVPC
VPC CIDR:自動入力
アベイラビリティーゾーン:任意のアベイラビリティーゾーン
IPv4CIDR ブロック:任意のIPアドレス
メモ
- 各リージョンにpublic用のサブネットとprivate用のサブネットを作成する
- ブロックの振り方等に特に決まりはないが、サブネットマスクの値は小さいほうが割り振れるIPアドレスが多い(一度、28で設定したためIPアドレスが10個しか割り振れなかった)
- AWSのIPアドレスは普通のネットワーク設定と違って、設定した時点で5個使われるらしい(普通はネットワークアドレスとブロードキャストアドレスの2個)
- アベイラビリティーゾーン=物理的に分けられたデータセンター
3.インターネットGWの設定
- VPCダッシュボード―インターネットゲートウェイメニューへ移動する
- 「インターネットゲートウェイ」の作成ボタンを押下する
- 設定項目に下記を入力し、「作成」ボタンを押下する
名前タグ:任意のインターネットゲートウェイ名
- 再度、VPCダッシュボード―インターネットゲートウェイメニューへ移動し、「アクション」タブから「VPCにアタッチ」を選択する
- 設定項目に下記を入力し、「アタッチ」ボタンを押下する
メモ
- インターネットゲートウェイが通信の出入り口となる
4.NATゲートウェイの作成
- VPCダッシュボード―NATゲートウェイメニューへ移動する
- 「NATゲートウェイの作成」ボタンを押下する
- 設定項目に下記を入力し、「NATゲートウェイの作成」ボタンを押下する
サブネット:public用に設定したサブネット
Elastic IP 割り当てID:新しいEIPの作成
メモ
- NATゲートウェイはprivateサブネットのIPアドレスを割り振られたノードが外へ通信する際に必要
- 今回、NATゲートウェイの作成を失念していたため、ロードバランサとAPサーバ間の通信を許可していてもWebからアクセスできなかった
- 気付くのに一番時間がかかった
5.ルートテーブルの設定
- VPCダッシュボード―ルートテーブルメニューへ移動する
- 「3.インターネットGWの設定」で自動作成されたルートテーブルを選択し、「ルート」タブの「ルートの編集」ボタンを押下する
- 「ルートの追加」ボタンを押下し、設定項目に下記を選択する
ターゲット:Internet Gateway ▸ 「3.インターネットGWの設定」で作成したインターネットゲートウェイ
送信先:0.0.0.0/0
- 再度、「3.インターネットGWの設定」で自動作成されたルートテーブルを選択し、「サブネットの関連付け」タブの「サブネットの関連付けの編集」ボタンを押下する
- 「2.サブネットの作成」で作成したサブネットを選択し、「保存」ボタンを押下する
メモ
- ルートテーブルを作成することで通信経路を登録できる
- public用のルートテーブルとprivate用のルートテーブルを作成する
- private用のターゲットはNATゲートウェイを指定する(外向きの通信を行う際にNATゲートウェイを経由するから)
6.セキュリティグループの作成(おまけ)
ネットワークはできたので、ここにAPサーバなり、DBを作成する際に必要なセキュリティグループの作成方法をEC2へのSSH接続許可を例に記載します。
- EC2ダッシュボードのセキュリティグループメニューを開く
- 「セキュリティグループの作成」ボタンを押下する
- 設定項目に下記を入力し、「作成」ボタンを押下する
セキュリティグループ名:任意のセキュリティグループ名
説明:任意の説明
インバウンド/タイプ:SSH
インバウンド/ソース:マイIP
インバウンド/説明:任意の説明
メモ
- セキュリティグループ=ファイアウォールの設定
- インバウンド/ソースにマイIPを設定することで、自分のIPアドレスのSSH接続だけ許可することができる
まとめ
目標としていたネットワークを作成することができた。
今後は、NATインスタンスやまだ使ったことのないサービスを使用して、よりよいものを作りたい。