AWS/EC2(Elastic Compute Cloud)
4. Userdata 뭐야?
반가운사람2
2024. 1. 12. 23:30
반응형
Userdata는 무엇을 의미할까?
사용자 데이터? 한번 알아보자.
EC2 인스턴스를 시작할 때 인스턴스에 전달되는 초기화 스크립트나 사용자 정의 데이터를 말한다.
UserData는 EC2 인스턴스가 처음 실행될 때 실행되며, 인스턴스를 초기화하거나 사용자 지정 작업을 수행하는 데 사용된다.
UserData는 주로 부팅 스크립트, 구성 파일, 시작 스크립트 등을 포함하는 텍스트 데이터이다.
이 스크립트를 통해 사용자는 인스턴스를 시작하는 시점에 원하는 작업을 자동으로 수행할 수 있다.
UserData 특징도 있어?
- 부트스트래핑: UserData를 사용하면 EC2 인스턴스가 부팅될 때 초기 설정 및 구성을 자동으로 수행할 수 있다.
이를 통해 사용자는 인스턴스를 수동으로 구성할 필요가 없어진다. - 클라우드 초기화 스크립트: UserData는 클라우드 환경에서 인스턴스를 초기화하는 데 사용된다. 예를 들어, 인스턴스가 시작될 때 웹 서버를 설치하거나 애플리케이션을 구성할 수 있다.
- Base64 인코딩: UserData는 Base64로 인코딩된다. 이는 스크립트나 데이터가 안전하게 전송되도록 하는데 도움이 된다.
- 최대 크기 제한: UserData는 특정 크기 제한이 있다. 인스턴스 유형에 따라 최대 크기가 다르며, 예를 들어 t2.micro의 경우 16KB까지 허용된다.
- 시작 시 한 번 실행: UserData에 지정된 스크립트는 EC2 인스턴스를 처음 시작할 때 한 번만 실행된다.
작성 방법은?
EC2 인스턴스 생성과정 또는 시작템플릿 생성하는 과정에서 해당 칸에 작성할 수 있다.
기본적으로 실행되는 User는 Root이다.
예시를 하나보이겠다.
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd.service
aws s3 cp s3://static-page/index.html /var/www/html
systemctl restart httpd.service
systemctl enable httpd.service
해당 명령을 실행하는 경우 인스턴스가 실행되는 과정에서 아파치 웹서비스가 설치되고 실행되도록 구성이 가능하다.
즉, 사용자가 직접 서버에 접속하여 설치 및 설정을 할 필요없이 Userdata 작성을 통해 자동으로 구성되도록 가능하다.
필요 능력은 BashShell 이다.
이후에 학습자는 Cloud-init, cloud-config도 같이 공부해보면 좋을 거 같다.
반응형