AWS CND CloudFront
今回はAWSのCDNサービスであるCloudFrontを勉強していきます。
AWSはリージョンとそのAZゾーンが世界各地にありますが、CDNとして全世界をカバーするには拠点が足りません。 そのためCDN専用の拠点としてエッジロケーションと呼ばれる場所があります。 この拠点は、AWSのリージョンにあるAZゾーンとは別にコンテンツの配布場所として全世界で50ヶ所以上用意されています。
さっそくCloudFrontを作ってみると、 最初に新規作成するとコンテンツタイプを2つの中から選ぶことになります。
Web
Webサーバで使用するコンテンツ。通常のHTMLファイル等はこれを使用する。RTMP
Adobe flash等のストリーミングを配信する場合はこのRTMPを使用する。
コンテンツタイプを選んで次のページに行くと実際の設定ができます。
- Origin Setting
コンテンツのオリジナルとなるサーバ。AWSではS3バケット、EC2インスタンス、ElasticロードバランサーかRoute53が使用可能です。
カーソルをドメイン名に移動すると自動的にS3のバケット名が出てきて簡単に選ぶことができます。またAWS以外のサービスでももちろんAWSのCDNを使用することは可能です。
Origin IDはデフォルトでバケット名が入力されますが、マルチオリジンの配布をする場合にはIDをわかるように設定する必要があります。
- Default Cache Behavior Settings
パスパターンはデフォルトではワイルドカードですが、拡張子を選択しPDFのみを配布するだとか設定できます。
CDNへのアクセスプロトコルとHTTPのメソッドを指定することが可能で、PUTやPOSTも受け付けるので、CDNへの変更も許可することが可能です。 また、カスタムでTTLの設定が可能です。デフォルトは24時となっていますが変更が可能です。
CloudFrontはこのTTLが来ると自動的にコンテンツが削除され、再度アクセスが来るとオリジナルからコピーして配布する仕組みとなっています。
Restrict viewer accessはログインしてアクセスが必要なサイト等で使用される機能で必要な場合には有効にする必要があります。
- Distribution 設定
PriceクラスでCloudFrontのEdge Locationをカテゴリーで決められます。3つあって全世界とアメリカ、ヨーロッパとアメリカ、ヨーロッパとアジアから選べます。
CDNのアドレスはランダムなURLがアサインされるので、CNAMEを指定することができます。
またその際に必要なカスタム証明書を合わせて設定することができます。
作成するとディストリビューションに表示されます。配布の準備が整うまでしばらくIn Progress
状態で待ちますが、
10-15分ほどすればDeployed
になります。
完了したら、CDN用のcroudfron.net Domain Nameでアクセスができます。
設定変更画面で作成したCDN配布設定を再度変更できます。 作成する際になかったRestrictionsとInvalidationsを見てみましょう。
Restrictionsはジオリストリクションが設定でき編集ボタンからジオリストリクションを有効にすると、特定の地域をホワイトリストかブラックリストで指定することができ、指定した地域のみに配布または配布から除外する設定が可能です。
Invalidationsは配布したファイルをTTLの削除時間が来る前に手動で削除する際に使用します。 特定をファイルを指定すると、そのファイルが即座に削除対象になります。 手動での削除は別途料金がかかります。
最後に削除する場合には、一度DisableをクリックしてDisabled状態になってからでないと、削除ボタンが押せません。Disableにして再度設定が反映されてからようやく削除ボタンが押せるようになります。
以上、ちょっと急ぎ足ですがCloudFrontの概要と使い方がわかったかと思います。 時間があったらもうちょっとアップデートしたいと思います。