AWS EC2 인스턴스 생성 및 서버 운영은 클라우드 환경에서 개발자가 직접 가상 컴퓨터를 구축하고 관리하는 첫걸음입니다. 물리적인 서버 장비를 직접 구매하고 세팅할 필요 없이, 몇 번의 클릭만으로 컴퓨팅 파워를 확보할 수 있습니다. 초기 설정 과정에서 사소한 실수가 발생하면 외부 접속이 차단되거나 불필요한 과금이 발생할 수 있으므로, 각 단계별 기준을 정확히 이해하고 진행하는 것이 좋습니다.
AWS EC2 인스턴스는 클라우드 가상 서버를 대여하여 운영하는 핵심 서비스입니다. 인스턴스 생성 시 용도에 맞는 AMI와 인스턴스 유형을 선택하고, 보안 그룹 설정을 통해 포트를 개방해야 원활한 서버 운영이 가능합니다.
1. 인스턴스 기본 설정과 AMI 선택의 기준
AWS 관리 콘솔에 접속하여 EC2 대시보드로 이동한 뒤 '인스턴스 시작' 버튼을 누르면 가장 먼저 운영체제(OS)와 아키텍처를 결정하는 AMI 선택 화면이 나타납니다. 리눅스 환경을 구축할 때는 주로 Ubuntu 22.04 LTS 또는 Amazon Linux 2023을 선택합니다.
Ubuntu는 방대한 레퍼런스와 범용성을 자랑하며, Amazon Linux는 AWS 인프라에 최적화되어 부팅 속도가 빠르고 보안 패치 관리가 수월합니다. 프리 티어 대상인 t2.micro 또는 t3.micro 인스턴스는 1 vCPU와 1GB의 메모리를 제공하므로 소규모 테스트 서버나 개인 블로그 운영 용도로 적합합니다.
다만 실서비스 환경에서는 메모리 누수나 트래픽 급증에 대비해 최소 t3.medium 이상을 검토하는 것이 좋습니다.
2. 네트워크와 보안 그룹 설정의 핵심 디테일
서버를 외부 세상과 연결하는 네트워크 설정은 보안 사고를 방지하기 위해 가장 신중하게 다루어야 합니다. VPC와 서브넷은 기본 설정을 유지해도 무방하지만, 보안 그룹 규칙은 인바운드 트래픽을 엄격하게 통제해야 합니다.
웹 서버를 운영하려면 HTTP(포트 80)와 HTTPS(포트 443)를 모든 IP(0.0.0.0/0)에 대해 개방해야 합니다. 하지만 서버 관리 목적의 SSH 접속(포트 22)은 무작위 브루트포스 공격의 표적이 되기 쉽습니다.
따라서 소스 IP를 '내 IP'로 지정하거나, 특정 관리자 IP 대역에서만 접속할 수 있도록 제한하는 것이 안전합니다. 또한 퍼블릭 IP 자동 할당 기능을 활성화해야 인스턴스 생성 직후 외부에서 공인 IP로 접근할 수 있습니다.
3. 키 페어 생성과 SSH 접속 실무
인스턴스 생성 과정의 마지막 단계에서는 서버에 안전하게 접속하기 위한 키 페어를 발급받습니다. RSA 방식의 .pem 형식 파일이 주로 사용되며, 이 파일은 로컬 컴퓨터의 안전한 디렉토리에 반드시 백업해야 합니다.
AWS 측에서는 키 페어를 대신 복구해주지 않기 때문에 파일을 분실하면 서버에 다시 접속하는 데 큰 어려움을 겪습니다. 윈도우 환경에서는 PuTTY를 활용해 .ppk 파일로 변환하여 접속하고, 맥이나 리눅스 터미널에서는 pem 파일의 권한을 'chmod 400' 명령어로 조정한 뒤 ssh 명령어와 퍼블릭 DNS를 조합하여 원격 서버에 진입합니다.
4. 고정 IP 할당과 스토리지 확장 전략
기본적으로 EC2 인스턴스를 중지했다가 다시 시작하면 퍼블릭 IP 주소가 변경됩니다. 서비스 도메인을 연결했거나 지속적인 외부 접속이 필요하다면 탄력적 IP(Elastic IP)를 할당받아 인스턴스에 연결해야 합니다.
탄력적 IP는 인스턴스가 중지되어 있는 동안에도 계속 보유하고 있으면 소액의 요금이 부과되므로 사용하지 않는 주소는 즉시 반환하는 것이 원칙입니다. 저장소인 EBS 볼륨의 경우, 기본 30GB의 gp3 타입이 제공됩니다.
일반적인 웹 서버 운영에는 gp3가 가성비와 성능 면에서 가장 유리하며, 디스크 용량이 부족해질 경우 콘솔에서 볼륨 크기를 즉시 확장한 뒤 리눅스 파일 시스템 리사이징 명령어를 실행해 여유 공간을 확보할 수 있습니다.