
こんにちは、YaaRuu です!
AWS アカウントの初期設定ができたら、システムで必要となる様々なリソースをクラウド上で作成していきましょう。
AWS ではコンピューティングサービスやデータベースサービス、オブジェクトストレージサービスなど多くのサービスが利用できます。
ここでは AWS サービスを利用した仮想サーバーの構築を行いたいと思います。
シンプルな構成の仮想サーバーを構築するため、AWS サービスとして「VPC」「EC2」を利用します。
今回は VPC と EC2 の作成を記事にしております。
もしお役に立つような情報があれば幸いです。それではどうぞよろしくお願いいたします。
1. 実施する対応概要
本記事では以下の対応を行います。
| 項目 | 利用サービス | 概要 |
|---|---|---|
| VPC の作成 | VPC | 仮想サーバーを配置するため、AWS 上に自分専用のネットワーク空間を作成します。 |
| EC2 の作成 | EC2 | 仮想サーバーを提供するためのコンピューティングサービスです。リソースや OS などを選択して仮想サーバーを作成します。 またチュートリアルの対象となっており、EC2 を作成することで無料利用枠の 20 USD のクレジットを受け取ることができます。 |
2. 想定構成
作成する VPC と EC2 の構成は以下を想定します。
実際のシステムでは冗長性や可用性、セキュリティなどを考慮して構築しますが、今回は簡単にインターネットにアクセスできるように簡易的な構成で構築します。
本構成はインターネットからアクセス可能なパブリックサブネットに仮想サーバーを作成するため、セキュリティグループの設定に留意することや、仮想サーバーが不要になったら削除するなど適切に管理してください。
- アベイラビリティゾーン : 2 つ
- パブリックサブネットの数 : 2 つ
- プライベートサブネットの数 : 4 つ
- インスタンス : 1 つ
- インターネットゲートウェイ : 1 つ
- エンドポイント(S3 ゲートウェイ) : 1 つ
構成図は以下の通りです。

3. VPC の作成
まずは AWS 上に仮想ネットワーク空間を作成していきます。
仮想ネットワーク空間を作成するために VPC の IP アドレス範囲を指定する必要がありますので、利用する IP アドレスの検討から始めます。
1. 利用する IP アドレスの検討
VPC を作成する際、仮想ネットワーク空間の IP アドレス体系を検討する必要があります。
ネットワークは PC やスマートフォンなどの情報端末をお互いに接続して、データをやり取りするために必要なものとなります。
遠方の人と手紙のやり取りをする際に自分と相手の住所が必要であることと同じように、ネットワーク上でデータをやり取りするために IP アドレスが必要となります。
IP アドレスは利用範囲によって「グローバルアドレス」と「プライベートアドレス」に分けられます。
VPC の IP アドレスは Classless Inter-Domain Routing (CIDR)表記で表され、「192.168.0.0/16」などの IPv4 CIDR ブロックを指定する必要があります。
VPC を作成するときは、インターネット技術の標準化を推進する任意団体(IETF)が発行する RFC(Request For Comments)という文書に指定されているプライベートアドレスの範囲から設定することが推奨されています。
| 種類 | 概要 |
|---|---|
| グローバルアドレス | インターネットで利用する IP アドレスです。一意でありインターネット上で重複しないように管理されています。 |
| プライベートアドレス | インターネットに出ない閉じたネットワーク内で利用する IP アドレスです。VPC 内のインスタンス間の通信に利用できます。 |
3. プライベートアドレス空間
Internet Assigned Numbers Authority (IANA)は次の三つのIPアドレス空間
ブロックをプライベートインターネットのために予約している。10.0.0.0 – 10.255.255.255 (10/8 prefix)
引用元:プライベート網のアドレス割当(RFC 1918) – JPNIC
172.16.0.0 – 172.31.255.255 (172.16/12 prefix)
192.168.0.0 – 192.168.255.255 (192.168/16 prefix)
本記事ではプライベートアドレスの 172.16.0.0/16 を利用することにします。
実際にはそれぞれのシステムに合わせてアドレス体系を検討してください。
2. VPC の作成
AWS マネジメントコンソールへサインインします。
右上のリージョン部分を変更します。
※下記は東京リージョンに変更する場合の参考画像です。

