Kinesis Data Streams オンデマンドをCloudFormationで作ってみた #reinvent
Amazon Kinesis Data Streamsにオンデマンドが登場しました。これによって、シャード数の管理が不要になります。
本記事では、CloudFormationでKinesis Data Streams オンデマンドを作ってみました。
おすすめの方
- Kinesis Data Streams オンデマンドをCloudFormationで作りたい方
CloudFormationでKinesis Data Streams オンデマンドを作る
CloudFormationテンプレート
ON_DEMAND
を指定します。StreamModeDetails
も必要なので注意です。
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をオンデマンドに変更してみる
シャード数が1のKinesis Data Streamsを作る
AWSTemplateFormatVersion: "2010-09-09" Description: Kinesis-To-Ondemand-Sample Resources: SampleStream: Type: AWS::Kinesis::Stream Properties: ShardCount: 1
オンデマンドに変更する
AWSTemplateFormatVersion: "2010-09-09" Description: Kinesis-To-Ondemand-Sample Resources: SampleStream: Type: AWS::Kinesis::Stream Properties: StreamModeDetails: StreamMode: ON_DEMAND
変更できました!
なお、切り替えは1日2回までなので、ご注意ください。
オンデマンドモードとプロビジョニングモードは 1 日に 2 回切り替えることができます。
https://aws.amazon.com/jp/blogs/news/amazon-kinesis-data-streams-on-demand-stream-data-at-scale-without-managing-capacity/
さいごに
下記も参考にどうぞ。
参考
- オンデマンドモードをサポートしたKinesis Data Streamsを試してみた #reinvent | DevelopersIO
- Amazon Kinesis Data Streams On-Demand – キャパシティーを管理せずに大規模にデータをストリーミング | Amazon Web Services ブログ
- AWS::Kinesis::Stream - AWS CloudFormation
- create-stream — AWS CLI 2.4.4 Command Reference
- 秒間15,000件のデータを Kinesis Data Streams のオンデマンドモードで処理してみました #reinvent | DevelopersIO