AWS EC2 인스턴스를 생성하는 방법에 대해 알아보도록 하자.
(2023년 10월 기준 AWS 에서 생성하는 방법이므로 나중에 UI 가 바뀌어 있을 수도 있습니다. )
STEP 1. EC2 인스턴스 생성하기
1. 지역 확인하기
처음 로그인 했을 때는 분명 지역이 아시아 태평양(서울)이었는데, 콘솔에서 EC2 인스턴스를 클릭하고 들어가면
버지니아 북부로 설정되어 있는 경우가 있습니다.
지역이 서울로 되어 있는 지 먼저 확인해 봅시다.
이를 미처 확인하지 모르고 만들어서 처음부터 다시한 경험이..
2. 인스턴스 생성 버튼 클릭
3. 인스턴스 이름 및 태그 설정
인스턴스 이름을 설정해준다.
그리고 태그 설정은 위 사진에서 추가 태그 추가를 누르면 설정할 수 있다.
- 🤔 태그란?
웹 콘솔에서 표기될 태그이다. 해당 인스턴스를 표현하는 여러 이름으로 사용될 수 있다.
나는 하나의 인스턴스를 사용할 예정이지만,
만약 여러 인스턴스가 있는 경우, 이를 태그별로 구분하면 검색이나 그룹 짓기가 편할 것이다.
기본 값은 위와 같다.
Name 태그 안에 내가 설정한 이름 값이 들어가 있는 것이다.
키 부분에 원하는 태그를 작성하고, 값에 인스턴스 이름을 넣으면 된다. (태그가 같은 것끼리 그룹화하여 쉽게 구분 가능)
4. OS 선택하기
여러 글들을 보면 주로 기본값인 Amazon Linux로 설정하거나 Ubuntu로 설정하는 듯 하다.
그래서 이 둘의 차이점 장단점을 찾아 보았다.
Amazon Linux:
- AWS에 최적화되어 있으며 통합되어 있다.
- AWS 환경에서 최적의 성능을 발휘 -> AWS의 각종 서비스와 상성이 좋다.
- Amazon Machine Image(AMI)로 제공되어 인스턴스를 빠르게 시작 가능하다.
- AWS에서 자동 업데이트 및 패치 관리를 지원함.
- Amazon 독자적인 개발 리포지토리를 사용하여 yum 이 매우 빠르다
Ubuntu:
- Ubuntu는 더 범용적인 운영 체제이며, AWS 외의 환경에서도 사용 가능하다.
- 다양한 릴리스 및 패키지를 지원하며, 원하는 버전을 선택 가능.
- 큰 커뮤니티와 개발자 지원을 받아 다양한 문제 해결 및 도움말을 얻을 수 있다.
Ubuntu 설정 환경에서 자료들이 더 많고,
yum 명령어보다 apt 명령어가 더 익숙하여 Ubuntu를 선택했다는 경우를 종종 보았다.
하지만 나는 Amazon Linux를 선택하기로 결정.
AWS에서 관리해주고 지원받기 쉬운 것으로 선택했다. 딱히 특정 버전의 우분투 환경이 필요한 것이 아니기도 하고..
또 중요한 것, 프리 티어 안에서 지원 가능한 os 인지 꼭 살펴보자
5. 인스턴스 유형 선택
요금제를 선택하는 것이다.
프리 티어에서 사용가능한 t2.micro 를 선택한다.
t2 외에도 t3가 존재하며, 이들을 T 시리즈라고 부른다.
t2.micro 이외 프리 티어 사용이 아니면 아마 요금이 부과될 것이다.. 그래서 기본 설정으로 두는 것을 추천한다.
이 T 시리즈들은 크레딧이라는 일종의 CPU를 사용할 수 있는 포인트 개념이 있다.
인스턴스 크기에 따라 정해진 비율로 CPU 크레딧을 계속 받게 되며,
사용하지 않을 때는 크레딧을 축적하고, 사용할 때 이 것들을 쓴다.
정해진 사양보다 더 높은 트래픽이 오면 크레딧을 적극 사용하다가, 크레딧이 모두 사용되면 더이상 EC2를 사용할 수 없다.
자세한 것은 다음 링크 참고
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html
6. 키페어 설정
새 키 페어 생성을 누른다.
이름을 설정한 뒤, 키 페어 생성을 누르면 pem 키가 다운된다.
이 pem 키는 인스턴스에 접근하기 위해 필요한 비밀키이다.
인스턴스는 지정된 pem 키(비밀키)와 매칭되는 공개키를 가지고 있기 때문에,
해당 생성된 pem 키 외에는 접근을 허용하지 않는다.
마스터 키 이므로 유출 절대 XX
잘 관리할 수 있는 디렉토리에 따로 보관해두자.
7. 네트워크 설정
중요한 보안 그룹 설정이다.
Firewall(방화벽) 에서 보안 그룹을 설정한다.
이때, 보통 pem 키가 없으면 접속이 안된다고 전체 오픈(0.0.0.0/0)을 하는 경우가 많다.
하지만 이는 매우 위험하다.
만약, 실수로 파일 공유 디렉토리나 깃허브에 pem 키가 노출되면 순간 서버에서 가상화폐가 채굴될 것이다..
그러므로, 지정된 IP 에서만 ssh 접속이 가능하도록 구성하는 것이 안전하다.
일단 내 IP를 기본적으로 추가하고, 이후 다른 곳에서 접속할 때는 해당 장소의 IP를 다시 SSH 규칙에 추가하는 것이 안전하다.
나는 HTTPS, HTTP 트래픽도 모두 허용했다.
7. 스토리지(EBS) 설정
설정의 기본 값은(8GB) 이지만, 파란색 글씨를 읽어보면 30GB 까지 프리티어로 가능한 것을 볼 수 있다.
나는 최대치인 30GB로 설정했다.
하지만 유의할 것은, 볼륨을 확장시키는 것은 가능하지만 늘린 것을 축소시키는 것은 불가능하다고 한다.
따라서 차차 늘려나갈 계획을 갖고 있다면 30보다 작은 것부터 설정하는 것을 추천한다.
이후 인스턴스 생성을 누르면 정상적으로 실행되는 것을 볼 수 있다.
STEP2. Elastic IP 할당하기
인스턴스 생성 시에 항상 새 IP를 할당하는데, 이때 같은 인스턴스를 중지하고 다시 시작할 때도 새 IP가 할당된다.
즉, 요금을 아끼기 위해 잠깐 인스턴스를 중지하고 다시 시작하면 IP가 변경되는 것이다.
그렇다면 매번 접속하는 IP가 변경되므로 매우 번거롭고 불편할 것이다.
Elastic IP (탄력적 IP)는 IP가 매번 변경되지 않고 고정 IP를 갖게 하는 기능이다.
따라서 고정 IP를 할당해보자.
인스턴스 생성 후, 왼쪽 사이드 바에서 네트워크 및 보안 탭 안에 탄력적 IP가 보일 것이다. 이를 클릭하자
탄력적 IP 주소 할당을 클릭한다.
그리고 할당을 클릭하면 탄력적 IP가 발급된다.
그리고 작업에서 탄력적 IP 주소 연결을 클릭한다.
그 후, 인스턴스 탭과 프라이빗 IP 주소를 탭하면 각각 밑에 내가 생성한 인스턴스 목록과 내 IP 주소가 뜰 것이다.
각각을 선택해주고 연결을 눌러준다.
그리고 인스턴스 탭에 가서 만들어진 탄력적 IP 가 잘 연결되어 있는 지 본다.
새로고침을 하고 봐야 잘 연결된 것이 보인다.
방금 생성한 Elastic IP는 생성하고 EC2 서버에 연결하지 않으면 비용이 발생한다.
따라서 생성한 Elastic IP는 무조건 EC2에 바로 연결해야 하며,
인스턴스를 삭제한 경우 반드시 이 탄력적 IP 삭제 해야한다!!
안그러면 비용이 청구된다...
AWS 서비스를 사용할 때, 관련 항목들을 꼼꼼히 읽어보고 하길 추천한다
특히나 요금제 부분.. 뭣도 모른채로 권장사항 그대로 냅두고 많은 비용이 청구됐다ㅜㅜ
다행히 환불 받았지만..
'AWS' 카테고리의 다른 글
[AWS] AWS S3, CloudFront, Lambda@Edge를 통해 이미지 Resize (0) | 2023.11.14 |
---|---|
[AWS] AWS RDS 인스턴스 생성 및 연결하기(PostgreSQL) (0) | 2023.10.30 |