オンプレミスでは、ルーターなどのネットワーク機器を設置してネットワーク設定を行い、ネットワークを組みますが、AWSでシステムを構築する際には、VPC(Virtual Private Cloud)を利用することで機器を設置することなく、AWS内にプライベートなネットワーク空間を作成することができます。クラウド製品を使うことで、インフラ設備の保守・運用にあたる管理コストも減るのかもしれません。
AWSでサーバー構築をする際、仮想サーバ(EC2インスタンス)を配置する場合にも、「まずはVPCを作成する」というのが定石でしょう。そうでなければ、インターネットに接続する・しないといったグループ分けや、サブネットを利用した冗長構成を組むことが難しくなってしまいます。
普段、AWSのインフラ作業をしている方であれば、ネットワークの知識をお持ちだと思いますが、実際に興味はあるけれど、AWSのシステムに触れる機会があまりないという方もいらっしゃると思います。
ここでは、ネットワークの基礎事項を確認した後、AWSシステムを構築する上で、重要となるVPC/サブネット/ルートテーブル/SG/IGW の設定について、実際に手を動かして確認していきたいと思います。
Contents
AWSでネットワーク設定~VPCを学ぶ前の準備
「AWSでインフラを構築する」にもネットワークの知識が必要ということで、まずは以下の用語を確認していきます。
- IPアドレスとは
- ”グローバル”と”プライベート”
- ”IPアドレス”と”サブネット(マスク)”
- CIDR
IPアドレスとは/ ”グローバル”と”プライベート”
IPアドレスは、インターネットおよび組織上の住所のようなもので、0~255の10進数の4つの組み合わせで表現されます。このアドレスは、以下のようにネットワーク部とホスト部に分けられます。
”IPアドレス”と”サブネット(マスク)” /CIDR
AWSでネットワーク周りの設定をする際に、「IPアドレス/サブネット」のようなCIDR表記を使用することがあります。サブネットとは、ネットワーク部が等しいアドレス範囲のことをいいます。
AWS~VPC(Virtual Private Cloud)とは
VPCは、Viurtual Private Cloudの略で、AWS内にプライベートな空間を作成することができます。
インターネットに接続する・しないといったグループ分けや、サブネットを利用した冗長構成を組むことで、セキュリティを向上させることができます。
事前準備として、「AWSのアカウント作成」をお願いします。
https://aws.amazon.com/jp/register-flow/
それでは、実際にVPCから作成していきましょう
VPC(Viurtual Private Cloud)とサブネットの作成
AWSのWeb管理画面である「マネジメントコンソール」を開きましょう。
サービスから「VPC」を選択します。
現在使用されているVPCの一覧が表示されます。
デフォルトで最初から1つ作成されていますが、これはルートアカウントを作成した時に自動で作成されるものになります。
今回作成するVPC内の構成を下に示します。
それでは、VPCとサブネットをまず作成していきましょう。
>> [VPCの作成]を押下
ここからがVPCの作成画面になります。
VPCの中にサブネットを4つ作るということを、これから行っていきます
では早速、マネジメントコンソールにログインして作業を進めていきましょう
サービスから「VPC」を選択して、左メニューからサブネットを選択します。
「サブネットを作成」
「public-subnet-1a」で作成したのと同様の作業を繰り返します。
►「private-subnet-1a」
IPv4 VPC CIDRブロック:192.168.0.0/20
IPv4 サブネット CIDRブロック:192.168.2.0/24►「public-subnet-1c」
IPv4 VPC CIDRブロック:192.168.0.0/20
IPv4 サブネット CIDRブロック:192.168.3.0/24
►「private-subnet-1c」
IPv4 VPC CIDRブロック:192.168.0.0/20
IPv4 サブネット CIDRブロック:192.168.4.0/24
4つのサブネットが作成されたことが確認できると思います。
ルートテーブルの作成
VPCとサブネットの設定が終わったら、異なるネットワークをまたいで通信するための経路情報である「ルートテーブル」を作成していきましょう。ここでは、public用とprivate用のもの1つずつ作成していきます。
サービスから「VPC」を選択した後、左メニューからルートテーブルを選択します。
「ルートテーブルを作成」
まずはpublic用のルートテーブルを作成します。
次はprivate用のルートテーブルを作成します。
サブネットの関連付けのタブから、「サブネットの関連付けを編集」を押下し、作成したルートテーブルにprivateのサブネットとpublicのサブネットをそれぞれ紐付けておきましょう。
セキュリティグループの作成
次は、通信のフィルタリングを行うファイアウォールに相当する「セキュリティグループ」を作成していきましょう。
作成する際、大まかな構成を考え、目的ごとにセキュリティグループを作成するようにしていきましょう。
ここでは、以下のセキュリティグループを作成します。
・Webサーバー用
・APサーバー用
・DBサーバー用
・運用管理用
それでは順番にセキュリティグループを作成していきましょう。
サービスから「VPC」を選択後、左メニューからセキュリティグループを選択
「セキュリティグループを作成」
まずはWeb用のセキュリティグループを作成していきます。
セキュリティグループが1つ作成されたことが分かると思います。
次はAPサーバー用のセキュリティグループを作成していきます。
ここでも、APサーバー用のセキュリティグループが1つ作成されたことが分かると思います。
ルールを追加する場合、インバウンド/アウトバウンドのルールを編集をクリックし、ルールを保存します。
同様に、運用管理用のセキュリティグループも作成していきます。
運用管理用のセキュリティグループも出来ました。
最後に、DB用のセキュリティグループも作成していきます。
APサーバー用とWebサーバー用のアウトバウンドの設定を編集して完了します。
インターネットゲートウェイの作成
VPCはプライベートな空間な為、VPCだけで外部通信はできないので、「VPCがインターネットへ接続する為の出入り口である “インターネットゲートウェイ”」を作成していきましょう。
実際のインターネットゲートウェイの作成作業としては、以下のようになります。
1.インターネットゲートウェイの作成
2.VPCへアタッチ
3.パブリックネットワークと接続
それでは、やっていきましょう。
マネジメントコンソールにログインして、サービスから「VPC」を選択後、
左メニューからインターネットゲートウェイを選択
「インターネットゲートウェイの作成」
インターネットゲートウェイを作成しただけでは、「Detached」の状態のままで、VPCに接続されていないので、IGWを選択した状態で、右上のアクションから「VPCにアタッチ」をします。
ルートテーブルに設定を入れてあげないと、外へ出ていけない為、設定をしていきます。
public のルートテーブルのルートタブを開きます。
「ルートを編集」を押下
どこへでも外へ出ていけるよう「0.0.0.0/0」としてターゲットをインターネットゲートウェイとして
変更を保存します。
これで今回、ネットワーク設定として
「VPC、サブネット、ルートテーブル、セキュリティグループ、インターネットゲートウェイ」の作成と設定を行うことができました。
基本的なサービスに触れることで、AWSの知見を深めていければと思います。
今回の内容はいかがだったでしょうか。AWSサービスについて、実際に手を動かして動作確認できると面白いなと感じて頂けた方もいらっしゃるかもしれません。自分にできる範囲のものから少しずつAWSサービスの機能にも目を向けてみようかなと思っていただければ幸いです。
以上となります。
参考:
・Udemy「AWSで作るWebアプリケーション実践講座」