【AWS CloudFormation】S3のライフサイクルルールの設定作成

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

こんにちは!技術4課のイーゴリです。

本件の記事では、CloudFormationでS3のライフサイクルルールの設定の一例をご紹介させて頂きます。

本件記事の目標

下記の要件の通りS3の作成及びライフサイクルルールを設定したいと思います。

バケット名:s3-blog-<対象AWS Account Id>

ライフサイクルルール名:blog-life-cycle-rule

日数 S3ストレージクラス
0 Standard
30 Intelligent-Tiering
90 Glacier Flexible Retrieval (旧 Glacier)
180 Glacier Deep Archive
365 オブジェクトの削除

f:id:swx-korotkov:20220317181632p:plain

  1. オブジェクトをS3にアップロードします(S3 Standard)。
  2. 30日後、オブジェクトがIntelligent-TieringのS3ストレージクラスに移行されます。
  3. 90日後、Glacier Flexible Retrieval (旧 Glacier)に移行されます。
  4. 180日後、Glacier Deep Archiveに移行されます。
  5. 365日後、オブジェクトが削除されます。

Cloud Formationテンプレートの作成

AWSTemplateFormatVersion: "2010-09-09"
Description: "Create S3 bucket with LifeCycle Rule for Project X"
Parameters:
    BucketName:
        Type: String
        Description: Bucket Name
    BucketLabel:
        Type: String
        Description: Bucket Label for LifeCycle Rule
Resources:
    S3Bucket:
        Type: "AWS::S3::Bucket"
        Properties:
            BucketName: !Ref BucketName
            LifecycleConfiguration: 
                Rules: 
                  - Id: !Sub ${BucketLabel}-life-cycle-rule
                    Status: "Enabled"
                    ExpirationInDays: 365
                    Transitions:
                      - StorageClass: INTELLIGENT_TIERING
                        TransitionInDays: 30
                      - StorageClass: GLACIER 
                        TransitionInDays: 90
                      - StorageClass: DEEP_ARCHIVE 
                        TransitionInDays: 180

スタックの作成

スタックの作成時に「BucketLabel」及び「BucketName」を入力し、[次へ]をクリックします。

f:id:swx-korotkov:20220322120726p:plain

YAMLの説明

[サービス]>[S3]の一覧で指定した名前が見られるようになります。S3バケット名がスタックの作成時の「BucketName」の設定値となります。

f:id:swx-korotkov:20220322115646p:plain

対象S3バケットをクリックし、[管理]タブをクリックします。

[ライフサイクルルール]にある名前(blog-life-cycle-rule)はS3バケットのスタックの作成時の「BucketLabel」の設定値となります({BucketLabel}-life-cycle-rule)。

f:id:swx-korotkov:20220322115737p:plain

対象S3バケットのライフサイクルルールをクリックし、[移行と有効期限切れのアクションを確認]でライフサイクルルールの設定を確認できます。

f:id:swx-korotkov:20220322121458p:plain

[編集]ボタンをクリックしますと、設定の変更ができます。

f:id:swx-korotkov:20220322121614p:plain

f:id:swx-korotkov:20220322121630p:plain

S3ストレージクラスの設定値

下記のAWSページに利用可能な設定値が書いてありますので、ご参考ください。

docs.aws.amazon.com

Allowed values: DEEP_ARCHIVE | GLACIER | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | STANDARD_IA

以上、御一読ありがとうございました。

イーゴリ (記事一覧)

クラウドインテグレーション部・エンジニア

特にTerraform(自動化)、ネットワーク系、DNS、VDI、Windows Serverに興味があります

日本国内旅行・ドライブが好きです