1. EC2 가 뭘까?
aws 의 EC2 는 Elastic Computing Cloud 의 약자다. 쉽게 말해 aws 의 서버를 빌려오는 것인데, EC2 (가상머신) 을 비롯해 EBS (가상 드라이브에 데이터 업로드) ELB (분산처리), ASG (오토 스케일링 그룹) 으로 기능이 하나의 서비스로 구성되어있다. 이는 클라우드 전체가 작동하는 방식을 이해하기 좋은 공부다! 클라우드를 쓴다는 것 자체가 필요할 때 마다 서버를 빌려오는 개념이기 때문.
EC2 의 경우 환경설정에서 먼저
- 어떤 환경에서 개발할건지
- CPU (computing power) 는 어느정도인지
- 필요한 Ram 은 어느 정도인지
- 필요한 스토리지는 (EBS&EFS, EC2) 어느정도인지
- 네트워크는 어떻게 하고 싶은지 (속도 등)
- 방화벽
- Bootstrap script
를 정해줘야 한다.
하지만 여기서 핵심은 원하는대로 aws 에서 가상머신을 빌려올 수 있다는것!
*bootstrap = 가상머신이 작동할 때 명령어를 실행하는 것을 의미한다
EC2 data script 의 경우 사용자 계정에서 진행되기 때문에 sudo code 를 이용해야 한다
그럼 이제 EC2 머신들의 종류를 예시로 살펴보자. 각기 스펙에 따라 할 수 있는 작업 범위가 다르겠지. 우리 실습에서는 기본으로 무료 제공되는 t2.micro 를 이용할 것이다.
2. EC2 인스턴스 작동시켜보기
Launch instance 를 눌러주자
2.1 name and tags 를 설정해주자
2.2. EC2 인스턴스에 사용할 기본 이미지를 설정
이미지를 설정할건데 지금은 실습이니 Quick Start 에서 선택해주자. 각자의 컴퓨터 환경에 맞는걸 사용해주면 된다. 일단 기본값으로 실습을 해보겠음
2.3. Instance type
다음으로 인스턴스 타입을 골라야 한다. 이게 아까 살펴본 우리가 쓸 서버의 스펙인데 일단 지금은 무료인 t2.micro 인스턴스를 사용할거다. 눌러보면 상세 스펙을 볼 수 있다
2.4. Key pair
다음으로 key pair 를 만들어줘야 한다. 안하고 넘어가도 되지만 지금은 해보겠음
Key pair 는 인스턴스에 접근하기 위해 ssh 유틸리티를 사용할 때 필요하다 . create new key pair 를 눌러서 만들어주자. 이때 각각의 옵션은 다음과 같은걸 의미한다
키 포멧
.pem : 그 외 환경에서 SSH 사용
.ppk : 윈도우 7 이나 8 에서 SSH 사용
2.5. Network Setting
실습에서는 공용 ip 를 받을거고, SSH 트래픽의 경우 HTTP도 함께 허용시켜주자. 지금 저 설정에서는 어떤 ssh 든 허용 + http 접급을 허용한 상태다
2.6. Storage
여기서 저장용량을 업그레이드 할 수 있는데, 여기서도 역시 일단 기본 세팅을 사용하자.
2.7 Advanced details
우선 모든걸 기본으로 두고 맨 마지막 user data 에서만 기본 명령어를 입력해주자.
여기서는 EC2 를 처음 생성할때만 명령 script 를 입력할 수 있다. 아래와 같은 코드를 추가해 주자
이 코드는 인스턴스가 처음 시작되면 실행될건데, 몇가지 필요한걸 업데이트하고 install 하는 코드다. 그리고 처음 서버로 올린 웹사이트에 hello world 를 출력하게 될 것임
#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
2.8. Summary
앞선 설정들을 다시 볼 수 있다.
설정이 끝났으면 launch instance 를 눌러주자
2.9 상단 refresh 버튼을 눌러주면 만들어진 인스턴스를 볼 수 있다.
이제 이 인스턴스 정보들에 우리가 쓰는 서버에 대한 모든 정보들이 있다. 아까 설정한 key pair 부터, 접근할 수 있는 ip 포트 등등. 이제 이 인스턴스가 잘 작동하는지 보기 위해 ip 주소를 입력해보자. (public ipv4) 그냥 하면 안될거고 앞에 http:// 를 넣어주어야 작동된다 (아까 설정에서 http 접근을 허용했기 때문이다)
접속 성공
2.10. Instance State
인스턴스 정보에서 state 는 이런 뜻이다.
stop instance = 잠시 pause 하는 개념. 서버 리프레시가 안될 것이고 비용 청구가 안될거임! 그런데 public ip 주소는 바뀌게 됨
terminate instance = 아예 인스턴스를 종료시키고 없애버리는 개념
여기까지 처음으로 EC2 를 만드는 실습을 해보았다. 일단 ec2 를 만들어봤으니 이제 내부에 대해 자세히 알아보도록 하자.
'데이터 엔지니어링 > AWS' 카테고리의 다른 글
[aws] #3. AWS 의 db 종류들과 특징 (1) | 2023.12.17 |
---|---|
[aws] #2. EC2 의 보안 (1) | 2023.10.03 |
[aws] #2. EC2 의 인스턴스 유형들 (0) | 2023.10.03 |
[aws] #1. AWS 기본기능 - IAM (0) | 2023.09.13 |