【AWS】11/20(水) Amazon CloudFront で VPC オリジンをサポート
2024/11/20(水) Amazon CloudFront で VPC オリジンをサポートしたので調べてみた。
aws.amazon.com
今回のアップデートでできること
VPCのプライベートサブネット内のリソースをオリジンに設定することが可能
VPCオリジンをサポートしたことによるメリット
・リソースをパブリックサブネットに配置する必要がない
・パブリックネットワークを利用しないため料金が抑えれる
・パブリックネットワークを利用しないためセキュリティ向上が図れる
やること
プライベートサブネット内にEC2を立て、Apacheをインストールし、CloudFrontでVPCオリジンを設定して、CloudFront経由でEC2にアクセスする。

実践!
1.プライベートサブネット内のEC2作成
1-1.下記を参考に作成
amegaeru.hatenablog.jp
2.EC2にWebサーバを構成
2-1.SSMでEC2へ接続し、下記を実行
$ sudo dnf install httpd $ sudo systemctl start httpd $ sudo systemctl enable httpd $ sudo systemctl status firewalld $ sudo firewall-cmd --add-service=http --permanent $ sudo firewall-cmd --reload $ echo "<h1>apache is running on Amazon Linux 2023!<h1>" | sudo tee /var/www/html/index.html
2-2.下記を実行し、Webサーバとして動作していることを確認
$ curl http://<EC2のプライベートIP DNS名>/index.html

3.CloudFront VPCオリジン作成
3-1.AWS - CloudFront
3-2.左ペインの「VPC オリジン」-「VPC オリジンを作成」

3-3.下記を入力
Name:VPCOrigin
オリジンARN:EC2のARN
プロトコル:HTTPのみ
HTTP Port:80
※後で変更する場合、CloudFrontから一度オリジンを外す必要あり。
時間がめっさかかる、、、

3-4.「VPC オリジンを作成」
※5分程度かかる

4.CloudFrontディストリビューション作成
4-1.AWS - CloudFront
4-2.左ペインの「ディストリビューション」 - 「ディストリビューションを作成」

4-3.下記を入力
Origin domain:作成したVPCオリジン
VPC origin domain:EC2のプライベートIP DNS名
ウェブアプリケーションファイアウォール(WAF)
セキュリティ保護を有効にしない:✅
以下はすべてデフォルト





4-4.「ディストリビューションを作成」
※10分程度かかる

5.EC2セキュリティグループ修正
5-1.AWS - EC2
5-2.左ペインの「ネットワークインターフェイス」

5-3.自動生成されているVPCオリジン用のENIに関連づいているセキュリティグループ名を確認

5-4.EC2のセキュリティグループのインバウンドルールで、VPCオリジン用セキュリティグループからの80接続を許可するルールを追加

6.動作確認
6-1.ブラウザで下記に接続し、Webサーバにアクセスできることを確認
http://<ディストリビューションURL/index.html

感想
これはメリットありそう!