이번 글에서는 EC2의 전반적인 내용에 대해 알아본다.
EC2는 Subnet 안에 생성이 되고, EC2에 연결된 블록 스토리지인 EBS는 EC2가 생성된 같은 AZ에 생성이 된다.
그리고 EBS의 스냅샷은 S3에 생성이 된다.
EC2 과금 옵션 및 비용 최적화
EC2의 옵션은 크게 3가지로 나뉜다.
- On-Demand
- Reserved
- Spot
On-Demand는 평소에 쓰던 방식이다. 쓴 만큼만 지불한다. 특별히 어려울 것은 없다.
Reserved는 통신사 약정으로 보면 된다. 3년 정도 쓰는 것으로 하고 할인을 받을 수 있다.
Spot은 남은 자원에 대한 경매 방식이다. 2달러에 경매에 낙찰받아 EC2 자원을 쓸 수 있다. 하지만 만약 다른 사람이 5달러에 낙찰받았다면?? 강제적으로 꺼지고 다른 사람한테 넘어간다..
EC2 키페어 / 사용자 데이터 / 메타 데이터
그렇다면 생성한 EC2에 접근하려면 어떻게 해야할까?
우선 로컬 PC에서 접속하려면 Public Subnet에 생성된 EIP를 가진 EC2 여야 접근이 가능하다. 즉, 인스턴스가 외부망과 연결이 되어 있어야 한다.
그리고 비밀키를 이용하여 EC2에 접근한다. 이것은 어떤 원리일까?
우리가 로컬에서 SSH 키를 만들고 SSH 키교환을 할 경우 서버의 ~/.ssh/authorized_keys에 로컬에서 만든 공개키가 삽입된다.
그리고 접속할 경우 로컬에 있는 비밀키와 서버에 있는 공개키를 통해 비밀번호 없이도 접속이 가능하다.
EC2는 최초 부팅 시에 메타 데이터를 이용하여 ec2-user의 ~/.ssh/authorized_keys에 공개키를 삽입한다.
비밀키를 로컬에 잘 보관해두고, 이를 이용하여 접속을 안전하게 할 수 있다.
그렇다면 메타데이터란 무엇일까?
메타데이터는 EC2 인스턴스에 대한 주요 정보를 말한다. (호스트 이름, 가용 영역 등)
아래와 같이 EC2 인스턴스 내에서 url에 curl을 호출하면 각 메타 데이터를 얻을 수 있다.
curl http://169.254.169.254/latest/meta-data/hostname
ip-10-0-7-61.ap-northeast-2.compute.internal
curl http://169.254.169.254/latest/meta-data/instance-id
i-0d70ebd15b0ce560
이 밖에도 여러가지 메타 데이터가 있으니 구글링하면 금방 얻을 수 있다.
그럼 사용자 데이터는 무엇일까?
EC2 초기 생성 시 필요한 초기작업을 쉘 스크립트 형식으로 최대 16KB 전달할 수 있는데, 이를 사용자 데이터라 한다.
수동 작업을 자동화할 수 있는 장점이 있다.
#!/bin/bash
yum install -y httpd
echo 'Hello world' > /var/www/html/index.html
systemctl start httpd
'IT 공부 > AWS' 카테고리의 다른 글
[AWS 고가용성] ELB / ASG (0) | 2023.04.16 |
---|---|
[AWS 관리] Cloud Watch / Cloud Trail (0) | 2023.04.16 |
[AWS 스토리지] EBS/EFS/S3 (0) | 2023.04.16 |
[AWS 네트워크] Elastic IP, NAT Gateway, NACL, Security Group (0) | 2023.04.04 |
[AWS 네트워크] VPC, Subnet, Internet Gateway, Routing Table (0) | 2023.04.04 |
댓글