CDKの簡単化:CDKによるS 3ライフサイクルポリシーの管理


我々が始める前にhttps://cloudash.dev , Serverlessアプリを監視する真新しい方法🚀. あなたが生産事件をデバッグするとき、50 CloudWatchタブの間で変わるのに疲れているならば、我々をチェックしてください.

CDSによるS 3ライフサイクルポリシー


次のシナリオを想像してください.
あなたはソーシャルメディアのウェブサイト(例えばTwitterのためのTwitter)で雇われているあなたのタスクは、彼らのイメージを格納する方法を最適化することです.ユーザーが新しいイメージをアップロードするたびに、それは通常、それが不明瞭にフェードする前に、1ヶ月程度のためにかなり頻繁にアクセスされます.3ヵ月後に、イメージはほとんど全くアクセスされません.
以下の要件は次のとおりです.
  • イメージがアップロードされると、頻繁にアクセスストレージ層に保存されます(S 3規格)
  • ヵ月後に、それをまれなアクセスに変えてください
  • 四半期以降、法的理由でイメージをアーカイブ
  • 確かに、あなたは手動で(それで良い運)をすることができました.
    そのためにはlifecycleRules 配列からs3.Bucket 以下の定義
    const myBucket = new s3.Bucket(this, 'BuckyMcBucketface', {
        lifecycleRules: [
            {
                transitions: [
                    {
                        storageClass: s3.StorageClass.INFREQUENT_ACCESS,
                        transitionAfter: cdk.Duration.days(30),
                    },
                    {
                        storageClass: s3.StorageClass.GLACIER,
                        transitionAfter: cdk.Duration.days(90),
                    },
                ],
            },
        ],
    });
    
    ご覧の通り.lifecycleRules 規則の配列をとります-例ではtransitions :
  • 30日後にcdk.Duration , 3 msの標準(デフォルトのストレージクラス)からS 3標準IAへのデータの移行
  • 90日後に、貯金に金を節約するために氷河にデータを移します
  • 注意:
    🚨 ファイルは、スタックを展開しようとした場合、遷移を引き起こす前に少なくとも30日間、S 3標準/標準IAに格納されなければなりませんtransitionAfter: cdk.Duration.days(5) , 展開中にエラーが発生します.Days' in Transition action must be greater than or equal to 30 for storageClass 'STANDARD_IA'走りましょうcdk deploy そして、管理タブをクリックすることによってS 3コンソールで結果をチェックしてください🎉
    ライフサイクル規則を選択し、「編集」をクリックして確認します.

    ニース、我々がCDKで指定したライフサイクル規則は、我々のバケツに適用されました.ファイルは30日後に標準IAに移行し、その後90日後に氷河に移行する.
    ライフサイクル規則は不変ではありません.「小さなオブジェクトを氷河や氷河の深いアーカイブに移すことはコストを増加させる」と警告しています.我々のケースでは、それは正確に0.01ドルです、しかし、我々が実際に4分の1の後に氷河に彼らのファイルを動かす必要はないので、CDKスタックに戻って、その規則を取り除きましょう.
    const myBucket = new s3.Bucket(this, 'BuckyMcBucketface', {
        lifecycleRules: [
            {
                transitions: [
                    {
                        storageClass: s3.StorageClass.INFREQUENT_ACCESS,
                        transitionAfter: cdk.Duration.days(30),
                    },
                ],
            },
        ],
    });
    
    配備を実行する前に実行しましょうcdk diff ライフサイクル規則の変更をどのように適用するかを確認するには、次の手順に従います.
    Stack AmazonS3Stack
    Resources
    [~] AWS::S3::Bucket BuckyMcBucketface BuckyMcBucketface22FEAF1D
     └─ [~] LifecycleConfiguration
         └─ [~] .Rules:
             └─ @@ -5,10 +5,6 @@
                [ ]     {
                [ ]       "StorageClass": "STANDARD_IA",
                [ ]       "TransitionInDays": 30
                [-]     },
                [-]     {
                [-]       "StorageClass": "GLACIER",
                [-]       "TransitionInDays": 90
                [ ]     }
                [ ]   ]
                [ ] }
    
    我々が見ることができるように、ライフサイクル規則自体は氷河期移行部だけでは削除されない.それを展開しましょうcdk deploy を参照してください.

    congrats、あなたはちょうどどのようにWS🎉

    AWSについてもっと学びたいのですが、どうすればいいですか?


    優れた質問!
    少し前に、私はAWSコース全体を開始しましたegghead.io - チェックアウトBuild an App with the AWS Cloud Development Kit

    それは私がこれまでに作成したコンテンツの最高の作品だと私は信じられないほど誇りに思っている🌟
    それとは別に、私もegghead.io 以下のようなサーバレスのトピックについてのコレクション
  • Learn AWS Lambda from scratch
  • Learn AWS Serverless Application Model (AWS SAM) from scratch