S3 に置いたコンテンツを CloudFront を利用 してインターネットに公開する方法まとめ ( A )CloudFront のオリジンに Amazon S3 バケットを使用する方法

記事タイトルとURLをコピーする

本記事の概要につきましては大変お手数ですが 以下のブログをご参照ください
S3 に置いたコンテンツを CloudFront を利用 してインターネットに公開する方法まとめ

( A ) CloudFront のオリジンに Amazon S3 バケットを使用する方法

本記事で作成するのは以下の構成です

f:id:swx-yamamoto:20210428172013p:plain

公式ドキュメントはお手数ですが以下をご参照ください
オリジンとしての Amazon S3 バケットの使用

 

手順

S3にバケットを作成しコンテンツを配置

[サービス]→[S3] の順にクリックします

f:id:swx-yamamoto:20210428172036p:plain

  [バケットを作成]をクリックします

f:id:swx-yamamoto:20210428172052p:plain

  [バケット名]に任意の文字列を入れて [バケットの作成]をクリックします ※ デフォルトで [パブリックアクセスをすべてブロック] のバケットになります

f:id:swx-yamamoto:20210428172109p:plain

  バケットが出来ました

f:id:swx-yamamoto:20210428172130p:plain

  トップページになる s3contents.html を作成しアップロードします  

f:id:swx-yamamoto:20210428172150p:plain

  [次へ]を押します  

f:id:swx-yamamoto:20210428172208p:plain

  [次へ]を押します

f:id:swx-yamamoto:20210428172233p:plain

  [次へ]を押します

f:id:swx-yamamoto:20210428172257p:plain

  [アップロード]を押します

f:id:swx-yamamoto:20210428172322p:plain

    アップロードできました

f:id:swx-yamamoto:20210428172343p:plain

  アップロードしたファイルの [オブジェクト URL] をブラウザで 確認してみます

f:id:swx-yamamoto:20210428172403p:plain

  アクセス不可となります

f:id:swx-yamamoto:20210428172433p:plain

  作成したバケットの[バケットポリシー]に何も入っていないことを確認します

f:id:swx-yamamoto:20210428172508p:plain

   

CloudFront の作成

[サービス]→[CloudFront] の順にクリックします

f:id:swx-yamamoto:20210428172552p:plain

  [Create Distribution] をクリックします

f:id:swx-yamamoto:20210428172613p:plain

  [Web]セクションにある [Get Started] をクリックします

f:id:swx-yamamoto:20210428172630p:plain

  作成した S3 バケット をプルダウンから選択して入れます (bucket-name.s3.region.amazonaws.com)

f:id:swx-yamamoto:20210428172653p:plain

    [Restrict Bucket Access] を [Yes] に変更します ★重要  

f:id:swx-yamamoto:20210428172717p:plain

  [Origin Access Identity] を [Create a New Identity] に変更します ★重要 また [Grant Read Permissions on Bucket] を [Yes, Update Bucket Policy] に変更します ★重要  

f:id:swx-yamamoto:20210428172745p:plain

  他は変更せずに [Create Distribution] をクリックします

f:id:swx-yamamoto:20210428172818p:plain

    作成中になります

f:id:swx-yamamoto:20210428172835p:plain

      作成したディストリビューションを選択して [General] タブ にある [Edit] をクリックします

f:id:swx-yamamoto:20210428172905p:plain

      [Default Root Object] に アップロードしたファイルのファイル名を入れ [Yes, Edit] をクリックします ※ CloudFront のURL xxxx.cloudfront.net にアクセスした際にトップページになります

f:id:swx-yamamoto:20210428172929p:plain

 

Origin Access Identity (確認のみ)

CloudFrontの左ペインにある [Origin Access Identity] を確認すると作成した [Origin Access Identity] があります  

f:id:swx-yamamoto:20210428173010p:plain

  S3 バケット のバケットポリシーを確認してみると 上の [Origin Access Identity] のみからアクセスを許可する バケットポリシーに更新しています

f:id:swx-yamamoto:20210428173032p:plain

 

確認

CloudFront のURL xxxx.cloudfront.net にアクセスしたところ無事開くことができました ( CloudFrontのステータスが "deployed" になってから 15分ほど待ちました ご注意ください )  

f:id:swx-yamamoto:20210428173100p:plain

HTTPS 化

通信の HTTPS 化 については以下に手順があります お手数ですがご参照ください

CloudFront と Amazon S3 オリジンとの間の通信で HTTPS を必須にする

  以上