VPCの作成とインターネットからアクセスできるEC2インスタンスの構築
VPCを作成してその中にEC2インスタンスを起動し、そのインスタンスにインターネット経由でアクセスできる環境を構築します。
ゴールは自分のPCからEC2インスタンスにSSHできること。
必要な作業は以下です。
- パブリックサブネットを持つVPCを作成する
- EC2インスタンスをサブネット内に起動する
- Elastic IPアドレスをインスタンスに関連付ける
パブリックサブネットとは、インターネットゲートウェイへのルートが含まれているルートテーブルに関連づけられているサブネットです。
そのサブネット内にEC2インスタンスを起動し、最後にインターネットからアクセスできるようにするためにパブリックIPアドレスをElastic IPアドレスで割り当てる流れです。
1. パブリックサブネットを持つVPCを作成する
VPCのダッシュボードから「VPCウィザードを起動」をからVPCを作成します。
VPCウィザードを起動すると、左メニューに作成するVPCの設定が表示されているので、「1 個のパブリックサブネットを持つ VPC」を選択します。
- 任意のVPC名を入力
- 任意のアベイラビリティーゾーンを選択
- 任意のサブネット名を入力
他はデフォルトの設定のまま「VPCの作成」をクリックするとVPCとサブネットが作成されます。
また、合わせて以下も自動で行われます。
- インターネットゲートウェイをVPCにアタッチする
- ルートテーブルを作成する
作成されたインターネットゲートウェイ、ルートテーブルの設定はVPCダッシュボードの左メニューから確認できます。
インターネットゲートウェイは左メニューの「インターネットゲートウェイ」から設定が表示できて、
VPC IDのカラムに先ほど作成したVPCのIDと名前が確認できます。
ルートテーブルも同様に左メニューの「ルートテーブル」から確認できます。
明示的なサブネットの関連付けで先ほど作成したサブネットのIDと名前が、VPCのカラムにVPCのIDと名前が表示されます。
ルートテーブルのルート情報を表示すると、インターネットゲートウェイにルーティングされていることがわかります。
ここまでの作業で構成は以下の状態になっています。
2. EC2インスタンスを起動する
VPC内にEC2インスタンスを起動します。
EC2のダッシュボードの「インスタンスを起動」からインスタンスを作成、起動を行います。
- AMIの選択
- 今回はAmazon Linux 2 AMIを選択
- インスタンスタイプの選択
- 今回はt2.microを選択
- インスタンスの設定
- ネットワークは作成したVPCを選択(サブネットも自動で作成したサブネットが選択される)
- 他はデフォルト設定のまま
- ストレージの追加
- デフォルト設定のまま
- タグの追加
- 追加なし
- セキュリティグループの設定
- 「新しいセキュリティグループを作成する」を選択し、セキュリティグループ名と説明を変更する
- SSHのルールのソースをマイIPに変更する
ここまでの作業で構成は以下の状態に変わりました。
3. Elastic IPアドレスをEC2インスタンスに関連付ける
EC2のダッシュボードの左メニューから「Elastic IP」から設定を行います。
- 「Elastic IP アドレスの割り当て」からElastic IPアドレスの割り当てを行います。
- リストからElasitc IPアドレスを選択し、アクションの「Elastic IPアドレスの関連付け」から作成したEC2インスタンスにElasitc IPアドレスを関連付けます。
これでインターネットからEC2インスタンスにアクセスできるようになりました。
Elastic IPアドレスのパブリック DNS ホストでSSHできることが確認できます。
ssh -i [キーペアのパス] ec2-user@[パブリックDNSホスト名]