AWS EC2 인스턴스 생성 및 SSH 연결 방법

AWS EC2 인스턴스란?

Amazon Elastic Compute Cloud(EC2)는 AWS 클라우드에서 제공하는 확장 가능한 컴퓨팅 용량입니다. 개발자가 더 쉽게 웹 서비스를 구축할 수 있도록 설계되었으며, 필요에 따라 컴퓨팅 파워를 쉽게 확장하거나 축소할 수 있습니다.

이 글에서는 AWS EC2 인스턴스를 생성하고 SSH를 통해 연결하는 방법을 단계별로 알아보겠습니다.

AWS 계정 생성

EC2 인스턴스를 사용하기 위해서는 먼저 AWS 계정이 필요합니다.

  1. AWS 공식 웹사이트에 접속합니다.
  2. 오른쪽 상단의 “계정 생성” 버튼을 클릭합니다.
  3. 이메일, 비밀번호, 계정 이름 등 필요한 정보를 입력합니다.
  4. 결제 정보를 입력합니다. (AWS는 처음 가입하면 12개월 동안 무료 티어를 제공합니다)
  5. 전화 인증을 완료하고 지원 플랜을 선택합니다. (무료 기본 플랜으로 시작하는 것이 좋습니다)

EC2 인스턴스 생성하기

AWS 계정 생성이 완료되었다면, 이제 EC2 인스턴스를 생성해 보겠습니다.

  1. AWS Management Console에 로그인합니다.
  2. 상단 검색창에 “EC2”를 입력하거나 서비스 메뉴에서 “EC2”를 선택합니다.
  3. EC2 대시보드에서 “인스턴스 시작” 버튼을 클릭합니다.

1단계: AMI(Amazon Machine Image) 선택

AMI는 EC2 인스턴스에 설치될 운영 체제와 소프트웨어 패키지를 포함한 템플릿입니다.

  1. “빠른 시작” 탭에서 원하는 운영 체제를 선택합니다. 초보자라면 “Amazon Linux 2” 또는 “Ubuntu Server”를 선택하는 것이 좋습니다.
  2. 무료 티어 사용 가능한 AMI에는 “프리 티어 사용 가능” 태그가 붙어 있습니다.

2단계: 인스턴스 유형 선택

인스턴스 유형은 CPU, 메모리, 스토리지, 네트워킹 용량의 다양한 조합을 제공합니다.

  1. 무료 티어를 사용하려면 “t2.micro” 또는 “t3.micro” 인스턴스 유형을 선택합니다.
  2. “다음: 인스턴스 세부 정보 구성” 버튼을 클릭합니다.

3단계: 인스턴스 세부 정보 구성

기본 설정을 그대로 사용해도 되지만, 필요에 따라 다음 사항을 조정할 수 있습니다:

  • 인스턴스 개수
  • 네트워크 및 서브넷 설정
  • 퍼블릭 IP 자동 할당 (SSH 연결을 위해 “활성화”로 설정)

“다음: 스토리지 추가” 버튼을 클릭합니다.

4단계: 스토리지 추가

EC2 인스턴스에 연결될 스토리지 볼륨을 구성합니다.

  1. 기본 스토리지 크기는 8GB지만, 필요에 따라 조정할 수 있습니다.
  2. “다음: 태그 추가” 버튼을 클릭합니다.

5단계: 태그 추가

태그는 AWS 리소스에 메타데이터를 할당하는 방법입니다.

  1. “태그 추가” 버튼을 클릭하고, 키-값 쌍을 입력합니다. (예: Key - Name, Value - MyFirstInstance)
  2. “다음: 보안 그룹 구성” 버튼을 클릭합니다.

6단계: 보안 그룹 구성

보안 그룹은 인스턴스에 대한 방화벽 역할을 합니다.

  1. “새 보안 그룹 생성”을 선택합니다.
  2. 보안 그룹 이름과 설명을 입력합니다.
  3. SSH 연결을 위해 포트 22를 열어야 합니다:
    • 유형: SSH
    • 프로토콜: TCP
    • 포트 범위: 22
    • 소스: 내 IP (가장 안전한 옵션)
  4. “검토 및 시작” 버튼을 클릭합니다.

