如何在 CloudFormation 中引用默认 VPC?

Den*_*boy 14 amazon-web-services aws-cloudformation

我有一个需要部署在某个 VPC 中的资源的堆栈。我想使用默认 VPC,但我不想对其进行参数化。有没有办法自动获取默认的 VPC 值?(例如Fn::GetAZs: region对于区域中的 AZ)。

Mar*_*cin 5

可以使用以下 AWS CLI 命令获取默认 VPC 的 ID:

$ aws ec2 describe-vpcs \
    --filters Name=isDefault,Values=true \
    --query 'Vpcs[*].VpcId' \
    --output text

vpc-a1b2c3d4
Run Code Online (Sandbox Code Playgroud)

上面的命令将输出如下内容: vpc-a1b2c3d4

您可以将此输出分配给一个变量,然后将其传递给您的 CF 模板,如下所示:

$ default_vpc_id=$(aws ec2 describe-vpcs \
    --filters Name=isDefault,Values=true \
    --query 'Vpcs[*].VpcId' \
    --output text)

$ echo ${default_vpc_id}

vpc-a1b2c3d4

Run Code Online (Sandbox Code Playgroud)

  • 这不是问题的答案,因为它明确表示它不想参数化它 (2认同)