ElasticBeanstalkのデザイン変更の際に生じた問題


概要

terraformでElasticBeanstalkの環境作成時にエラーが発生し、オーケストレーションが失敗したので、調べた。

経緯

  • Configurationはこんな感じで書いてた
elastic_beanstalk_environment.tf
/*************************/
/* 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"
  }

  • ElasticBeanstalkのConfigurationの表示名が変更になってたので、terraformでもそれを指定

elastic_beanstalk_environment.tf
/*************************/
/* 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"
  }

  • 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すると成功しました。

所感

マネコンはデザインがよく変わるので、ドキュメントを参照しましょう(;・∀・)