AWS マネジメントコンソール左上の検索バー①に「VPC」と入力し、出てきた VPC ②をクリックします。

デフォルト VPC を削除している場合、リージョン別のリソースにおける DHCP オプションセット以外が 0 となっていることを確認します。

VPC を作成ボタン③を押します。

名前タグの自動生成④に任意の名前を入力します。
IPv4 CIDR ブロック⑤に検討したアドレス体系を入力します。

プライベートサブネットの数で「4」を選択⑥します。
サブネット CIDR ブロックをカスタマイズ⑦をクリックして、パブリックサブネットとプライベートサブネットの CIDR ブロックに任意の値を入力します。
サブネットの数や各 CIDR などは作業環境に合わせて設定してください。

VPC を作成ボタン⑧を押します。

画面下側の VPC を表示ボタン⑨を押します。

VPC の詳細が表示されることを確認します

リソースマップのインターネットゲートウェイ⑩をポイントして、関連するサブネットがパブリックサブネットであることを確認します。
パブリックサブネットにはインターネットへの直接ルートがあるためインターネットにアクセスできます。
プライベートサブネットにはインターネットへの直接ルートがありません。インターネットへアクセスするには NAT デバイスが必要となりますが今回は作成しておりません。
本構成でインターネットへ接続するためにはパブリックサブネットに属している必要があるため、パブリックサブネットに仮想サーバーを作成します。

エンドポイント⑪をポイントして、関連するサブネットがプライベートサブネットであることを確認します。
S3 ゲートウェイを利用すると、プライベートサブネットから S3 へアクセスすることができます。

左側のツリーの VPC ダッシュボード⑫をクリックします。

作成されたリソースが 0 から増加していることを確認します。
今回は VPC、サブネット、ルートテーブル、インターネットゲートウェイ、エンドポイント、ネットワーク ACL、セキュリティグループが作成されています。

これで VPC の作成は完了です。
4. EC2 の作成
AWS 上に仮想ネットワーク空間を作成できたら、次は EC2 の作成を行います。
今回は EC2 へ接続する方法として SSM Session Manager を利用します。
SSM Session Manager を使用するとブラウザで EC2 に接続することができます。
通常サーバーなどの EC2 に接続する場合は、通信するために外部から EC2 に向かうポートを開放したりする必要があります。
ですが SSM Session Manager で利用するポートは、HTTPS の外部向けポートを開放することで通信を行うことができるためセキュリティ体制の向上に役立ちます。
EC2 を作成する前に SSM Session Manager を利用するためのロールやセキュリティグループ、EC2 の EBS 暗号化設定やキーペア作成などを行い、EC2 を作成していきます。
1. SSM Session Manager 接続用ロールの作成
SSM Session Manager で接続するための準備を行います。
ここでは IAM ロールを作成していきます。
左上の検索バー①に「IAM」と入力し、出てきた IAM ②をクリックします。

左側のツリーのアクセス管理 – ロール③をクリックし、ロールを作成ボタン④を押します。


サービスまたはユースケースに「EC2」と入力し EC2 を選択⑤します。
下に表示されるユースケースで EC2 を選択⑥し、次へボタン⑦を押します。

許可ポリシーの検索バー⑧に「AmazonSSMManagedInstanceCore」と入力します。
表示されたポリシー名 AmazonSSMManagedInstanceCore のチェック⑨を付け、次へボタン⑩を押します。

ロール名を入力⑪し、画面を下にスクロールしてロールを作成ボタン⑫を押します。


作成したロール名が表示されていることを確認します。

これでロールの作成は完了です。
2. SSM Session Manager 接続用セキュリティグループの作成
SSM Session Manager で接続するための準備を行います。
ここではセキュリティグループを作成していきます。
左上の検索バー①に「EC2」と入力し、出てきた EC2 ②をクリックします。

