
Terraform을 사용하여 AWS에서 여러 환경을 구축해야 합니다. 대부분의 설정은 모든 환경에 적용됩니다. 코드 중복을 방지하려면 어떻게 해야 합니까?
resource "aws_elastic_beanstalk_application" "app" {
name = "${var.appName}"
description = ""
}
resource "aws_elastic_beanstalk_environment" "app_env" {
name = "${var.envName}"
application = "${aws_elastic_beanstalk_application.app.name}"
solution_stack_name = "64bit Amazon Linux 2017.09 v2.8.4 running Multi-container Docker 17.09.1-ce (Generic)"
#the same for all envs
setting {
namespace = "aws:ec2:vpc"
name = "VPCId"
value = "vpc-myVpcId"
},
#changes for each env
setting {
namespace = "aws:elasticbeanstalk:application:environment",
name = "SERVICE_NAME",
value = "${var.ServiceName}"
},
resource "aws_elastic_beanstalk_application" "app" {
name = "${var.appName}"
description = ""
}
resource "aws_elastic_beanstalk_environment" "app_env_2" {
name = "${var.envName}"
application = "${aws_elastic_beanstalk_application.app.name}"
solution_stack_name = "64bit Amazon Linux 2017.09 v2.8.4 running Multi-container Docker 17.09.1-ce (Generic)"
#the same for all envs
setting {
namespace = "aws:ec2:vpc"
name = "VPCId"
value = "vpc-myVpcId"
},
#changes for each env
setting {
namespace = "aws:elasticbeanstalk:application:environment",
name = "SERVICE_NAME",
value = "${var.ServiceName_2}"
},
}