Kinesis Data Streams オンデマンドをCloudFormationで作ってみた #reinvent

CloudFormationでKinesis Data Streams オンデマンドを作ってみました
2021.12.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon Kinesis Data Streamsにオンデマンドが登場しました。これによって、シャード数の管理が不要になります。

本記事では、CloudFormationでKinesis Data Streams オンデマンドを作ってみました。

おすすめの方

  • Kinesis Data Streams オンデマンドをCloudFormationで作りたい方

CloudFormationでKinesis Data Streams オンデマンドを作る

CloudFormationテンプレート

ON_DEMANDを指定します。StreamModeDetailsも必要なので注意です。

kinesis.yaml

AWSTemplateFormatVersion: "2010-09-09"
Description: Kinesis Data Streams On-demand Sample 

Resources:
  SampleStream:
    Type: AWS::Kinesis::Stream
    Properties:
      StreamModeDetails:
        StreamMode: ON_DEMAND

デプロイ

aws cloudformation deploy \
    --template-file kinesis.yaml \
    --stack-name Kinesis-Ondemand-Sample-Stack \
    --capabilities CAPABILITY_NAMED_IAM

Kinesis Data Streamsを確認する

バッチリ作成できました。

Kinesis Data Streamsオンデマンドが作れた

おまけ: 既存のKinesis Data Streamsをオンデマンドに変更してみる

シャード数が1のKinesis Data Streamsを作る

kinesis.yaml

AWSTemplateFormatVersion: "2010-09-09"
Description: Kinesis-To-Ondemand-Sample

Resources:
  SampleStream:
    Type: AWS::Kinesis::Stream
    Properties:
      ShardCount: 1

Kinesis Data Streamsがプロビジョニングモードで作れた

オンデマンドに変更する

kinesis.yaml

AWSTemplateFormatVersion: "2010-09-09"
Description: Kinesis-To-Ondemand-Sample

Resources:
  SampleStream:
    Type: AWS::Kinesis::Stream
    Properties:
      StreamModeDetails:
        StreamMode: ON_DEMAND

変更できました!

Kinesis Data Streamsがオンデマンドに変更できた

なお、切り替えは1日2回までなので、ご注意ください。

オンデマンドモードとプロビジョニングモードは 1 日に 2 回切り替えることができます。

https://aws.amazon.com/jp/blogs/news/amazon-kinesis-data-streams-on-demand-stream-data-at-scale-without-managing-capacity/

さいごに

下記も参考にどうぞ。

参考