我正在按照AWS指南将HA Wordpress站点部署到Elastic Beanstalk,其中包括使用eb-php-wordpress
扩展。在部署应用程序之前,该过程需要编辑具有已知资源ID的几个配置文件。
特别是,指令说要使用VPC ID和子网ID编辑efs-create.config
文件。除其他外,该文件有助于设置OptionSettings
资源的AWS::ElasticBeanstalk::Environment
属性。出于这个原因,我怀疑我应该能够用Ref:
引用它。这是正确的,但是因为VPC将由另一个文件创建而EB环境的Cloudformation堆栈是在VPC堆栈旁边而不是“内部”创建的吗?我是否必须使用Fn::
电话来获取信息?
我正在使用的配置文件部分如下所示:
option_settings:
aws:elasticbeanstalk:customoption:
EFSVolumeName: "EB-EFS-Volume"
VPCId: "vpc-XXXXXXXX"
## Subnet Options
SubnetA: "subnet-XXXXXXXX"
SubnetB: "subnet-XXXXXXXX"
SubnetC: "subnet-XXXXXXXX"
SubnetD: "subnet-XXXXXXXX"
VPCId系列会是什么样的
VPCId: {Ref: VPC}
VPC
是我创建的VPC资源的名称?或者,更简单地说,如果我坚持使用,我将如何引用默认VPC的VPC ID?
根据Ref
,您应该能够使用named resources获取弹性豆茎docs的各种ID。但是,VPC不是这些命名资源之一(即具有逻辑ID的资源),而是其中一个命名资源的属性,在这种情况下,逻辑ID为AWSEBSecurityGroup
,属性为VpcId
,因此您应该能够使用GetAtt
代替它:
{ "Fn::GetAtt" : [ "AWSEBSecurityGroup", "VpcId" ] }
来自functions docs和CloudFormation docs
类似的方法也适用于子网。