AWS EC2
EC2 User Data
EC2 User data script 를 사용하여
인스턴스를 bootstrap 할 수 있다.
bootstrap란, 머신이 작동될 때 명령을 시작하는 것을 말한다.
script 는 처음 시작할 때 한 번만 실행된다.
인스턴스를 부팅할 때,
업데이트하고, 소프트웨어를 설치하는 등 자동화하고 싶은 작업을 넣을 수 있다.
User Data script 에 작업을 더 추가할 수록 부팅 시 인스턴스가 할 일이 늘어나 시간이 더 걸린다.
그리고 EC2 User Data scipt는 루트계정에서 실행되기 때문에
모든 명령문은 sudo로 해야한다.
EC2 인스턴스를 생성할 때 User data를 입력하는 란이 있는데
여기에 입력하면 EC2 인스턴스가 처음 생성될 때 한 번만 실행된다.
.sh 쉘스크립트 형식으로 입력하면 된다.
Key pair
EC2 에 ssh를 사용해서 접속할 때 필요함
Security Groups
EC2 인스턴스 주변의 방화벽이라고 보면된다.
EC2 인스턴스에 들어오고 나가는 트래픽을 제어한다.
허용 rules만 포함하고
rule은 IP주소 or 다른 security group을 참조할 수 있다.
security group를 참조하면
참조된 security group에 연결된 다른 EC2 인스턴스는 자동으로 허용한다.
로드밸런서를 이용할 때 자주 사용된다.
허용된 ip가 아니라면 타임아웃이 발생한다.
인스턴스와 security groups는 다 대 다 관계이고
Region과 VPC 결합으로 통제되어 있다.
즉, 지역을 전환하면 새 security group을 생성하거나
다른 VPC를 생성해야한다.
security group는 EC2 외부의 방화벽 이기 때문에
차단된 트래픽은 EC2 인스턴스에서 확인할 수 없다.
* SSH 액세스를 위해 별도로 security group 를 만드는걸 추천한다.
SSH 액세스는 가장 중요하므로 별로 security group이 잘 되어있는지 확인해야한다.
* 타임아웃으로 애플리케이션에 접근할 수 없으면 높은 확률로 security group의 문제이다.
마지막으로 EC2인스턴스를 종료하고 다시 실행하면
private IP는 그대로 유지되지만
public IP는 변경된다.