はじめに
「AWSのサービスを学ぼうと公式サイトを見たけど、よくわからなかった」という人は多いと思う。自分もAWSを本腰入れて勉強するまで、各サービスの特徴や出来ることの理解に時間がかかった。
だってAWSの公式見ても用語とか意味がわからんのじゃもん!!!
最近仕事でCloudFrontを構築し、メリットや出来ることが理解できたため、復習も兼ねて記事を書いてみようと思った。
CloudFrontとは
CDN(コンテンツ・デリバリ・ネットワーク)です。
そのまま言葉を飲み込めばよくて
- コンテンツ(画像・動画・ファイル など)を
- デリバリ(運んでくれる)
- ネットワーク
って感じです。
じゃあ具体的にどうコンテンツを運んでくれるの? を理解すればCloudFrontの特徴が掴めます。
特徴1 : CloudFrontは世界中にエッジロケーションを持つ
エッジロケーションとはコンテンツをキャッシュしてくれるサーバーです。
これによって世界中どこにいても、コンテンツを高速で取得することが可能になります。
(AWS公式では、高スループット・低レイテンシーと表現されたりします。)
日本だと、東京・大阪にエッジロケーションがありますね。
参照:https://aws.amazon.com/jp/cloudfront/features/?whats-new-cloudfront.sort-by=item.additionalFields.postDateTime&whats-new-cloudfront.sort-order=desc
特徴2 : 複数のリソースにアクセスできる
1つのドメインから、複数のリソース(S3やロードバランサーなど)に名前解決することができます。
聞くだけでは直感的にメリットを理解しにくい部分ですが、自分の現場ではこちらを目的としてCloudFrontを利用しました。
上の例で言うと、CloudFrontは2つのリソースへのアクセスを実現しています。
-
xxxx.cloudfront.net/page
にアクセスした場合は ALBへ -
xxxx.cloudfront.net/image/xxx
にアクセスした場合は S3へ
このようなリソースへのアクセスは、オリジン
と ビヘイビア
と呼ばれるパラメータの組み合わせで作られます。
オリジン
オリジンとは、CloudFrontからアクセスするリソースです。
下の例では、S3のリソースを指定したオリジンを作成しています。
ビヘイビア
上記オリジンへのアクセスパターンを決めるのが、ビヘイビアです。
下の例では、/image/xxxx というパスでアクセスしたら、S3のオリジンに名前解決するよー
といったビヘイビアを作成しています。
この状態で、{cloudfrontのドメイン名}/image/xxxx
にアクセスすると、S3にアップロードされたファイルにアクセスすることができます。
こういった設定を追加することで、複数のリソースへのアクセスを可能にしていきます。
まとめ
CloudFrontはCDN(コンテンツ・デリバリ・ネットワーク)
特徴1 : CloudFrontは世界中にエッジロケーションを持つ
→ エッジロケーションにキャッシュを持たせることで、コンテンツを高速で取得できるようになります。
特徴2 : 複数のリソースにアクセスできる
→ オリジン・ビヘイビアの組み合わせで実現する。
次回は実際にCloudFrontを立てて、S3にアクセスする部分をハンズオン形式で記事にしようと思います!