1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DynamoDB Global Tables CloudFormation テンプレート記法メモ

Posted at
  • DynamoDB Global TablesをCloudformationテンプレートで作成する場合の記法について、個人用にメモする。

テンプレート

Type: AWS::DynamoDB::GlobalTable
Properties: 
  AttributeDefinitions: 
  	- AttributeDefinition 
  BillingMode: String
  GlobalSecondaryIndexes: 
    - GlobalSecondaryIndex
  KeySchema: 
    - AttributeName: PK 
    - KeyType: HASH
  LocalSecondaryIndexes: 
    - LocalSecondaryIndex
  Replicas: 
    - ReplicaSpecification
  SSESpecification: 
    SSESpecification
  StreamSpecification: 
    StreamSpecification
  TableName: mytable
  TimeToLiveSpecification: 
    TimeToLiveSpecification
  WriteProvisionedThroughputSettings: 
    WriteProvisionedThroughputSettings
  • AttributeDefinitions※必須

    • 属性定義
    • 属性名と型を指定する。
  • BillingMode※任意

    • 課金形態
    • 定義域:PAY_PER_REQUESTorPROVISIONED
  • GlobalSecondaryIndexes※任意

    • グローバルセカンダリインデックス
      • あるテーブルをベースに、異なるパーティションキー・ソートキーのテーブルを作成する仕組み。
    • 最大20個作成可能。
  • KeySchema※必須

    • 主キーを構成する属性
  • LocalSecondaryIndexes※任意

    • ローカルセカンダリインデックス
      • あるテーブルをベースに、パーティションキーはそのままに、異なるソートキーのテーブルを作成する仕組み。
    • 最大5個作成可能。
  • Replicas※必須

    • グローバルテーブルのレプリカリスト

    • 記載例

      Replicas:
      	- Region: us-east-1
            PointInTimeRecoverySpecification: #特定時点への DB インスタンスの復元設定
            	PointInTimeRecoveryEnabled: true
            SSESpecification:
            	KMSMasterKeyId: alias/dynamodb-key-useast #暗号化に使用するKMSキーを指定
            Tags:
            	- Key: Name
            	  Value: testtable
            	- Key: Region
            	  Value: east
       	- Region: us-west-1
            PointInTimeRecoverySpecification:
            	PointInTimeRecoveryEnabled: true
            SSESpecification:
             	KMSMasterKeyId: alias/dynamodb-key-uswest
            Tags:
            	- Key: Name
            	  Value: testtable
            	- Key: Region
            	  Value: west
      
  • SSESpecification※任意

    • サーバー側の暗号化を有効にするための設定
    • 定義域※暗号化方式:AES256 | KMS
  • StreamSpecification※任意

    • ストリーム(データ変更時に、その変更情報を暗号化してログに保存しておく)設定
    • グローバルテーブルに複数のレプリカが含まれている場合は指定する
    • 定義域: KEYS_ONLY | NEW_AND_OLD_IMAGES | NEW_IMAGE | OLD_IMAGE
  • TableName※任意

    • テーブル名
  • TimeToLiveSpecification※任意

    • TTL設定
    • TTL設定を行う属性名を指定する。
  • WriteProvisionedThroughputSettings※任意

    • 書き込み容量の自動スケーリングポリシー
    • 全レプリカに適用される。
    • BillingModePROVISIONEDに設定されている場合は設定が必要

参考情報

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?