こんにちは。関東の梅雨入りする日が誕生日という雨要素の多いCTO室のkazです。 terraformでElasticBeanstalkの環境作成時にエラーが発生し、オーケストレーションが失敗したので、ちょっと調べてみたら、しょうもないことが原因だったので、泣きながら記事を書いてます。
経緯
UIが新しくなったコンソールを見ていると、ElasticBeanstalkのConfigurationの表示名が変更になってたので、terraformでもそれを指定しました。
こんな感じに。
/**********************/ /* worker environment */ /**********************/ resource "aws_elastic_beanstalk_environment" "xxxxxxxxx" { name = "xxxxxxxxx" application = "xxxxxxxxx" solution_stack_name = "Puma with Ruby 2.3 running on 64bit Amazon Linux/2.7.2" tier = "Worker" tags { Service = "xxxxxxxxx" Environment = "xxxxxxxxx" Description = "Managed by Terraform" }
- 以前の
Configuration
はこんな感じ。
/**********************/ /* worker environment */ /**********************/ resource "aws_elastic_beanstalk_environment" "xxxxxxxxx" { name = "xxxxxxxxx" application = "xxxxxxxxx" solution_stack_name = "64bit Amazon Linux 2016.09 v2.3.2 running Ruby 2.3 (Puma)" tier = "Worker" tags { Service = "xxxxxxxxx" Environment = "xxxxxxxxx" Description = "Managed by Terraform" }
結果
- planは通ったけど、applyしたら失敗しましたよ...
* aws_elastic_beanstalk_environment.xxxxxxxxx: InvalidParameterValue: No Solution Stack named 'Puma with Ruby 2.3 running on 64bit Amazon Linux/2.7.2' found.
原因
- ドキュメント見たら、Solution Stack Nameの箇所は変更されてないので、以前の書き方でapplyすると成功しました。
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html#concepts.platforms.rubydocs.aws.amazon.com
- コードに書く値はちゃんとドキュメントを参照しましょう...!