左側のツリーのネットワーク & セキュリティ – セキュリティグループ③をクリックします。

セキュリティグループを作成ボタン④を押します。

基本的な詳細のセキュリティグループ名⑤に任意の名前を入力します。
VPC ⑥では先ほど作成した VPC を選択します。
アウトバウンドルールのルールを追加ボタン⑦を押します。

タイプ⑧で HTTPS を選択します。
送信先の右部分⑨をクリックし CIDR ブロックの「0.0.0.0/0」を選択します。
その後、セキュリティグループを作成ボタン⑩を押します。
アウトバウンドルールではアウトバウンドトラフィックの制御ルールを設定します。
今回は HTTPS 通信(443 ポート通信)について、任意の IPv4 アドレス(0.0.0.0/0)へ通信することを許可しています。
このセキュリティグループを EC2 に関連付けることで、EC2 から外向きへの HTTPS 通信を行うことができます。

作成したセキュリティグループが表示されていることを確認します。

これでセキュリティグループの作成は完了です。
3. デフォルト EBS 暗号化設定
AWS クラウド環境での仮想サーバーのことを EC2 インスタンスと呼びます。
インスタンスを起動するために必要な構成要素のひとつとして EBS ボリュームというものがあります。
EBS ボリュームは物理ハードドライブのように機能するストレージデバイスで、インスタンスの容量を追加することができます。
この EBS ボリュームについて、AWS の機能でボリューム内の保存データなどを暗号化することができます。
ボリュームを作成するときに暗号化設定することも可能ですが、ここでは暗号化することを忘れないようにデフォルトで暗号化が有効となるように設定を行います。
デフォルトで暗号化を有効にすると、作成した新しい EBS ボリュームとスナップショットコピーの暗号化を強制する設定となります。
デフォルトで暗号化が有効になっている場合、暗号化されていないボリュームを作成することはできません。
もし暗号化しないなどの要件がある場合は留意してください。
左側のツリーの EC2 – ダッシュボード①をクリックします。

画面右側に表示されるアカウントの属性 – データ保護とセキュリティ②をクリックします。

EBS 暗号化の管理ボタン③を押します。

有効化④にチェックを付け、EBS 暗号化を更新するボタン⑤を押します。

常に新しい EBS ボリュームを暗号化が有効となっていることを確認します。

これでデフォルト EBS 暗号化設定は完了です。
4. キーペアの作成
EC2 インスタンスへ接続する際、身分証明書としてキーペアを利用します。
Linux インスタンスの場合は SSH 接続で利用し、Windows インスタンスの場合は管理者パスワードを復号化する時に利用します。
今回は SSM Session Manager を利用して接続するためキーペアを使いませんが、EC2 インスタンス作成時には必要となるため事前に作成します。
左側のツリーのネットワーク & セキュリティ – キーペア①をクリックします。

キーペアを作成ボタン②を押します。

名前③に任意の名前を入力し、キーペアを作成ボタン④を押します。

任意の場所にファイルを保存します。
保存したキーペアのファイルは大切に保管してください。
今回は SSM Session Manager を利用して接続するため使いませんが、SSH 接続や管理者パスワードを復号化する際に利用します。
重要
Amazon EC2 ではプライベートキーのコピーが保持されないため、プライベートキーを失った場合、復元することはできません。ただし、プライベートキーを失くしたインスタンスに接続する方法はまだあります。詳細については「プライベートキーを紛失しました。自分のインスタンスに接続するにはどうすればよいですか?」を参照してください。
引用元:Amazon EC2 のキーペアと Amazon EC2 インスタンス – Amazon Elastic Compute Cloud
ファイル保存後、作成したキーペアが表示されていることを確認します。

