[AWS]環境構築 VPCとEC2作成実践!
vpcに関してはここにまとめました。
今回はこのような構図で作成してみます。
【VPC】
- 1つのパブリックサブネットと、それとは異なるアベイラビリティゾーンで1つのプライベートサブネットをもつVPCを作成
- リージョン:東京リージョン
- VPCのCIDR:192.168.0.0/16
- 各サブネットのIPアドレス:251個
- ルートテーブル:2つ(パブリックサブネット用/プライベートサブネット用)
- インターネットゲートウェイ:1つ
- ネットワークACL:デフォルト(すべて許可)
【EC2】- イメージ:Amazon Linux2 AMI
- インスタンスファミリー:t2.micro
- セキュリティグループ:SSHを許可する (パブリックサブネットに起動するEC2に対して)
- パブリックサブネット、プライベートサブネットそれぞれにEC2インスタンスを構築する
パブリックサブネットに作成したEC2インスタンスに対して、インターネット経由でSSHでアクセスできることを確認する。
CIDERを求めるには
VPCのCIDRが192.168.0.0/16で、各サブネットには251個のIPアドレスを割り当てる場合
- VPCを作成する。(VPCのCIDR: 192.168.0.0/16を指定。)
- パブリックサブネットを作成する。(サブネットのCIDR:192.168.0.0/24を指定)
- プライベートサブネットを作成する。(サブネットのCIDRには192.168.1.0/24を指定)
- インターネットゲートウェイ(IGW)を作成し、VPCにアタッチ。
- ルートテーブルを作成
①ルートテーブルを作成し、パブリックサブネットに紐付け、0.0.0.0/0の送信先をインターネットゲートウェイに設定。NATゲートウェイを作成し、プライベートサブネットにアタッチする。
②ルートテーブルを作成し、プライベートサブネットに紐付け、0.0.0.0/0の送信先をNATゲートウェイに設定。
VPCのCIDRからサブネットのCIDRを計算するには
ここでは上記の問題の192.168.0.0/16でいきます。
1.VPCのCIDRを決定する。
192.168.0.0/16
2. サブネットをいくつかに分割する。
今回は2つのサブネットに分割。
3. サブネットごとに必要なIPアドレス数を決定。
今回は251個必要です。
4. 2のn乗(nは0以上の整数)の値を求める。
2の8乗 = 256
2^nから2を引いた値を求める。
256 - 2 = 254
5. サブネットのCIDRを決定。
パブリックサブネットのCIDRは192.168.0.0/24、プライベートサブネットのCIDRは192.168.1.0/24
1. VPC作成
- さあ前回と同じく、VPCダッシュボード画面のナビゲーションペインで[VPC]を選択し、[CREAT VPC]
-
「name tag」、「IPv4 CIDR block」を設定し、[create VPC]
-
作成できました.今回名前は practice-vpc-1 としました😀
サブネット作成
subnet name | public/private | AZ | CIDER BLOCK |
---|---|---|---|
practice-vpc-1a | public | ap-northeast-1a | 192.168.0.0/24 |
practice-vpc-1c | private | ap-northeast-1c | 192.168.1.0/24 |
- パブリック・プライベートの分類の作成はのちに行うのでまずは!2つ作成です。
- VPCダッシュボード画面のナビゲーションペインで[subnet]を選択し、右ペインの[CREATE SUBNET]
- VPC-IDを選択するとSubnet settingsが出るので、以下のらんを入力
- 同じようにもう一つ作る。
自動割り当てパブリックIPの設定
-
パブリックとするサブネット1を選択 => 「action」を選択 => 「edit subnet setting」
-
Enable auto-assign public IPv4 addressにチェックし[SAVE]
-
Auto-assign public IPv4 addressがyesになっていることを確認
ルートテーブル作成
route table名 | AWS上のroute table名 | public/private |
---|---|---|
route table1 | practice-vpc-public-routetable | public |
route table2 | practice-vpc-private-routetable | private |
-
VPCダッシュボード画面のナビゲーションペインで[route table]を選択し、[Create route table]
-
nameとVPCの選択、[Create]
-
作成されました。
-
VPC作成時に一つ作成されているので、そこは名前を変えていきます。
インターネットゲートウェイ作成
-
インターネットゲートウェイは、サブネットをパブリックに設定するために必要。(VPCに対して1つ設定)
-
VPCダッシュボード画面のナビゲーションペインで[internet gateway]を選択、
[Create internet gateway] -
任意の名前入力。今回は practice-vpc-igw とした。
-
アタッチしていきます。[attache to VPC]クリック
VPCの選択して[Attache internetb gateway]クリック
サブネットのパブリック/プライベート設定
- 上記で作成したルートテーブルは、defaltの「プライベート」になっている。
"ルートテーブルにインターネットゲートウェイを設定することで、そのルートテーブルは「パブリック」になる"
- ルートテーブルにパブリックのルートを追加する
- ルートテーブルにサブネットを関連付ける
1. ルートテーブルにパブリックのルートを追加する
-
ではプライベートにするサブネットを選択、したの詳細欄で[routes]を選択、[edit routes]
-
[add route]をクリック
-
「送信先」で「0.0.0.0/0」を入力し、
「ターゲット」から作成したインターネットゲートウェイIDを設定し、[SAVE change]
2. ルートテーブルにサブネットを関連付ける
以下のようにassociationしていきます。
AWS上のroute table名 | public/private | 関連させるsubnet |
---|---|---|
practice-vpc-public-routetable | public | practice-vpc-1a |
practice-vpc-private-routetable | private | practice-vpc-1c |
-
まずはpublicにするsubnetとroute tableのassociationからいきます.
-
ルートテーブルを選択して、下にあるルートテーブル詳細部分の[subnet associations]タブに切り替え,右のedit subnet associationsをクリック。(上でも下でもいい)
-
パブリックにするサブネットを選択して、保存。
-
同じように今度は、privateでassociationしましょう
EC2作成
- さあ、今度はEC2の作成です。
【EC2】
- イメージ:Amazon Linux2 AMI
- インスタンスファミリー:t2.micro
- セキュリティグループ:SSHを許可する (パブリックサブネットに起動するEC2に対して)
- パブリックサブネット、プライベートサブネットそれぞれにEC2インスタンスを構築する
パブリックサブネットに作成したEC2インスタンスに対して、インターネット経由でSSHでアクセスできることを確認する。
-
EC2ダッシュボードのところから、Launch instanceクリック
今回の指定項目通りに、入力していきます。
-
networkの[edit]を押して連携するVPCとサブネットの選択を行う
ここも入力して、今回はこれ以上の設定は行わないので、完成!
Discussion