【AWS】VPC から作る EC2 構築ハンズオン
コンソールログイン
①One-time email passcode
Emailへ自分のアドレスを入力→Send passcode
メールに届いたパスコードを貼り付け→sign in
②Review and join
I agree with the Terms and ConditionsにチェックしてJoinevent
③左ペインAWS account access
Open AWS console (us-east-1)
④リージョンを東京に変更
1. VPC
概要
- インターネットとは切り離された、ネットワーク空間を作る
- CIDR10.0.0.0/16は10.0.0.0〜10.0.255.255(65536こ)
手順
サービス→VPC→VPC→VPCを作成
名前:my-vpc-20241213
IPv4 CIDR 10.0.0.0/16
→VPCを作成
2. サブネット
概要
-
VPC内に作るネットワークの区画(部屋)。ネットワークをわけることでセキュリティや運用(どこで何がおきたかをきりわけやすい)を効率化することができる。
-
10.0.1.0/24 ネットワーク内に属するアドレスは、10.0.1.0 から 10.0.1.255 までの256個
手順
サービス→VPC→サブネット→サブネットを作成
VPC ID →1.で作成したVPCを選択
サブネット名:my-pub-subnet-20241213
AZ:ap-northeast-1a
IPv4 サブネット CIDR ブロック:10.0.1.0/24
→サブネットを作成
3. インターネットゲートウェイ
概要
VPCにおけるインターネットとの出入り口
手順
サービス→VPC→インターネットゲートウェイ→インターネットゲートウェイの作成
名前:my-internet-gateway-20241213
→インターネットゲートウェイを作成
※ここで作成されたインターネットゲートウェイ IDを記録しておく
アクション→VPCにアタッチ
1.で作成したVPCを選択→インターネットゲートウェイのアタッチ
4. ルートテーブル
概要
- VPC、サブネット、IGWはおいただけはつながらないので経路を作成する
- 送信先 0.0.0.0/0は外部インターネットへの経路
- サブネットの関連づけ 明確に経由するサブネットを指定する
手順
サービス→VPC→ルートテーブル→ルートテーブルの作成
名前:my-route-table-20241213
VPC:1.で作成したVPCを選択
→ルートテーブルを作成
作成したルートテーブルを選択→ルート→ルートを編集
ルートを追加:送信先 0.0.0.0/0
ターゲット:インターネットゲートウェイ / 3.で作成したIGWを選択
→変更を保存
サブネットの関連づけ
サブネットの関連付けを編集
2.で作成したサブネットを選択
→関連付けを保存
※ここでVPCからリソースマップをみると
サブネットからIGWが正しく接続されているかがわかる
5. セキュリティグループ
概要
- インターネットのアクセスを制限する(ファイアウォール)
- インバウンド httpのアクセスをどのIPからも許可
手順
サービス→VPC→セキュリティグループ→セキュリティグループの作成
セキュリティグループ名:MySecurityGroup20241213
説明::MySecurityGroup20241213
VPC:1.で作成したVPCを選択
インバウンドルール タイプ:http ソースIP:0.0.0.0/0 ※全開放なので、実際に設定するときは注意する
6. EC2作成
概要
- AL AWS専用のOS(Fedraベース)
- ユーザーデータ EC2起動時にスクリプトを仕込める
ここではアクセスのため、Apachとhtmlを設定
手順
サービス→EC2→インスタンス→インスタンスを起動
名前:MyWebServer-20241213
マシンイメージ:デフォルト(AL2023)
インスタンスタイプ:デフォルト
キーペア:キーペアなしで続行(今回のハンズオンではSSH接続しない)
ネットワーク設定→編集
VPC:1.で作成したVPCを選択
サブネット:2.で作成したサブネットを選択
パブリックIP割り当て:有効にする
ファイアウォール(セキュリティグループ)
既存のセキュリティグループ 5.で作成したセキュリティグループを選択
高度な詳細→ユーザーデータ
(起動時に仕込めるスクリプト Apacheとhtmlを仕込んでる)
下記を貼り付ける
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
echo "<h1>EC2 ハンズオンおつかれさまでした!!</h1>" > /var/www/html/index.html
→インスタンスを起動(キーペアなしで続行)
7. Webサーバへアクセス
サービス→EC2→インスタンス→作成したインスタンスを選択
パブリックIPv4アドレスをコピーし下記でアクセス
http://IPアドレス
※オープンアドレスだとhttpsになってアクセスできないので注意
※お片付け(インスタンス停止)
(0.0.0.0/0でフルオープンにしているので一応停止する)
サービス→EC2→インスタンス→作成したインスタンスを選択
インスタンスの状態→インスタンスを停止→停止
今回リソースは消さないが、自分のアカウントを運用する場合は、
不要なリソースはできるだけすべて削除しておくとよい
課金される