これでキーペアの作成は完了です。
5. 利用する AMI の確認
インスタンスを起動するために必要な構成要素のひとつとして AMI というものがあります。
AMI は Amazon Machine Image の略で、インスタンスの起動時に使用するオペレーティングシステムとアプリケーションを決定します。
今回は AWS が提供している Amazon Linux 2023(AL2023)を利用します。
その中でもアーキテクチャなどで様々な AMI が存在するため、利用する AMI ID を事前に確認します。
左側のツリーのイメージ – AMI ①をクリックします。

自己所有②をクリックし、パブリックイメージ③を選択します。

検索ボックス④をクリックし、AMI 名⑤を選択します。
さらに「AMI 名 : 次を含む」⑥を選択します。


「al2023-ami-2023」⑦を入力し、Enter を押します。

検索で出てきた AMI の中から、以下の条件に合致する AMI ID を確認します。
・記事作成時点で AL2023 のカーネルの推奨バージョンとなる 6.18 であるもの ※2026年5月時点
・所有者のエイリアス列に「amazon」が表示されているもの
・アーキテクチャが arm64 であるもの
・パッケージが AMI であるもの
カーネルやアーキテクチャは要件によって読み替えてください。
パッケージについては AMI と Minimal AMI が存在しますが、Minimal AMI では SSM Session Manager 接続で必要となる amazon-ssm-agent が含まれていないため、AMI を選択しています。

AMI ID を確認できたら EC2 の作成に進みます。
6. EC2 の作成
EC2 の作成を行います。
また EC2 の作成はチュートリアルの対象となっており、EC2 を作成することで無料利用枠の 20 USD のクレジットを受け取ることができます。
右上のアカウント部分をクリックし Billing and Cost Management ①をクリックします。

左側のツリーの請求と支払い – クレジット②をクリックします。

現在のクレジットを確認します。

左上の検索バー③に「EC2」と入力し、出てきた EC2 ④をクリックします。

左側のツリーのインスタンス – インスタンス⑤をクリックします。

インスタンスを起動ボタン⑥を押します。

その他の AMI を閲覧する⑦をクリックします。

コミュニティ AMI ⑧をクリックします。

検索バー⑨に確認した AMI ID を入力し Enter を押します。
出てきた情報の AMI ID ⑩が検索バーに入力した ID と一致することを確認し、選択ボタン⑪を押します。

選択したイメージ ID が表示されていることを確認します。

画面上部の名前⑫に任意の名前を入力します。

任意のインスタンスタイプ⑬を選択します。
本記事では、無料利用枠の対象となっている t4g.micro を選択しています。

キーペア名⑭で作成したキーペアを選択します。

ネットワーク設定の編集ボタン⑮を押します。

VPC ⑯では作成した VPC を選択します。
サブネット⑰では作成したパブリックサブネットの内、任意で 1 つのパブリックサブネットを選択します。
パブリック IP の自動割り当て⑱で有効化を選択します。
本記事では、インターネットからアクセス可能なパブリックサブネットとパブリック IP を設定することで、インターネット接続を行います。
インターネットから直接インスタンスに接続させないなど、要件に合わせて変更してください。

ファイアウォール(セキュリティグループ)では、既存のセキュリティグループを選択する⑲を選択し、共通のセキュリティグループ⑳で作成したセキュリティグループを選択します。

高度な詳細㉑をクリックします。
IAM インスタンスプロフィール㉒で作成した SSM Session Manager 接続用ロールを選択します。
クレジット仕様㉓をスタンダードに変更します。
必要な時間だけ能力をベースライン以上にバーストさせる必要がある場合などは、クレジット仕様を要件に合わせて変更してください。

画面右側のインスタンスを起動ボタン㉔を押します。

すべてのインスタンスを表示ボタン㉕を押します。

インスタンスが作成されていることを確認します。

インスタンスを更新ボタン㉖を何度か押し、ステータスチェックの表示が「x/x のチェックに合格しました」に変わるまで待ちます。
ステータスチェックの表示が変われば接続できる状態となっています。


EC2 の作成を行ったため無料利用枠の 20 USD のクレジットを受け取っているか確認します。
右上のアカウント部分をクリックし Billing and Cost Management ㉗をクリックします。

