SSTでDynamoDBの暗号化設定を行う方法

DynamoDBにはテーブル暗号化についていくつかの選択肢が用意されているよね。今回はSSTでDynamoDBの暗号化設定を行う方法を手短に紹介するよ。

※画像引用:https://sst.dev/

SSTのバージョンは2.11.1で紹介するね。

結論から言えば、こうだよ。

import { TableEncryption } from "aws-cdk-lib/aws-dynamodb";
import { StackContext, Table } from "sst/constructs";

export function AppTable({ stack }: StackContext) {
  // https://docs.sst.dev/constructs/Table
  const table = new Table(stack, "appTable", {
    fields: {
      pk: "string",
      sk: "string",
    },
    primaryIndex: {
      partitionKey: "pk",
      sortKey: "sk",
    },
    cdk: {
      table: {
        // ここでDynamoDBのテーブル暗号化の設定を選べる
        encryption: TableEncryption.DEFAULT
      }
    }
  });
  return {
    table,
  };
}

これだけだよ! 簡単だね。 SSTのTableコンストラクトのcdk.tableプロパティは、AWS CDK側のTableプロパティを指定できるようになっているんだね。だからこの箇所でどんな設定が可能なのかは、AWS CDK v2のドキュメントを読めばいいよ。

関連記事