AWS EC2 인스턴스 생성 및 SSH 연결 방법
AWS EC2 인스턴스란?
Amazon Elastic Compute Cloud(EC2)는 AWS 클라우드에서 제공하는 확장 가능한 컴퓨팅 용량입니다. 개발자가 더 쉽게 웹 서비스를 구축할 수 있도록 설계되었으며, 필요에 따라 컴퓨팅 파워를 쉽게 확장하거나 축소할 수 있습니다.
이 글에서는 AWS EC2 인스턴스를 생성하고 SSH를 통해 연결하는 방법을 단계별로 알아보겠습니다.
AWS 계정 생성
EC2 인스턴스를 사용하기 위해서는 먼저 AWS 계정이 필요합니다.
- AWS 공식 웹사이트에 접속합니다.
- 오른쪽 상단의 “계정 생성” 버튼을 클릭합니다.
- 이메일, 비밀번호, 계정 이름 등 필요한 정보를 입력합니다.
- 결제 정보를 입력합니다. (AWS는 처음 가입하면 12개월 동안 무료 티어를 제공합니다)
- 전화 인증을 완료하고 지원 플랜을 선택합니다. (무료 기본 플랜으로 시작하는 것이 좋습니다)
EC2 인스턴스 생성하기
AWS 계정 생성이 완료되었다면, 이제 EC2 인스턴스를 생성해 보겠습니다.
- AWS Management Console에 로그인합니다.
- 상단 검색창에 “EC2”를 입력하거나 서비스 메뉴에서 “EC2”를 선택합니다.
- EC2 대시보드에서 “인스턴스 시작” 버튼을 클릭합니다.
1단계: AMI(Amazon Machine Image) 선택
AMI는 EC2 인스턴스에 설치될 운영 체제와 소프트웨어 패키지를 포함한 템플릿입니다.
- “빠른 시작” 탭에서 원하는 운영 체제를 선택합니다. 초보자라면 “Amazon Linux 2” 또는 “Ubuntu Server”를 선택하는 것이 좋습니다.
- 무료 티어 사용 가능한 AMI에는 “프리 티어 사용 가능” 태그가 붙어 있습니다.
2단계: 인스턴스 유형 선택
인스턴스 유형은 CPU, 메모리, 스토리지, 네트워킹 용량의 다양한 조합을 제공합니다.
- 무료 티어를 사용하려면 “t2.micro” 또는 “t3.micro” 인스턴스 유형을 선택합니다.
- “다음: 인스턴스 세부 정보 구성” 버튼을 클릭합니다.
3단계: 인스턴스 세부 정보 구성
기본 설정을 그대로 사용해도 되지만, 필요에 따라 다음 사항을 조정할 수 있습니다:
- 인스턴스 개수
- 네트워크 및 서브넷 설정
- 퍼블릭 IP 자동 할당 (SSH 연결을 위해 “활성화”로 설정)
“다음: 스토리지 추가” 버튼을 클릭합니다.
4단계: 스토리지 추가
EC2 인스턴스에 연결될 스토리지 볼륨을 구성합니다.
- 기본 스토리지 크기는 8GB지만, 필요에 따라 조정할 수 있습니다.
- “다음: 태그 추가” 버튼을 클릭합니다.
5단계: 태그 추가
태그는 AWS 리소스에 메타데이터를 할당하는 방법입니다.
- “태그 추가” 버튼을 클릭하고, 키-값 쌍을 입력합니다. (예: Key - Name, Value - MyFirstInstance)
- “다음: 보안 그룹 구성” 버튼을 클릭합니다.
6단계: 보안 그룹 구성
보안 그룹은 인스턴스에 대한 방화벽 역할을 합니다.
- “새 보안 그룹 생성”을 선택합니다.
- 보안 그룹 이름과 설명을 입력합니다.
- SSH 연결을 위해 포트 22를 열어야 합니다:
- 유형: SSH
- 프로토콜: TCP
- 포트 범위: 22
- 소스: 내 IP (가장 안전한 옵션)
- “검토 및 시작” 버튼을 클릭합니다.
7단계: 인스턴스 시작 검토
모든 설정을 검토한 후 “시작” 버튼을 클릭합니다.
8단계: 키 페어 생성 및 다운로드
SSH 연결을 위한 키 페어를 생성해야 합니다.
- “새 키 페어 생성”을 선택합니다.
- 키 페어 이름을 입력합니다. (예: my-ec2-key)
- “키 페어 다운로드” 버튼을 클릭하여 .pem 파일을 다운로드합니다.
- 중요: 이 키 파일은 인스턴스에 접속하기 위한 유일한 방법이므로 안전하게 보관해야 합니다.
- “인스턴스 시작” 버튼을 클릭합니다.
SSH로 EC2 인스턴스에 연결하기
인스턴스 생성이 완료되면, SSH를 사용하여 인스턴스에 연결할 수 있습니다.
Windows 사용자
Windows 사용자는 PuTTY나 Windows Subsystem for Linux(WSL)를 사용할 수 있습니다.
PuTTY 사용 방법:
- PuTTY 다운로드 및 설치
- PuTTYgen을 실행하여 .pem 파일을 .ppk 파일로 변환:
- “Load” 버튼을 클릭하고 다운로드한 .pem 파일을 선택합니다.
- “Save private key” 버튼을 클릭하여 .ppk 파일을 저장합니다.
- PuTTY 실행:
- Host Name 필드에
ec2-user@[퍼블릭 DNS]
또는ubuntu@[퍼블릭 DNS]
를 입력합니다. (AMI에 따라 다름) - 왼쪽 메뉴에서 Connection > SSH > Auth > Credentials로 이동합니다.
- “Private key file for authentication”에서 변환한 .ppk 파일을 선택합니다.
- “Open” 버튼을 클릭하여 연결합니다.
- Host Name 필드에
WSL 또는 Git Bash 사용 방법:
- 터미널을 엽니다.
- 키 파일의 권한을 변경합니다:
chmod 400 /path/to/my-ec2-key.pem
- SSH 명령으로 연결합니다:
ssh -i /path/to/my-ec2-key.pem ec2-user@[퍼블릭 DNS]
또는 Ubuntu AMI를 사용한 경우:
ssh -i /path/to/my-ec2-key.pem ubuntu@[퍼블릭 DNS]
macOS/Linux 사용자
- 터미널을 엽니다.
- 키 파일의 권한을 변경합니다:
chmod 400 /path/to/my-ec2-key.pem
- SSH 명령으로 연결합니다:
ssh -i /path/to/my-ec2-key.pem ec2-user@[퍼블릭 DNS]
또는 Ubuntu AMI를 사용한 경우:
ssh -i /path/to/my-ec2-key.pem ubuntu@[퍼블릭 DNS]
SSH 연결 문제 해결
SSH 연결 중 문제가 발생할 경우 다음 사항을 확인하세요:
- 보안 그룹 설정: 인바운드 규칙에서 포트 22(SSH)가 열려 있는지 확인합니다.
- 키 파일 권한: 키 파일의 권한이 너무 개방적이면 SSH 클라이언트가 연결을 거부할 수 있습니다.
chmod 400 [키 파일]
명령으로 권한을 변경하세요. - 올바른 사용자 이름: AMI에 따라 기본 사용자 이름이 다릅니다.
- Amazon Linux:
ec2-user
- Ubuntu:
ubuntu
- Debian:
admin
또는root
- RHEL:
ec2-user
또는root
- Amazon Linux:
- 인스턴스 상태: 인스턴스가 실행 중인지 확인합니다.
보안 주의사항
- 키 페어 파일(.pem)은 절대로 공유하거나 공개 저장소에 업로드하지 마세요.
- 가능하면 SSH 포트(22)의 소스를 “내 IP”로 제한하세요.
- 필요하지 않은 경우 인스턴스를 종료하여 무료 티어 사용량을 절약하세요.
- IAM 사용자와 적절한 권한 설정으로 AWS 계정 보안을 강화하세요.
결론
이 글에서는 AWS EC2 인스턴스를 생성하고 SSH로 연결하는 방법을 알아보았습니다. EC2 인스턴스는 웹 서버, 애플리케이션 서버, 개발 환경 등 다양한 용도로 활용할 수 있습니다.
AWS의 다양한 서비스와 함께 사용하면 더욱 강력한 클라우드 인프라를 구축할 수 있습니다. 다음 단계로는 ELB(Elastic Load Balancer), Auto Scaling, RDS(Relational Database Service) 등을 학습하여 확장 가능한 아키텍처를 설계해보세요.
Leave a comment