左側のツリーの請求と支払い – クレジットをクリックし、クレジットが $20 増えていることを確認します。
※クレジットが増えていない場合は、10 分程度経過した後に確認してみてください。

これで EC2 の作成は完了です。
7. EC2 への接続
EC2 への接続を行います。
作成した EC2 にチェック①を付け、接続ボタン②を押します。

SSM Session Manager を選択③し、接続ボタン④を押します。

新しいタブが開き OS に接続できることを確認します。

bash や ip a コマンドなどを実行し、割り当てられている IP などから該当の EC2 であることを確認します。
sh-5.2$ bash
[xxx-xxxx@ip-xxx-xxx-xxx-xxx bin]$ ip a
[xxx-xxxx@ip-xxx-xxx-xxx-xxx bin]$ hostname
[xxx-xxxx@ip-xxx-xxx-xxx-xxx bin]$ exit
sh-5.2$ exit
など割り当てられている IP は、インスタンスのネットワーキングタブから確認することができます。
対象の EC2 にチェックを付けネットワーキングをクリックすると、プライベート IPv4 アドレスを確認することができます。
※プライベート IPv4 アドレス参考画像

終了する際は exit を入力して抜けるとセッションの終了画面が表示されるので、閉じるボタン⑤を押します。


これで EC2 への接続は完了です。
8. EC2 の停止
EC2 の停止を行います。
EC2 の停止は「インスタンスを停止」で行います。
「インスタンスの終了(削除)」は EC2 の削除となるため十分に注意してください。
対象の EC2 にチェック①を付けます。
インスタンスの状態②をクリックし、インスタンスを停止③をクリックします。

内容を確認し、停止ボタン④を押します。

インスタンスを更新ボタン⑤を何度か押し、インスタンスの状態⑥の表示が「停止済み」に変わるまで待ちます。


これで EC2 の停止は完了です。
9. EC2 の削除
EC2 の削除を行います。
EC2 の削除は「インスタンスの終了(削除)」で行います。
仮想サーバーが不要となった場合に EC2 の削除を行ってください。
EC2 を削除しない場合は利用リソースに応じたクレジットが発生するため留意してください。
対象の EC2 にチェック①を付けます。
インスタンスの状態②をクリックし、インスタンスを終了(削除)③をクリックします。

内容を確認し、終了(削除)ボタン④を押します。

インスタンスを更新ボタン⑤を何度か押し、インスタンスの状態⑥の表示が「終了済み」に変わるまで待ちます。


これで EC2 の削除は完了です。
インスタンスはしばらくの間削除されずに表示されたままとなるため、ある程度の時間経過後に表示が消えたか確認してください。
3. まとめ
この記事では VPC と EC2 を利用した仮想サーバー作成に関する部分を記載してきました。
仮想サーバーを配置するため VPC でネットワーク空間を作成し、その中に仮想サーバーを作成します。
今回は Amazon Linux 2023(AL2023)の EC2 インスタンスを作成しましたが、Windows Server も作成できるため要件に合わせて適切な環境を構築することが可能です。
EC2 に限った内容ではありませんが、AWS では必要に応じてリソースを柔軟に変更できる点が魅力の 1 つです。
インスタンスタイプの変更では仮想サーバーの停止が必要となりますが、運用していく中でリソースに過不足があれば適宜変更することでコストの最適化を図ることも可能です。
柔軟に仮想サーバーの作成や削除を行い、最適な環境を構築するために活用していきましょう。
IT 応援ブログはあなたの IT ライフを応援します!!
x. 参考
・アーキテクチャアイコンのページ
・VPC とサブネットの IP アドレス指定 – Amazon Virtual Private Cloud
・VPC CIDR ブロック – Amazon Virtual Private Cloud
・AWS Systems Manager Session Manager – AWS Systems Manager
・Amazon EC2 とは – Amazon Elastic Compute Cloud
・Amazon Elastic Block Store とは? – Amazon EBS
・What is Amazon Linux 2023? – Amazon Linux 2023
