お世話になります。現在、terraformにてbeanstalk(Docker)環境を構築しており、環境の構築とサンプルアプリをデプロイするということをしたいです。
実は何回もProjectにおいて本環境を使いまわしており、今回も同じ用途で作成を試みたのですが、失敗してしまいました。
実行をしたファイルは以下のようになっております。
terraform
1resource "aws_s3_bucket" "default" { 2 bucket = "${var.bucket_name}" 3} 4 5resource "aws_s3_bucket_object" "default" { 6 bucket = "${aws_s3_bucket.default.id}" 7 key = "docker-singlecontainer-v1.zip" 8 source = "docker-singlecontainer-v1.zip" 9} 10 11resource "aws_elastic_beanstalk_application" "tftest" { 12 name = "prod" 13 description = "tf-test-desc" 14} 15 16resource "aws_elastic_beanstalk_application_version" "default" { 17 name = "sample" 18 application = "prod" 19 description = "application version created by terraform" 20 bucket = "${aws_s3_bucket.default.id}" 21 key = "${aws_s3_bucket_object.default.id}" 22} 23 24resource "aws_elastic_beanstalk_environment" "tfenvtest" { 25 name = "${var.app_name}-prod-web-01" 26 application = "${aws_elastic_beanstalk_application.tftest.name}" 27 solution_stack_name = "64bit Amazon Linux 2018.03 v2.10.0 running Docker 17.12.1-ce" 28 # version_label = "sample" 29 30 setting { 31 namespace = "aws:ec2:vpc" 32 name = "VPCId" 33 value = "${aws_vpc.vpc.id}" 34 } 35 setting { 36 namespace = "aws:ec2:vpc" 37 name = "Subnets" 38 value = "${aws_subnet.subnet-public.*.id[0]},${aws_subnet.subnet-public.*.id[1]}" 39 } 40 setting { 41 namespace = "aws:autoscaling:launchconfiguration" 42 name = "InstanceType" 43 value = "t2.small" 44 } 45 setting { 46 namespace = "aws:elasticbeanstalk:environment" 47 name = "ServiceRole" 48 value = "aws-elasticbeanstalk-service-role" 49 } 50 setting { 51 namespace = "aws:ec2:vpc" 52 name = "ELBScheme" 53 value = "public" 54 } 55 setting { 56 namespace = "aws:ec2:vpc" 57 name = "ELBSubnets" 58 value = "${aws_subnet.subnet-public.*.id[0]},${aws_subnet.subnet-public.*.id[1]}" 59 } 60 setting { 61 namespace = "aws:elb:loadbalancer" 62 name = "CrossZone" 63 value = "true" 64 } 65 setting { 66 namespace = "aws:autoscaling:asg" 67 name = "Availability Zones" 68 value = "Any 2" 69 } 70 setting { 71 namespace = "aws:autoscaling:asg" 72 name = "MinSize" 73 value = "1" 74 } 75 setting { 76 namespace = "aws:autoscaling:updatepolicy:rollingupdate" 77 name = "RollingUpdateType" 78 value = "Health" 79 } 80 setting { 81 namespace = "aws:autoscaling:launchconfiguration" 82 name = "EC2KeyName" 83 value = "keyname" 84 } 85 tags { 86 Name = "${var.app_name}" 87 } 88} 89
どうやらaws_elastic_beanstalk_environmentを構築しているタイミングでエラーが出てしまうらしく、
エラー内容は以下のようになっております。
Error
1Error: Error applying plan: 2 31 error(s) occurred: 4 5* module.consul.aws_elastic_beanstalk_environment.tfenvtest: 1 error(s) occurred: 6 7* aws_elastic_beanstalk_environment.tfenvtest: InvalidParameterValue: No Solution Stack named '64bit Amazon Linux 2017.03 v2.6.0 running Docker 1.12.6' found. 8 status code: 400, request id: 60f471d8-1d01-47fd-a5f0-067e34ff76e6
色々ググってみると、どうやらregionがうまく設定されていないような気がしています。
AWSのアカウントは違うが、全く同じ構成で別のものは動いているため、
https://forums.aws.amazon.com/thread.jspa?threadID=190035
本ファイル内でリージョンを変えようとして以下を追加したのですが、S3などとバッティングしてそちらでエラーがでてしまいました。
tf
1provider "aws" { 2 region = "ap-northeast-1" 3}
調べる時間があまりなく先人の方の知恵をお借りできたらと思い質問させていただきました。
何卒よろしくお願い致します。
あなたの回答
tips
プレビュー