설명
운영용 EC2 인스턴스는 어느 VPC와 서브넷에 속하는지가 명확해야 보안 그룹, 라우팅과 공개 접근을 통제할 수 있습니다. 서브넷을 생략하면 기본 서브넷이 선택되거나 조건에 따라 생성이 실패할 수 있습니다. 현재 EC2 인스턴스는 VPC 안에서 실행되므로 생략을 VPC 미사용으로 해석해서는 안 됩니다.
잠재적 영향
- 인스턴스가 의도하지 않은 네트워크 위치에 배치되거나 생성에 실패할 수 있습니다.
- 보안 그룹, 라우팅과 공개 IP 설정이 조직의 접근 정책에 맞지 않을 수 있습니다.
해결 방법
- EC2 생성 작업의
vpc_subnet_id로 의도한 서브넷을 선택하고 실제 VPC 소속을 확인하세요. - 서브넷, 보안 그룹, 라우팅과 공개 IP 할당을 함께 관리하세요. 테스트용 네트워크와 운영용 네트워크의 격리 요구도 확인하세요.
예시
과거 amazon.aws.ec2 모듈을 지원하는 컬렉션을 전제로 합니다. 실제 AMI, 키, 대상 VPC의 webserver 보안 그룹과 서브넷이 필요합니다. 두 예시 모두 공개 IP 할당을 요청하므로 비공개 배포를 뜻하지 않습니다.
변경 전
yaml
- name: EC2 인스턴스 생성
amazon.aws.ec2:
key_name: mykey
instance_type: t2.micro
image: "{{ ec2_image_id }}"
wait: yes
group: webserver
count: 3
assign_public_ip: yes
서브넷을 명시하지 않아 기본 선택과 환경에 의존합니다. 생성된 인스턴스의 실제 배치를 확인하세요.
변경 후
yaml
- name: EC2 인스턴스 생성
amazon.aws.ec2:
key_name: mykey
instance_type: t2.micro
image: "{{ ec2_image_id }}"
wait: yes
group: webserver
count: 3
vpc_subnet_id: subnet-29e63245
assign_public_ip: yes
실제 사용할 서브넷 ID를 지정합니다. 그 서브넷의 라우팅과 보안 그룹 접근 범위도 확인해야 합니다.