【SAP対策】CloudFront経由でS3のファイルを見る【やってみた】

2020.04.01

恩塚です!

「AWS認定SAP対策で実際に試してみる」のコーナー第①弾

  • CloudFront経由でS3のファイルにアクセス
  • オリジンアクセスアイデンティティ(OAI)の設定でプライベートに接続

今回はこのワードを元に試していくぞ〜Let's go!!

やってみた

(完成イメージ)

S3内のファイルを直接見ることができないがCloudFront経由では見ることができる

S3にファイルを置く

  • S3メニュー>バケットを作成>適当なバケット名で作成
  • ブロックパブリックアクセスのバケット設定についてはデフォルト(オフ)のまま次に行ってOK
  • バケットを選択>アップロード>適当な画像ファイルをアップロード
  • S3のファイルに直接アクセスされないように画像のような設定にしておく(デフォルトでこうなっている)

S3の直URLでファイルをみてみると

  • ファイルを選択>概要>オブジェクトURL

ファイルが非公開で見れないのが確認できた!

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

  • ディストリビューションはCloudFrontに割り当てられたドメインとそれに紐づく各種設定だと理解してます
  • CloudFrontメニュー>Create Distributions>Web
    • RTMPは動画などに適しているらしい、今回は画像なのでWebを選択

  • [Origin Domain Name]で作成したS3バケットを選択
  • [Restrict Bucket Access]はYes
    • オリジンに指定したS3バケットへのアクセスを拒絶する
  • [Origin Access Identity]はCreate a New Identity
    • オリジンアクセスアイデンティティ(以下OAI)を作成する
  • [Grant Read Permissions on Bucket]はYes, Update Bucket Policy
    • 作成したOAIをS3バケットのポリシーに記載してくれる
  • 他の設定は全てデフォルトのままCreate Distribution

  • Statusが In Progress から Deployed になるのを待つ

  • {DomainName}/{S3に置いたファイル名}にアクセスしてみる

でけた!!

(参考)

CloudFront オリジンアクセスアイデンティティを作成してディストリビューションに追加する

まとめ

  • オリジンアクセスアイデンティティ(OAI)はCloudFrontに設定することでCloudFront経由以外のオリジンへのアクセスを制限するのだ!!

(続き)【SAP対策】CloudFrontで署名付きURLを発行する【やってみた】

ひとりごつ

3本目にしてやっと真面目なブログ書いていこうと思います。

Developers.I.Oには賢人や巨人(ときに変人)がしのぎを削ってブログを投稿しており正直萎縮してましたが開き直ってガンガン投稿していこうと思います(きっと同じレベルの人の助けになるから。。。)