[AWS]環境構築 VPCとEC2作成実践!

2023/04/08に公開

vpcに関してはここにまとめました。

https://zenn.dev/airiswim/articles/fd4d26025b744e

今回はこのような構図で作成してみます。

【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アドレスを割り当てる場合

  1. VPCを作成する。(VPCのCIDR: 192.168.0.0/16を指定。)
  2. パブリックサブネットを作成する。(サブネットのCIDR:192.168.0.0/24を指定)
  3. プライベートサブネットを作成する。(サブネットのCIDRには192.168.1.0/24を指定)
  4. インターネットゲートウェイ(IGW)を作成し、VPCにアタッチ。
  5. ルートテーブルを作成
    ①ルートテーブルを作成し、パブリックサブネットに紐付け、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. ルートテーブルにパブリックのルートを追加する
  2. ルートテーブルにサブネットを関連付ける

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