7단계: 인스턴스 시작 검토

모든 설정을 검토한 후 “시작” 버튼을 클릭합니다.

8단계: 키 페어 생성 및 다운로드

SSH 연결을 위한 키 페어를 생성해야 합니다.

  1. “새 키 페어 생성”을 선택합니다.
  2. 키 페어 이름을 입력합니다. (예: my-ec2-key)
  3. “키 페어 다운로드” 버튼을 클릭하여 .pem 파일을 다운로드합니다.
  4. 중요: 이 키 파일은 인스턴스에 접속하기 위한 유일한 방법이므로 안전하게 보관해야 합니다.
  5. “인스턴스 시작” 버튼을 클릭합니다.

SSH로 EC2 인스턴스에 연결하기

인스턴스 생성이 완료되면, SSH를 사용하여 인스턴스에 연결할 수 있습니다.

Windows 사용자

Windows 사용자는 PuTTY나 Windows Subsystem for Linux(WSL)를 사용할 수 있습니다.

PuTTY 사용 방법:

  1. PuTTY 다운로드 및 설치
  2. PuTTYgen을 실행하여 .pem 파일을 .ppk 파일로 변환:
    • “Load” 버튼을 클릭하고 다운로드한 .pem 파일을 선택합니다.
    • “Save private key” 버튼을 클릭하여 .ppk 파일을 저장합니다.
  3. PuTTY 실행:
    • Host Name 필드에 ec2-user@[퍼블릭 DNS] 또는 ubuntu@[퍼블릭 DNS]를 입력합니다. (AMI에 따라 다름)
    • 왼쪽 메뉴에서 Connection > SSH > Auth > Credentials로 이동합니다.
    • “Private key file for authentication”에서 변환한 .ppk 파일을 선택합니다.
    • “Open” 버튼을 클릭하여 연결합니다.

WSL 또는 Git Bash 사용 방법:

  1. 터미널을 엽니다.
  2. 키 파일의 권한을 변경합니다:
    chmod 400 /path/to/my-ec2-key.pem
    
  3. 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 사용자

  1. 터미널을 엽니다.
  2. 키 파일의 권한을 변경합니다:
    chmod 400 /path/to/my-ec2-key.pem
    
  3. 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 연결 중 문제가 발생할 경우 다음 사항을 확인하세요:

  1. 보안 그룹 설정: 인바운드 규칙에서 포트 22(SSH)가 열려 있는지 확인합니다.
  2. 키 파일 권한: 키 파일의 권한이 너무 개방적이면 SSH 클라이언트가 연결을 거부할 수 있습니다. chmod 400 [키 파일] 명령으로 권한을 변경하세요.
  3. 올바른 사용자 이름: AMI에 따라 기본 사용자 이름이 다릅니다.
    • Amazon Linux: ec2-user
    • Ubuntu: ubuntu
    • Debian: admin 또는 root
    • RHEL: ec2-user 또는 root
  4. 인스턴스 상태: 인스턴스가 실행 중인지 확인합니다.

보안 주의사항

  1. 키 페어 파일(.pem)은 절대로 공유하거나 공개 저장소에 업로드하지 마세요.
  2. 가능하면 SSH 포트(22)의 소스를 “내 IP”로 제한하세요.
  3. 필요하지 않은 경우 인스턴스를 종료하여 무료 티어 사용량을 절약하세요.
  4. IAM 사용자와 적절한 권한 설정으로 AWS 계정 보안을 강화하세요.

결론

이 글에서는 AWS EC2 인스턴스를 생성하고 SSH로 연결하는 방법을 알아보았습니다. EC2 인스턴스는 웹 서버, 애플리케이션 서버, 개발 환경 등 다양한 용도로 활용할 수 있습니다.

AWS의 다양한 서비스와 함께 사용하면 더욱 강력한 클라우드 인프라를 구축할 수 있습니다. 다음 단계로는 ELB(Elastic Load Balancer), Auto Scaling, RDS(Relational Database Service) 등을 학습하여 확장 가능한 아키텍처를 설계해보세요.

Leave a comment