Template error: Fn::Select cannot select nonexistent value at index 1
3829 단어 CloudFormationAWS
문제
다음 CloudFormation 템플릿으로 서브넷을 도쿄 리전에 구축하려고 했는데 표제 오류가 발생했습니다.
Resources:
PrivateSubnet2:
Type: AWS::EC2::Subnet
Properties:
CidrBlock: 10.0.2.0/24
VpcId: !Ref CFnVPC
AvailabilityZone: !Select [ 1, !GetAZs ]
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: PrivateSubnet2
원인
Fn::GetAZs
는 계정의 기본 서브넷 AZ를 배열로 반환합니다.내 계정에서 기본 서브넷 AZ를 하나만 등록했습니다.
문제의 CloudFormation 템플릿에서
Fn::GetAZs
에서 얻은 AZ 배열의 두 번째를 참조하지만 존재하지 않기 때문에 오류가 발생했습니다.해결 방법
기본 서브넷을 만들고 AZ를 늘립니다.
도쿄 리전에는
ap-northeast-1a
, ap-northeast-1c
, ap-northeast-1d
의 3개의 AZ가 존재합니다. (실제로는 ap-northeast-1b
계정에서 사용할 수 있는 AZ 확인
aws ec2 describe-availability-zones --query 'AvailabilityZones[].ZoneName'
기본 서브넷 AZ 확인(
Fn::GetAZs
반환 값)aws ec2 describe-subnets --filters "Name=default-for-az, Values=true" --query 'Subnets[].AvailabilityZone'
기본 서브넷을 AZ에 생성
aws ec2 create-default-subnet --availability-zone ap-northeast-1c
확인
다시 CloudFormation 템플릿으로 스택을 만들어 봅니다.
오류없이 서브넷을 만들 수있었습니다.
참고
Reference
이 문제에 관하여(Template error: Fn::Select cannot select nonexistent value at index 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ksato2032/items/98b76d4ccaa1a5641fc8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)