DynamoDB テーブルクラスでさらに節約


re:Invent 2021 で、アクセス頻度の低いアイテムのコストを節約するのに役立つテーブル クラスを使用して Amazon DynamoDB について発表がありました. AWS blog からの発表についてお読みください.





AWS の最新情報


@awswhatsnew






Amazon DynamoDB は、新しい Amazon DynamoDB Standard-Infrequent Access テーブル クラスを発表します.これにより、DynamoDB コストを最大 60% 削減できますAmazon DynamoDB は、新しい Amazon DynamoDB Standard-Infrequent Access (DynamoDB Standard... aws.amazon.com/about-aws/what…


午後 17 時 51 分 - 2021 年 12 月 1 日









ブログからの重要なポイント


  • The idea behind the storage class (S3) and table class (DynamoDB)
  • Setting up DynamoDB table class
  • How DynamoDB table class affects cost
  • Best fit for Standard IA

  • ストレージ クラス (S3) とテーブル クラス (DynamoDB) の背後にある考え方

    In most of the Serverless architectures, the go-to solution for storing infrequently access items with high availability is leveraging Amazon S3 ストレージ クラス標準 IA または 1 ゾーン IA.
    これは2つの方法で達成されます -
  • 定期的またはイベントに基づいて、DynamoDB テーブル項目が取得され、低頻度アクセス (IA) のストレージ クラスで S3 に保存されます. DynamoDB から取得した項目は、DynamoDB から削除する必要があります.
  • これだけで、アクセス頻度の低い (IA) のストレージ クラスで S3 に格納できます.

  • これは、アプリケーションにアーカイブされ、しばらくアクセスされるデータを格納するのに役立ちますが、アクセスされるたびに、高可用性が必要になります.

    最新の発表では、アクセス頻度の低いアイテム/オブジェクトに S3 を使用して設計する必要はありません.それらはすべて、読み取り/書き込みに対して同じ DynamoDB 操作を実行できる Standard-IA クラスを持つ DynamoDB テーブルの一部です.テーブルクラスの導入により、DynamoDB Standard と DynamoDB Standard-IA の 2 つのクラスが利用できるようになりました.標準 IA クラスのテーブルは、S3 ベースのアーカイブの必要性を排除します.

    DynamoDB Standard
    The default general-purpose table class. Recommended for the vast majority of tables that store frequently accessed data, with throughput (reads and writes) as the dominant table cost.

    DynamoDB Standard-IA
    Recommended for tables that store data that is infrequently accessed, with storage as the dominant table cost.


    DynamoDB テーブルクラスの設定

    You could use your existing deployment methods for creating or updating DynamoDB tables with TableClass attribute via CloudFormation and also from the web console.


    DynamoDB Standard-IA を使用したテーブルの作成

    コンソールからテーブルを作成するときは常に、カスタマイズされた設定の選択の下に、DynamoDB Standard と DynamoDB Standard-IA のどちらかを選択できるテーブル クラスの選択肢が表示されます.



    DynamoDB Standard-IA へのテーブルの更新

    既存のテーブルを更新するには、テーブルを選択し、コンソールで詳細を表示します. [アクション] メニューで、[テーブル クラスの更新] を選択します.
    これにより、DynamoDB Standard と DynamoDB Standard-IA のどちらかを選択できる UI が表示されます.



    CloudFormation/SAM CLI を使用した作成または更新

    YAML/JSON で CloudFormation ベースのリソース定義を使用する SAM CLI.テーブル クラスは、DynamoDB 標準クラスの STANDARD または DynamoDB 標準 IA クラスの STANDARD_INFREQUENT_ACCESS を受け入れる TableClass が導入された新しいプロパティで更新できます.

    DynamoDBTable:
        Type: AWS::DynamoDB::Table
        Properties:
          AttributeDefinitions:
            - AttributeName: id
              AttributeType: S
          KeySchema:
            - AttributeName: id
              KeyType: HASH
          ProvisionedThroughput:
            ReadCapacityUnits: 5
            WriteCapacityUnits: 5
          TableClass: STANDARD_INFREQUENT_ACCESS
    
    


    ただし、DynamoDB Standard クラスでは月額無料利用枠で最初の 25 GB/月が無料で利用できます.
    ただし、読み取り/書き込みリクエストとグローバル テーブルに関しては、DynamoDB 標準 IA クラスを使用すると、DynamoDB の料金が高くなります.
    しかし、DynamoDB Standard および DynamoDB Standard IA クラスで発生する読み取りリクエストの数と比較すると、アクセス頻度が低いため、はるかに少なくなります.

    および The introduction of table classes, has changed how DynamoDB pricing works in terms of storage, read-write requests and global tables.
    The cost for storage with DynamoDB Standard IA class is much much cheaper when compared with DynamoDB Standard class with almost a difference of $0.15 per GB-month.
    の DynamoDB 料金ページに詳細情報があります.テーブルクラスの例から - オンデマンドの DynamoDB Standard IA クラスは Standard より 44.2% 安く、Provisioned は Standard より 37.6% 安くなります.

    DynamoDB テーブル クラスがコストに与える影響