2017-11-06 15 views
2

런타임시 CF를 사용하여 기본 VPC ID를 찾는 방법이 있는지 궁금합니다. 템플릿에서 사용할 수있는 의사 매개 변수가 없으면 알 수있는 범위까지 찾을 수 없습니다. 결과 그러나런타임시 CloudFormation을 사용하여 기본 vpc id를 찾는 방법

aws ec2 describe-vpcs --filter "Name=isDefault, Values=true" 

을 달성 할 수있는 CLI 명령을 사용하여,이게 내가 정의 CloudFormation 자원을 생성하고 바로 실행시 기본 VPC ID를 찾기 위해 람다 함수를 사용해야합니다 것을 의미 할 것입니다. 사용자가 EC2 인스턴스를 기본 VPC로 시작할 수 없도록하는 각 AWS 계정에서 역할을 만들고 싶습니다.

+0

지금까지 내가 아는 한 사용자 지정 리소스가 유일한 방법입니다. – kichik

답변

0

난 당신이 AWS 람다가 자동으로 기본 VPC에서 만든 인스턴스를 종료 할 AWS 구성의 조합을 사용하는 것이 좋습니다 것입니다.

Re : Invent의 데모에서 보았습니다. 출처 : https://www.youtube.com/watch?v=sGUQFEZWkho

+0

나는 이것을 고려해 봤지만 이는 반작용적인 행동 일 것입니다. 표준 사용자 유형 사용자 정의 역할을 만들고 사용자가 기본 VPC 및 공용 서브넷에서 EC2 작업을 수행 할 수 없도록해야합니다. 리소스 태그를 활용하여 정책의 조건으로 사용하려고 생각 중입니다. 아래의 정책 조건과 비슷한 것을 생각했지만 EC2 태그 대신 가능하면 조건문에 서브넷 태그를 사용하십시오. ""StringEquals ": { "ec2 : ResourceTag/UserName ":"$ {aws : username} " } – gbaz

+0

상자 밖에서 생각해보십시오. 계정에서 기본 VPC를 삭제하지 않는 이유는 무엇입니까? –

+0

일부 계정에서는 절름발이 인 작업로드에 이미이 프로세스를 사용하지만 거기에서 실행되는 응용 프로그램을 새 사용자 정의 서브넷으로 이동하는 데 시간이 걸립니다. 또한 특정 사용자 그룹이 다른 VPC의 공용 서브넷에서 EC2 인스턴스를 만들 수 없도록 제한해야합니다. 현재 서브넷은 다음과 같이 서브넷이 공용인지 또는 비공개인지를 나타내는 이름 태그를 갖습니다. subnet-CIDR-REGION-Type (예 : 10.0.4.0-ap-southeast-2-Public) – gbaz