Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

Latest commit

 

History

History
84 lines (53 loc) · 2.33 KB

File metadata and controls

84 lines (53 loc) · 2.33 KB

S3の設計

定義済みのバケット

  • terraform
  • tfstateファイルを保存
  • deployment
  • デプロイ関連のファイルを保存
  • temporary
  • 一時ファイルを保存(公開される)
  • s3-log
  • S3のログを保存
  • cloud-trail
  • CloudTrailのログを保存

Groupタグ

ACLごとにざっくりしたグルーピングをする。

  • Internal
  • 非公開ファイルを保存するグループ
  • External
  • 公開ファイルを保存するグループ
  • Log
  • 各種ログ(S3のログ以外)を保存するグループ
  • S3Log
  • S3のログを保存するグループ

Environmentタグ

想定している環境を定義する。

  • Administration
  • 管理者用環境
  • Production
  • 本番環境

バケット名の命名規則

基本方針

バケット名は <identifier>-<suffix> という形式とする。

identifier

バケットの用途を説明する任意の識別子。

suffix

バケット名はグローバルで一意にする必要があるため、接尾辞を付与する。

接尾辞はAWSアカウントIDのMD5の先頭12文字とする。

また、このs3_suffixは、ローカルマシンの環境変数から取得することで、 バージョン管理しなくても済むようにしている。

グローバルで一意であるという性質上、バケット名が第三者に知られた上、 アクセス制御がミスっていると、不正にアクセスされるため、そのリスクを軽減する。

ちなみに、12文字というのは、AWSのCloudFormationで S3バケットを作成した時に付与されるランダム文字列の長さと同じである。

一般的な注意事項

トラップ回避のため、以下のルールを守ること。

  • 文字列長は 3~63
  • 小文字の英文字、数字、およびハイフン - のみ使う
  • ピリオド . 、アンダースコア _ はハマる可能性があるため使わない
  • バケット名の先頭及び末尾は、小文字の英文字または数字にする

その他細かい注意点については、下記を参照。