nebashitaito-web

CloudFrontでウェブサイトをHTTPS接続にしてみた

画像

ディストリビューションの作成

元々作成していたS3バケットを選択する。
S3 ウェブサイトエンドポイントは選択しない。選択するとHTTPのみの通信になってしまう。

画像

OACの設定

なければその場で新規作成する
名前以外は、そのままの設定でOK

画像 画像

キャッシュビヘイビアの設定

ビューワープロトコルポリシーは「HTTPSのみ」を選択
許可された HTTP メソッドは「GET、HEAD」を選択

画像

デフォルトルートオブジェクト

ここで必ず「index.html」を指定する。
ディストリビューションドメイン名(https://d2dubl6cu4hmp8.cloudfront.net)にアクセスしたときに、追加でURLを設定する必要がある。
ディストリビューションドメイン名は、単純にS3バケット(https://nebashitaito-web.s3.amazonaws.com)へのアクセスになる。
S3バケット(https://nebashitaito-web.s3.amazonaws.com)の中のオブジェクト(index.html)へのアクセスが必要になるので、ここで指定する。

画像

作成後に出てくるポップアップからS3バケットポリシーをコピーする

画像

消しちゃっても、オリジンの設定からいつでも確認できる。

画像

バケットポリシーの設定

コピーしてきたバケットポリシーを貼り付けて、CloudFrontからのアクセスを許可する。

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "AllowCloudFrontServicePrincipal",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudfront.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::nebashitaito-web.com/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudfront::259161077878:distribution/ELXEWFRVRQ5X9"
                }
            }
        }
    ]
}

パブリックアクセスをブロックする

画像

CloudFrontディストリビューションへアクセスすると…

ちゃんと表示される!

画像 画像