EC2 User Data
。EC2 인스턴스의 최초 실행 또는 재부팅 시 지정한 셸스크립트( = EC2 User Data Script )를 실행하도록 하는 부트스트랩 역할의 서비스
▶ EC2 인스턴스가 새로 생성되어 부팅 시점에서 필요한 설정을 정의한 초기화 용도의 User Data Script를 실행
。주로 초기 세팅 목적으로 EC2 인스턴스의 보안설정 / 외부 패키지 다운로드 및 설치 / 어플리케이션 실행 등 EC2 인스턴스 실행 시 필요한 동작을 정의한 코드를 스크립트에 정의
▶ Spring에서 H2 DB의 data.sql 같은 느낌.
。EC2 User Data Script의 경우 Root 계정에서 실행되므로 모든 스크립트 명령어는 sudo로 실행
。Amazon EC2 Instance Metadata를 통해 설정
User Data 활용
。EC2 인스턴스 생성 시 고급 세부 정보 내 존재하며 인스턴스의 생애주기 중 오직 부팅시에 한번만 사용됨

▶ EC2 인스턴스 생성 시 AMI를 Amazon Linux로 설정 후, 다음 리눅스 코드를 User data를 입력 시 인스턴스 생성과 동시에 해당 코드를 실행
EC2 Instance Metadata
。프로비저닝 중인 EC2 인스턴스의 속성 및 정보 데이터를 제공
▶ AMI ID, IP 주소, EBS 매핑정보, 보안그룹 연동, IAM 연동 등
。EC2 Userdata를 통해 각 EC2 인스턴스 별 설정을 수행 시 활용
。프로비저닝 중인 EC2 인스턴스의 메타데이터는 IMDS ( Instance Metadata Service )로 조회가능
Instance MetaData Service
。요청 시 Amazon EC2 Instance Metadata 정보를 응답하는 서비스
。Instance MetaData Service V1 :
별도 보안인증이 없는 요청 / 응답 방식
。Instance MetaData Service V2 ( Default ) :
토큰 기반 인증을 수행하는 세션 방식
▶ 우선 토큰을 발급 받은 후 EC2 인스턴스의 메타데이터를 조회