LoginSignup
2
1

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今まで作成したALB (ELB)+ EC2 + RDS環境に対してCloudFrontをデプロイし、CDN環境を作っていきます。

今までの環境構築の流れは以下にまとめておりますので、適宜ご覧ください。

環境イメージ

前回デプロイしたALBに対してCloudFrontを紐づけていき、CloudFront経由でDjangoにアクセスできる環境を作っていきたいと思います。
※セキュリティの事に関しては特にここでは考慮をしておりませんのでご認識おきください。

aws-django01-ページ8.drawio.png

CloudFront(CDN)環境を用意するメリット

例えば今回のDjango環境の場合、EC2が2つありALBで負荷分散をしているとはいえ、たくさん通信が来てしまうと処理が間に合わずユーザへのサービス提供に遅延が出てしまう可能性があります。
例えば、満席のレストランをイメージするとわかりやすいのではないでしょうか?料理が来ない…的な?
島田様01-ページ32.drawio.png

CDNがあることでEC2に関わる負荷を分散することが出来ます。
具体的にはCloudFront(≒サーバ)が以前問い合わせた情報を保存(≒キャッシュ)することで
EC2への問い合わせ(≒通信)が減り、その結果EC2の負荷が下がるイメージです。
ALBが横に負荷分散しているのであれば、CloudFrontは縦に負荷分散しているイメージ?ですかね…
島田様01-ページ33.drawio.png

構築

AWSコンソールでCloudFront管理画面を開くと、以下のような画面が表示されます。
右側にあるCloudFrontディストリビューションを作成するを押下します。
image.png
今回は以下のように設定を入れていきました。
Originのところで作成したALBを指定してあげると、今から立ち上げようとしているCLoudForntと紐づけることが出来ます。
設定入力後、作成を押下します。
screencapture-us-east-1-console-aws-amazon-cloudfront-v4-home-2024-06-29-19_51_33.png
作成を押下して正常に終了すると、以下のような画面が表示されます。
ディストリビューションドメイン名をコピーします。
image.png
ディストリビューションドメイン名をコピーするとhttps://d3b1f0p67o7047.cloudfront.netみたいな文字列を入手することが出来ます。
このままWebブラウザに適当にコピペして検索をかけると、いつも通りDjangoの画面を見ることが出来るようになります。
image.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1