★悩み★
・Amazon VPCってどうやって設定するのだろう。
・Amazon VPCとは、そもそも何だろうか。何ができるのだろうか。
・Amazon VPCを設定する上で注意することは何だろうか。
こういった「悩み」に答えます。
★本記事の内容★
① Amazon VPCを7手順で設定する方法をご紹介
② Amazon VPCとは何か?何ができるの?をご紹介
③ Amazon VPCを設定する上で注意するべきことをご紹介
これからご紹介する「Amazon VPCを7手順で設定する方法」を実践したことで、筆者は1時間以内でAmazon VPCを設定しEC2を作成できました。
記事の前半では「Amazon VPCを設定する方法」を図を用いて解説しつつ、記事の後半では「Amazon VPCとは何か?」や「設定する上での注意点」を具体的に解説します。
この記事を読み終えることで、「Amazon VPCを設定する方法」を把握できるだけでなく、「Amazon VPCとは何か?」も把握した状態になります。
ちなみに、「AWSの基礎的な知識を拡充したい」方は、以下の記事をご覧ください。
Amazon VPCを7手順で設定する方法【EC2作成まで解説】
「Amazon VPCを7手順で設定する方法」に関してご紹介します。
「Amazon VPCを設定する方法」を実機検証を交えてご紹介します。
今回は、以下のVPC環境を作っていきましょう。
★Amazon VPCを設定する流れ★
手順1:AWSマネジメントコンソールでAmazon VPCを検索
手順2:Amazon VPCの設定
手順3:Amazon VPCにインターネットゲートウェイを設定
手順4:Amazon VPCにサブネット(パブリックとプライベート)を作成
手順5:Amazon VPCに関するルートテーブルを設定
手順6:作成したAmazon VPC内にEC2インスタンスを作成
手順7:作成したVPC環境の動作確認
上記の流れで、上図の「VPC環境」を作成できます。
上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2021年4月3日
以降で、上記「Amazon VPCを設定する流れ」の各手順に関してご説明します。
手順1:AWSマネジメントコンソールでAmazon VPCを検索
「手順1:AWSマネジメントコンソールでAmazon VPCを検索」に関してご説明します。
AWSマネジメントコンソールでVPCを検索しましょう。
Webブラウザで、AWSマネジメントコンソールへアクセスします。
AWSマネジメントコンソール
アクセス後、「サービスを検索する」直下にある検索欄に「vpc」と入力します(下図の赤枠)。その後、「VPC」をクリックしましょう。
以上で、「手順1:AWSマネジメントコンソールでAmazon VPCを検索」は完了です。
手順2:Amazon VPCの設定
「手順2:Amazon VPCの設定」に関してご説明します。
「VPC」(下図の赤枠)をクリックし、「VPCの作成」(下図の青枠)をクリックします。
以下の情報を入力し、「VPCの作成」(下図の青枠)をクリックします。
・名前タグ:「ec2-test」と入力
・IPv4 CIDR:「10.0.0.0/16」と入力
以上で、「手順2:Amazon VPCの設定」は完了です。
手順3:Amazon VPCにインターネットゲートウェイを設定
「手順3:Amazon VPCにインターネットゲートウェイを設定」に関してご説明します。
手順2で作成したVPCにインターネットゲートウェイを設定しましょう。
インターネットゲートウェイを設定することで、VPCは外部ネットワークと通信することができます。
「インターネットゲートウェイ」(下図の赤枠)をクリックし、「インターネットゲートウェイの作成」(下図の青枠)をクリックしましょう。
以下の情報を入力し、「インターネットゲートウェイの作成」(下図の青枠)をクリックします。
・名前タグ:今回は「ec2-test-igw」と入力
ec2-test-igwのチェックボックス(下図の赤枠)をクリックし、「アクション」の「VPCにアタッチ」(下図の青枠)をクリックします。
先ほど作成したVPC「ec2-test」を選択し、「インターネットゲートウェイのアタッチ」(下図の青枠)をクリックします。
以上で、「手順3:Amazon VPCにインターネットゲートウェイを設定」は完了です。
手順4:Amazon VPCにサブネット(パブリックとプライベート)を作成
「手順4:Amazon VPCにサブネット(パブリックとプライベート)を作成」に関してご説明します。
作成したVPC内に以下の2つのサブネットを作成しましょう。
・パブリックネットワーク:外部のインターネットと通信可能
・プライベートネットワーク:外部のインターネットと通信不可
「サブネット」(下図の青枠)をクリックし、「サブネットの作成」(下図の赤枠)をクリックします。
以下の情報を入力し、「作成」をクリックします。
・名前タグ
→ プライベートネットワークの場合:ec2-privateと入力
→ バブリックネットワークの場合:ec2-privateと入力
・アベイラビリティゾーン:ap-northeast-1aを選択
・iPv4 CIDRブロック
→ プライベートネットワークの場合:10.0.2.0/24
→ パブリックネットワークの場合:10.0.1.0/24
以上のようにして、プラベートネットワークとパブリックネットワークが作成できました。
「ec2-public」のチェック(下図の赤枠)をクリックし、「自動割り当てIP設定の変更」(下図のオレンジ枠)をクリックします。
「iPv4の自動割り当て」にチェック(下図の赤枠)をし、「保存」をクリックします。
この設定により、パブリックネットワークに配置されたインスタンスは、パブリックIPアドレスが付与されます。
以上で、「手順4:Amazon VPCにサブネット(パブリックとプライベート)を作成」は完了です。
手順5:Amazon VPCに関するルートテーブルを設定
「手順5:Amazon VPCに関するルートテーブルを設定」に関してご説明します。
パブリックネットワークとプライベートネットワークのルートテーブルを作成します。
「ルートテーブル」(下図の青枠)をクリックし、「ルートテーブルの作成」(下図の赤枠)をクリックします。
以下の情報を入力し、「作成」をクリックします。
・名前タグ
→プライベートネットワーク用の場合:private route tableと入力
→パブリックネットワーク用の場合:public route tableと入力
・VPC:先ほど作成したVPC「ec2-test」を選択
パブリックネットワーク用のルートテーブル(下図の赤枠)のチェックを選択し、ルートタブの「ルートの編集」(下図の青枠)をクリックします。
「ルートの追加」をクリックし、送信先に「0.0.0.0/0」を入力し、ターゲットの「Internet Gateway」(下図の赤枠)を選択します。
先ほど作成した「ec2-test-igw」のインターネットゲートウェイを選択し、「ルートの保存」をクリックします。
パブリックネットワーク用のルートテーブルのチェック(下図の赤枠)を選択し、「サブネットの関連づけ」の「サブネットの関連づけの編集」(下図の青枠)をクリックします。
パブリックネットワーク「ec2-public」を選択し、「保存」をクリックします。
同様にして、プライベートネットワーク用のルートテーブルもプライベートネットワークのサブネットに関連付けしましょう。
以上で、「手順5:Amazon VPCに関するルートテーブルを設定」は完了です。
手順6:作成したAmazon VPC内にEC2インスタンスを作成
「手順6:作成したAmazon VPC内にEC2インスタンスを作成」に関してご説明します。
VPC内にEC2インスタンスを作成しましょう。
EC2サービスの画面にアクセス
AWSマネジメントコンソールで「ec2」と入力し、「EC2」を選択し、EC2サービスの画面を開きましょう。
プライベートネットワーク内にEC2インスタンスを作成
プライベートネットワーク内にEC2インスタンスを作成します。
「インスタンス」(下図の赤枠)をクリックし、「インスタンスを起動」(下図の青枠)をクリックします。
仮想マシンのOSを選択するページが表示されます。
今回は、Amazon Linux 2欄の「選択」(下図の赤枠)をクリックします。
仮想マシンのリソースを選択するページが表示されます。
今回は、初期状態のまま、ページ末尾にある「次のステップ:インスタンスの詳細の設定」(下図の赤枠)をクリックします。
続いて、ネットワークなどを設定するページが表示されます。
以下の情報を入力し、ページ末尾の「確認と作成」(下図のオレンジ枠)をクリックします。
・ネットワーク:先ほど作成したVPNのec2-testを選択
・サブネット:先ほど作成したプライベートネットワーク(ec2-private)を選択
その後、キーペアに関するページが表示されます。
「新しいキーペアの作成」を選び、キーペア名「ec2-tokyo-test」を入力します。「キーペアのダウンロード」をクリック後、「インスタンスの作成」をクリックします。
以上で、プライベートネットワーク内にEC2インスタンスを作成することができました。
後続の設定で、プライベートネットワーク内に配置したEC2インスタンスのセキュリティグループ情報が必要です。
セキュリティグループの値(下図の赤枠)をコピーしておきましょう。
パブリックネットワーク内にEC2インスタンスを作成
パブリックネットワーク内にEC2インスタンスを作成します。
手順は、「プライベートネットワーク内にEC2インスタンスを作成」と同じです。
ただし、以下の点が異なります。
・サブネットを選択するところでは、パブリックネットワーク(ec2-public)を選択
・キーペアに関するページでは、「既存のキーペア(ec2-tokyo-test)」を選択
・セキュリティグループの設定
「セキュリティグループの設定」画面は、以下になります。
「ルールの追加」(上図の赤枠)をクリックし、「SSH」(上図の青枠)を選択します。
「ソース」(上図のオレンジ枠)には、「プライベートネットワークに配置したEC2のセキュリティグループ」を設定します。
この設定をすることで、パブリックネットワークに配置したEC2からプライベートネットワークに配置したEC2へSSH接続ができます。
以上で、「手順6:作成したAmazon VPC内にEC2インスタンスを作成」は完了です。
手順7:作成したVPC環境の動作確認
「手順7:作成したVPC環境の動作確認」に関してご説明します。
最後に、作成したVPCの動作確認をしましょう。
★VPC環境の動作確認の流れ★
手順1:SSHでパブリックNWのEC2に接続
手順2:パブリックNWのEC2からプライベートNWのEC2にSSH接続
上記の2手順で作成したVPC環境の動作確認をすることができます。
以降で、「VPC環境の動作確認の流れ」の各手順に関して説明します。
手順1:SSHでパブリックNWのEC2に接続
パブリックネットワークに配置されたEC2のパブリックIPアドレス(下図の赤枠)を確認しましょう。
続いて、コマンドプロンプトまたは端末を起動し、下記のコマンドでSSH接続します。
# ssh -i ec2-tokyo-test.pem ec2-user@3.113.2.88
The authenticity of host '3.113.2.88 (3.113.2.88)' can't be established.
ECDSA key fingerprint is SHA256:GmrYCRGQ7qEpib62ZLQePjxggerQIQEyLuWCxtoPHeA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '3.113.2.88' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
2 package(s) needed for security, out of 13 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-1-134 ~]$
上記のような出力が表示されれば、接続に成功したことになります。
以上で、「手順1:SSHでパブリックNWのEC2に接続」は完了です。
手順2:パブリックNWのEC2からプライベートNWのEC2にSSH接続
次にプライベートNWのEC2にSSH接続しましょう。
まずは、プライベートネットワークに配置されたEC2のプライベートIPアドレス(下図の赤枠)を確認しましょう。
続いて、手順1で起動したコマンドプロンプトまたは端末で、下記のコマンドでSSH接続します。
[ec2-user@ip-10-0-1-134 ~]$ sudo ssh -i ec2-tokyo-test.pem ec2-user@10.0.2.214
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-2-214 ~]$
以上で、作成したVPCの動作確認は完了です。
上記の7手順で、Amazon VPCを設定し、EC2に接続できました。
Amazon VPCとは何か?何ができるの?
「Amazon VPCとは何か?何ができるの?」に関してご紹介します。
★ご紹介する内容★
・Amazon VPCに関する基礎
・Amazon VPCをどのぐらい作成するべきか
・どのサービスをどのAmazon VPCに配置するべきか
上記3つに関して説明します。
Amazon VPCに関する基礎
「Amazon VPCに関する基礎」に関してご説明します。
VPCに関する基礎的な知識をご紹介します。
VPCの機能
VPCは、Amazon Virtual Private Cloudの略称です。
VPCを作成することで、以下をすることができます。
★Amazon VPCの機能★
・AWSクラウドのプライベートネット空間を提供
・ネット空間を論理的に分離可能(用途別にネットワークを作成可能)
・分離したネットワークごとにセキュリティなどの設定が可能
Amazon VPCにより、上記の機能を使うことができます。
サブネット化によりネットワークを論理的に分離
プライベートネット空間を分離するためには、サブネット化する必要があります。
CIDR表記でサブネットとして切り出すことで、用途別のネットワークを作ることができます。
また、サブネット化する上でのポイントは以下となります。
★ポイント★
・AZごとに2つのサブネットを作ることを推奨
・マルチAZの場合、左右対称になるようにすること
→ AZ1:プライベートNWとパブリックNW
→ AZ2:プライベートNWとパブリックNW
・パブリックNWよりプライベートNWにより多くのIP割り当てを推奨
→ プライベートNWに配置するインスタンスが多いため
ルートテーブル
通信可能なネットワークを作成するためには、ネットワークごとにルートテーブルをアタッチする必要があります。
ルートテーブルとは、トラフィックの宛先を管理するテーブルです。
先ほど作成した環境では、プライベートネットワークにSSH接続をしたかったため、以下のようなルートを登録していました。
インターネットゲートウェイ
VPC内に配置されたサービスを外部インターネットに公開したい場合、インターネットゲートウェイを使います。
インターネットゲートウェイとは:
VPC内に配置されたサービスと外部インターネット間での通信を許可するものです。
あるネットワークを外部公開可能なパブリックネットワークにしたい場合、下図のようにそのネットワークにインターネットゲートウェイ(IGW)をアタッチします。
セキュリティグループ
EC2単位で設定できる仮想ファイアーウォールです。
EC2単位で設定できるため、サブネット内の通信制御をすることができます。
ネットワークアクセスコントロールリスト(NACL)
サブネット単位で通信制御をすることができます。
以上が、「Amazon VPCに関する基礎」となります。
Amazon VPCをどのぐらい作成するべきか
「Amazon VPCをどのぐらい作成するべきか」に関してご説明します。
あるシステムを構築する際に、VPCをどのぐらい使えば良いのでしょうか。
結論から言いますと、「構築するチーム単位に依存」します。
・AWSのアカウント1つでマルチVPCにするケース
→ 単一のチームまたは単一の組織でシステムを構築する場合
・AWSアカウント複数でマルチVPCにするケース
→ 大規模な組織や複数のITチームがある組織でシステムを構築する場合
以上が、「Amazon VPCをどのぐらい作成するべきか」となります。
どのサービスをどのAmazon VPCに配置するべきか
「どのサービスをどのAmazon VPCに配置するべきか」に関してご説明します。
以下のようにして、VPCにサービスを配置することをおすすめします。
★パブリックネットワークに配置するサービス★
ウェブアプリケーション
★プライベートネットワークに配置するサービス★
データベース
バックエンドのサービス(メッセージキューなど)
バッチ処理(データ加工など)
外部インターネットを通じて利用しないサービスは、基本的にプライベートネットワークに配置するようにしましょう。
以上が、「どのサービスをどのAmazon VPCに配置するべきか」となります。
以上が、「Amazon VPCとは何か?何ができるの?」となります。
Amazon VPCを設定する上で注意するべきこと
「Amazon VPCを設定する上で注意するべきこと」に関してご説明します。
★Amazon VPCを設定する上での注意点★
・1アカウントで作成できるVPCは、リージョンごとに5つまで
・EC2に割り当てられたパブリックIPアドレスは再起動すると変動
→ Elastic IPアドレスを利用することでパブリックIPアドレスを固定化可能
ただし、リージョンあたり5つまでしか使えない。
・セキュリティグループのデフォルトに注意
→ インバウンド(インターネット→EC2):全てブロック
アウトバウンド(EC2→インターネット):全て許可
・ネットワークアクセスコントロールリストのデフォルトに注意
→ 全てのインバウントとアウトバンドのトラフィックを許可
以上の注意点を考慮した上でVPCを使っていきましょう。
以上が、「Amazon VPCを設定する上で注意するべきこと」となります。
【まとめ】Amazon VPCを7手順で設定する
今回の記事を通して、Amazon VPCを7手順で設定する方法をご紹介することで、以下の悩みを解消しました。
★悩み★
・Amazon VPCってどうやって設定するのだろう。
・Amazon VPCとは、そもそも何だろうか。何ができるのだろうか。
・Amazon VPCを設定する上で注意することは何だろうか。
「Amazon VPCとは?」と悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント