LoginSignup
1
1

More than 5 years have passed since last update.

CloudFormationで大量のKinesis作ったら失敗した

Posted at

はじめに

今回は、CloudFormationKinesis Stream作ろうとしたら失敗したので
対策したお話です。
作ろうとしたのは1個ではなく、7個です。

ここが重要。7個....
error-kinesis.png

どうやら、非同期的に作成できるKinesis Stream5個までのようです。

aws公式の資料はここです

CreateStream、DeleteStream、ListStreams は、1 秒間に最大 5 件のトランザクションを提供できます。

らしいです。

対策案1

  1. CloudFormationのスタックを分割する。
  2. kinesis1.template, kinesis2.templateのような感じに。

対策案2

  1. CloudFormationのスタックを分割する。`
  2. kinesis1.template, kinesis2.templateのような感じに。
  3. 上記の1, 2チェーン実行する。
チェーン実行.template
{
  "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "exec-chain",

  "Resources" : {
    "Bucket" : {
      "Type" : "AWS::S3::Bucket"
    },
    "BucketPolicy" : {
      "Type" : "AWS::CloudFormation::Stack",
      "Properties" : {
        "TemplateURL" : "https://s3-us-east-1.amazonaws.com/hoge/kinesis1.template",
        "Parameters" : {
          "BucketName" : { "Ref" : "Bucket" }
        }
      }
    }
  },
  "Outputs" : {
    "kinesis1" : {
      "Value" : { "Fn::GetAtt" : ["BucketPolicy", "Outputs.kinesis1"]}
    }
  }
}

チェーン実行はこんな感じにしたらできます。
あとは、Create Stackする間隔をあけれてあげれば良いです。
公式はこちら良い感じに待機してくれそうです。

おわりに

現状、対策1しかできていないですが、
今後、対策2も完成させて公開できればと思っております。
みなさま、運用していく中で、もっと良い方法あるよ!等ありましたら、ご教授ください。

1
1
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
1