Web制作・開発会社 プレスマンのスタッフブログ

PRESSMAN*Tech

AWSを使ってみよう!(その13) - CloudFrontの設定(S3 + CDN)

突然のアクセス増、うれしいですけど、
サーバーが耐え切れるか、どうか不安ですよね。

AWSには、CloudFrontと呼ばれる
CDN(Contents Delivery Network)サービスが、用意されています。

Amazon CloudFront
https://aws.amazon.com/jp/cloudfront/

コンテンツデリバリネットワーク
CDNとは、Content Delivery Network(コンテンツ・デリバリ・ネットワーク)の略で、
世界中に張り巡らされたサーバ(CDN配信プラットフォーム)を通して、
コンテンツにアクセスしようとするエンドユーザに最も近いサーバから効率的に
配信する仕組みのことです。
www.cdnetworks.co.jp/about/

それでは開始です。。。

1.まずは、ディストリビューションを作成します。

2.Webを選択します。

3.詳細内容を設定していきます。

Origin Domain Name
コンテンツを置いてあるS3のバケットを選択します。

Object Caching
変更します。(=Customize)

Maximum TTL
300(Sec)

Default TTL
300(Sec)


Object Caching,Maximum TTL,Default TTL
の設定で、キャッシュ時間が5分(300秒)になりました。

Alternate Domain Names
CNAMEレコードの名前になります。

Default Root Object
最初に読み込ませたいファイル名を指定します。

4.これで終わりです。

Deployedになるまで、暫く待ちます。
Deployedになったら、ブラウザからDomain Nameで接続されることを確認します。
CNAMEレコードに、Alternate Domain NamesとDomain Nameを指定すると、
Alternate Domain Namesで接続が可能になります。

今回は、S3をオリジンとしましたが、
EC2で作成したWEBサイト等も設定可能です。
※サイトによって、様々な設定が必要な場合もあります。

 以下にAWSがアピールしているメリットを記します。

 耐久性
 オブジェクトの 99.999999999% の耐久性を実現するように設計されています。
 http://aws.amazon.com/jp/s3/details/#durability

 低コスト
 お支払いは必要な分だけ。最低料金や前払い料金はありません。
 http://aws.amazon.com/jp/s3/pricing/

 可用性
 Amazon S3 は、1 年でオブジェクトの可用性が 99.99% になるように設計されています。

 安全性
 Amazon S3 は、SSL でのデータ転送と、アップロード後のデータの自動暗号化をサポートします。
 http://aws.amazon.com/s3/details#security

 イベント通知の送信
 Amazon S3 は、オブジェクトがアップロードされたときにイベント通知を送信できます。
 https://aws.amazon.com/s3/details/#events

 高性能
 Amazon S3 は、ネットワークのスループットと回復性を最大化するのに役立つマルチパートアップロードをサポートし、
 エンドユーザーに近い AWS リージョンを選択してデータを保存することでネットワークレイテンシーを最小にできます。
 また、Amazon S3 は、レイテンシーが短く、データ転送速度が速く、最低使用料のないエンドユーザー向けの
 コンテンツ配信ウェブサービスである Amazon CloudFront と統合されます。

 統合済み
 Amazon S3 はその他の AWS サービスと統合されているため、Amazon S3 のデータを簡単にアップロード/ダウンロードでき、
 さまざまな AWS サービスを使用するソリューションの構築が容易になります。
 Amazon S3 の統合には、Amazon CloudFront、Amazon Kinesis、Amazon RDS、Amazon Glacier、Amazon EBS、Amazon DynamoDB、
 Amazon Redshift、Amazon Route 53、Amazon EMR、AWS Lambda が含まれます。

 使いやすさ
 Amazon S3 は、ウェブベースの管理コンソール、モバイルアプリケーション、完全な REST API や SDK と合わせて使用でき、
 サードパーティ製のテクノロジーと統合するのも簡単です。