AWS EC2 인스턴스 설정
1. 회원가입

AWS 서비스를 이용하려면 일단 회원가입을 해야 한다. 회원 가입 시 이메일, 인증에 사용할 휴대폰 번호, 결제에 사용할 카드 번호 등의 정보가 필요하니 참고하도록 하자. 가입을 완료하면 AWS 서비스를 이용할 준비가 된 것이다.
2. EC2 서버 세팅

로그인을 하고 콘솔에 로그인 버튼을 클릭하면 콘솔 홈으로 이동할 수 있다.

콘솔 홈에서 가장 먼저 할 것은 우측 상단의 지역을 서울로 변경하는 것이다. 지역을 서울로 변경한 후 서비스 ➜ 컴퓨팅 ➜ EC2를 클릭하면 EC2 대시보드로 이동한다.

EC2 대시보드에서 인스턴스 시작 버튼을 클릭하면 인스턴스 세팅 화면으로 이동한다.

인스턴스 시작 화면에서는 내가 만들 서버의 스펙을 결정할 수 있다.
2.1. 이름 및 태그
인스턴스의 이름 및 태그를 설정한다.
2.2. 애플리케이션 및 OS 이미지
일반적으로 Image는 특정 시점의 데이터 복사본을 의미한다. AMI(Amazon Machine Image)는 AWS에서 제공하는 소프트웨어 복사본을 가리킨다. 소프트웨어 안에는 OS와 애플리케이션이 포함된다. 쉽게 말하면 클라우드 서버의 운영체제를 결정하는 것이다.

Quick Start로 내가 원하는 이미지를 찾지 못하는 경우 더 많은 AMI 찾아보기를 클릭하면 AMI 선택 화면으로 이동할 수 있다.

AMI 선택 화면에서는 조건에 따라 제품을 필터링할 수 있다. 나는 아래와 같이 필터링했다.
프리 티어만 해당
모든 Linux/UNIX
64비트(x86)
AWS의 지원

무료로 사용할 예정이므로 프리 티어가 아닌 건 제외했다. 또한 유닉스 계열이 전체 웹 사이트의 82.1%를 차지하고 있으며 리눅스와 달리 윈도우는 폐쇄적이므로 제외했다. 또한 프리 티어의 경우 t2.micro만 선택 가능한데 이를 지원하는 아키텍처가 x86이므로 64비트(x86)을 선택했다. 마지막으로 AWS의 장기 지원이 없는 건 제외했다. 네 가지 조건으로 필터링하면 두 개의 이미지가 후보로 남는데 Amazon Linux 2023 AMI는 향후 해당 연도의 업데이트를 반영할 것이므로 특정 시점의 이미지인 Amazon Linux 2 AMI(HVM)보다 이점이 크다고 생각했다. 그래서 최종적으로 Amazon Linux 2023 AMI를 선택했다.
CPU 아키텍처
CPU 레지스터의 크기에 따라 32비트와 64비트로 나눌 수 있다. 레지스터 크기가 클 수록 저장 공간이 넓으므로 데이터 처리와 계산이 빠르다. 2023년인 지금은 대부분의 운영체제라 64비트를 지원한다. CPU 아키텍처의 설계 스타일에 따라 x86과 Arm으로 나눌 수 있다. 과거에는 x86이 데스크톱, Arm은 모바일 프로세서로 구분되었다. 최근에는 둘 다 비슷한 수준의 벤치마크를 제공하는 등 성능이 점점 비슷하게 발전하는 추세이다.
2.3. 인스턴스 유형
프리 티어로 사용할 수 있는 인스턴스 유형인 t2.micro를 선택했다.
2.4. 키 페어(로그인)
키 페어(key Pair)란 AWS 클라우드 환경에서 인스턴스에 연결할 때 사용하는 보안 자격 증명 세트이다. 퍼블릭 키와 프라이빗 키 한 쌍이 주어지며 프라이빗 키는 분실 시 되찾을 수 없으므로 안전하게 보관해야 한다. EC2 인스턴스에 퍼블릭 키를 저장하고 프라이빗 키로 shell 또는 AWS CIL를 활용해 인스턴스로 접근할 수 있다.

키 페어 이름은 제한 조건을 만족하는 선에서 자유롭게 지어주면 된다. 키 페어 유형은 공개키 암호화 알고리즘을 선택하는 것이다. 프라이빗 키 파일 형식은 키의 파일 형식을 의미한다. .pem이 사실상의 표준이다.
키 페어 유형: ED25519
키 파일 형식: .pem
나는 위 형식으로 공개키를 생성했다. 키 페어 생성 버튼을 누르면 프라이빗 키 파일(.pem)이 다운로드 되므로 잘 보관해두자. 분실하면 찾을 수 없다.
RSA와 ED25519
RSA는 준-소수 인수분해(Large semi-prime numbers factorization)를 키 생성 로직으로 사용한다. 복소수를 소인수로 인수분해하는 일반적인 공식이 존재하지 않으므로 RSA 알고리즘은 숫자 크기에 비례해서 소인수 계산에 걸리는 시간이 늘어난다. ED25519는 타원 곡선 암호화(Elliptic Curve Cryptography)를 키 생성 로직으로 사용한다. 타원 곡선을 사용하면 훨씬 더 작은 키로 동일한 수준의 계산 복잡성을 달성할 수 있다. 키 생성 로직의 차이로 인해 RSA는 128비트 보안을 위해 3072비트 키를 출력해야 하지만, ED25519sms 256비트 보안을 위해 3072비트 키를 출력한다. 즉 동일한 비트 길이로 더 높은 보안과 성능을 기대할 수 있다.
2.5. 네트워크 설정

새로 생성하는 인스턴스의 경우 보안 그룹이 없으므로 생성해야 한다. SSH 트래픽의 경우 모든 위치에서 접근할 수 있게 하면 해킹이 발생할 수 있다. HTTP와 HTTPS 접근의 경우 필요에 따라 열어주면 된다.
2.6. 스토리지 구성

프리 티어는 기본적으로 30GiB의 EBS 스토리지를 제공한다. 저장 공간을 다 활용할 일이 없을 것 같아 8GiB로 설정했다.
모든 세팅이 끝나고 인스턴스 시작 버튼을 누르면 인스턴스가 생성된다.
3. 청구 알림 설정

프리 티어 제공량을 넘어서면 과금이 발생한다. 이를 방지하기 위해 알림 설정을 해둘 필요가 있다. 서비스 ➜ AWS 비용 관리 ➜ Billing을 클릭하면 AWS 결제 대시보드로 이동한다.

기본 설정 ➜ 청구서 설정 을 클릭해서 청구서 기본 설정으로 이동한다. 여기서 인보이스 전송과 알림 설정을 할 수 있다. 참고로 CloudWatch 결제 알림은 설정되면 되돌릴 수 없다.

Cost Management ➜ Budgets를 클릭해서 AWS Budgets로 이동한다. 여기서는 AWS의 지출을 예측해서 알림 설정을 할 수 있다. 예산 생성을 클릭하고 알림을 생성해두자.
참고 자료
Last updated