Amazon CloudFront で Amazon Simple Storage Service (Amazon S3) バケットへの HTTPS リクエストを処理するための構成を行いたいと考えています。
解決策
Amazon S3 バケットでは、Amazon S3 ウェブサイトエンドポイントまたは REST API エンドポイントを使用できます。詳細については、「Amazon S3 バケットを使用する」を参照してください。Amazon S3 の静的ウェブサイトエンドポイントを使用する場合、Amazon CloudFront と Amazon S3 間の接続は HTTP 経由でのみ確立できます。
標準ディストリビューションを作成する
次の手順を実行します。
- CloudFront コンソールを開きます。
- ナビゲーションペインで [ディストリビューション] を選択し、[ディストリビューションを作成] を選択します。
- ディストリビューション名を入力します。
- [単一のウェブサイトまたはアプリ] を選択し、[次へ] を選択します。
注: DNS プロバイダーが Amazon Route 53 でない場合は、ドメインの設定をスキップしてください。ディストリビューションを作成した後、カスタムドメインと TLS 証明書を追加します。
- [オリジンの指定] ページで [Amazon S3] を選択します。
- [オリジン] で S3 バケットを選択するか、Amazon S3 ウェブサイトエンドポイントのドメインを入力します。
- [推奨オリジン設定を使用する] を選択するか、必要に応じてカスタマイズします。完了後、[次へ] を選択します。
- [セキュリティ保護を有効にする] ページで AWS WAF を構成します。完了後、[次へ] を選択します。
- ステップ 4 でカスタムドメインを設定した場合は、[TLS 証明書] ページが表示されます。次のいずれかのオプションを選択します。
- 新しい証明書の作成: CloudFront は、ドメインの AWS Certificate Manager (ACM) 証明書を新たにリクエストします。
- 既存の証明書を使用: AWS リージョン us-east-1 から既存の ACM 証明書を選択します。
- [次へ] を選択し、[ディストリビューションを作成] を選択します。
HTTPS 設定を構成する
オリジンタイプに Amazon S3 を選択した場合、CloudFront は、Amazon S3 コンテンツに最適化された、デフォルトのキャッシュ設定を適用します。また、CloudFront は、デフォルト動作パスパターンのビューワープロトコルポリシーを Redirect HTTP to HTTPS に設定します。このパターンでは、すべての CloudFront に対する HTTP リクエストは、自動的に HTTPS にリダイレクトされます。
ビューワープロトコルポリシーには、次のオプションが用意されています。
- Redirect HTTP to HTTPS: HTTP リクエストを自動的に HTTPS にリダイレクトします。
- HTTP and HTTPS: CloudFront ディストリビューションに対する、HTTP リクエストと HTTPS リクエストの両方を許可します。
- HTTPS only: CloudFront ディストリビューションに対する、HTTPS リクエストのみを許可します。
ビューワープロトコルポリシーを変更するには、次の手順を実行します。
- CloudFront コンソールを開きます。
- ディストリビューション ID を選択します。
- [動作] タブを選択します。
- Default(*) 動作を選択し、[動作の編集] を選択します。
- [ビューワー] で [ビューワープロトコルポリシー] を選択します。次に、目的のオプションを選択します。
- [変更を保存] を選択します。
カスタムドメインの設定
ディストリビューションでカスタムドメインを使用するには、ディストリビューションに代替ドメイン名を追加します。次に、DNS を更新し、CloudFront ディストリビューションのドメインを指す CNAME レコードを作成します。詳細については、「代替ドメイン名を追加する」を参照してください。
関連情報
ディストリビューションを作成する
CloudFront と Amazon S3 オリジンとの間の通信で HTTPS を必須にする
CloudFront を使用して Amazon S3 でホストされている静的ウェブサイトを提供する方法を教えてください
ウェブサイトエンドポイント