あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

【AWS】11/20(水) Amazon CloudFront で VPC オリジンをサポート

2024/11/20(水) Amazon CloudFrontVPC オリジンをサポートしたので調べてみた。 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




感想

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