본문으로 건너뛰기

[EC2] EC2 생성 가이드

Prerequisite

본 가이드를 진행하기 전에 다음 항목이 준비되어 있어야 합니다:

  • AWS 계정: AWS 콘솔에 로그인할 수 있는 계정이 필요합니다. 아직 계정이 없다면 AWS 공식 사이트에서 가입할 수 있습니다.
  • EC2 권한: IAM 사용자에게 EC2 인스턴스를 생성할 수 있는 권한(예: AmazonEC2FullAccess)이 부여되어 있어야 합니다.
  • 리전 선택: 인스턴스를 생성할 AWS 리전을 미리 정합니다. 한국 사용자라면 보통 서울 리전(ap-northeast-2)을 사용합니다.

알아두기

EC2란?

EC2(Elastic Compute Cloud)는 AWS에서 제공하는 가상 컴퓨터(서버)입니다. 비유하자면, 물리적인 컴퓨터를 직접 사지 않고 AWS라는 거대한 컴퓨터 렌탈 매장에서 원하는 사양의 컴퓨터를 빌려 쓰는 것과 같습니다. 필요할 때 켜고, 안 쓸 때 끄면 됩니다.

자주 등장하는 용어

  • 인스턴스(Instance): EC2에서 실행 중인 가상 컴퓨터 한 대를 말합니다. "컴퓨터 한 대 = 인스턴스 하나"로 생각하면 됩니다.
  • AMI(Amazon Machine Image): 컴퓨터의 운영체제(OS)와 기본 소프트웨어가 설치된 설치 DVD와 같은 것입니다. 어떤 AMI를 선택하느냐에 따라 Linux, Windows 등 OS가 결정됩니다.
  • 인스턴스 유형(Instance Type): 빌릴 컴퓨터의 사양(CPU, 메모리 등)을 결정하는 것입니다. 편의점 음료처럼 S(소), M(중), L(대) 사이즈가 있다고 생각하면 됩니다.
  • 키 페어(Key Pair): 내 컴퓨터에서 EC2에 접속할 때 사용하는 열쇠 파일(.pem)입니다. 이 열쇠가 없으면 내가 만든 EC2에도 들어갈 수 없습니다.
  • 보안 그룹(Security Group): EC2의 방화벽 규칙입니다. 아파트 출입문에 비유하면, "누구를(IP) 어떤 문(포트)으로 들여보낼 것인가"를 정하는 규칙입니다.
  • VPC(Virtual Private Cloud): AWS 안에 만든 나만의 가상 네트워크 공간입니다. 넓은 사무실 건물에서 우리 회사만 쓰는 사무실 층을 하나 빌린 것과 같습니다.
  • 서브넷(Subnet): VPC를 더 작은 구역으로 나눈 것입니다. 사무실 층 안에서 개발팀 방, 인사팀 방 등으로 나누는 것과 같습니다.

Process

1. EC2 서비스로 이동

AWS 콘솔에서 EC2 서비스 페이지로 이동하는 단계입니다.

  1. AWS 콘솔에 로그인합니다.
  2. 화면 우측 상단에서 리전이 올바른지 확인합니다. 서울 리전을 사용한다면 아시아 태평양(서울) ap-northeast-2가 선택되어 있어야 합니다.

(중요) 리전을 잘못 선택하면 인스턴스가 의도하지 않은 지역에 생성됩니다. 마치 서울에 배달 시키려는데 부산 주소를 적은 것과 같으니 반드시 확인하세요.

  1. 상단 검색창에 EC2를 입력하고, 검색 결과에서 EC2 서비스를 클릭합니다.

  1. EC2 대시보드 화면이 나타나면 좌측 메뉴에서 인스턴스(Instances)를 클릭합니다.

  1. 우측 상단의 인스턴스 시작(Launch instances) 버튼을 클릭합니다.


2. 이름 및 태그 설정

생성할 인스턴스의 이름을 지정하는 단계입니다. 이름은 나중에 여러 인스턴스를 구분하기 위한 이름표 역할을 합니다.

  1. 이름 및 태그(Name and tags) 섹션에서 인스턴스 이름을 입력합니다.

    예: my-web-server, dev-api-server

(Notice: 이름은 나중에 변경할 수 있으므로 너무 고민하지 않아도 됩니다. 다만, 프로젝트명-용도 형태로 지으면 관리가 편합니다.)


3. AMI(운영체제) 선택

인스턴스에 설치할 운영체제를 선택하는 단계입니다. 컴퓨터를 살 때 Windows를 쓸지, Mac을 쓸지 고르는 것과 같습니다.

  1. 애플리케이션 및 OS 이미지(Application and OS Images) 섹션에서 원하는 OS를 선택합니다.

  1. 자주 사용되는 AMI는 다음과 같습니다:

    • Amazon Linux 2023: AWS에 최적화된 Linux입니다. AWS 서비스와 궁합이 좋고 가볍습니다. 기본 사용자명은 ec2-user입니다.
    • Ubuntu: 가장 널리 사용되는 Linux 배포판입니다. 학습 자료가 풍부하고 커뮤니티가 활발합니다. 기본 사용자명은 ubuntu입니다.
  2. OS를 선택하면 하단에 Amazon Machine Image(AMI) 상세 정보가 표시됩니다. 여기서 구체적인 버전을 확인하고 선택합니다. 예를 들어 Ubuntu를 선택한 경우:

    1. AMI 이름: Ubuntu Server 24.04 LTS (HVM), SSD Volume Type

    2. AMI ID: ami-084a56dceed3eb9bb

    3. 사용자 이름: ubuntu (SSH 접속 시 사용)

    4. 프리 티어 사용 가능 표시 확인

      (Notice: AMI 이름에 포함된 LTS(Long Term Support)는 장기 지원 버전이라는 뜻입니다. 일반 버전이 1~2년 지원되는 것에 비해, LTS는 5년간 보안 업데이트가 제공되므로 서버 운영에 더 적합합니다.)
       

  3. 프리 티어 사용 가능(Free tier eligible) 표시가 있는 AMI를 선택하면 무료 사용 범위 내에서 운영할 수 있습니다.

(중요) 프리 티어는 계정 생성 후 12개월 동안만 적용됩니다. 이 기간이 지나면 비용이 발생하니 주의하세요.


4. 인스턴스 유형 선택

인스턴스의 하드웨어 사양(CPU, 메모리)을 선택하는 단계입니다. 자동차 렌트할 때 경차를 빌릴지, SUV를 빌릴지 고르는 것과 같습니다. 사양이 높을수록 비용도 올라갑니다.

  1. 인스턴스 유형(Instance type) 섹션에서 원하는 유형을 선택합니다.

  1. 자주 사용되는 인스턴스 유형:
    • t2.micro (프리 티어): vCPU 1개, 메모리 1GB. 테스트나 가벼운 웹 서버에 적합합니다.
    • t3.small: vCPU 2개, 메모리 2GB. 소규모 애플리케이션에 적합합니다.
    • t3.medium: vCPU 2개, 메모리 4GB. 중소규모 애플리케이션에 적합합니다.

(Notice: 처음이라면 t2.micro를 선택하세요. 프리 티어에 포함되어 월 750시간까지 무료입니다.)


5. 키 페어 설정

EC2에 SSH로 접속할 때 사용할 열쇠 파일을 생성하는 단계입니다. 이 열쇠 파일(.pem)이 없으면 내가 만든 EC2에도 접속할 수 없습니다. 집 열쇠를 만드는 과정이라고 생각하면 됩니다.

기존 키 페어가 있는 경우

  1. 키 페어(Key pair) 드롭다운에서 기존 키 페어를 선택합니다.

새 키 페어를 생성하는 경우

  1. 새 키 페어 생성(Create new key pair) 링크를 클릭합니다.
  2. 키 페어 생성 팝업에서 다음 항목을 설정합니다:
    • 키 페어 이름: 알아보기 쉬운 이름을 입력합니다. (예: my-ec2-key)
    • 키 페어 유형: RSA를 선택합니다.
    • 프라이빗 키 파일 형식:
      •  .pem 선택
  3. 키 페어 생성(Create key pair) 버튼을 클릭합니다.
  4. .pem 파일이 자동으로 다운로드됩니다.

(중요) 이 파일은 최초 1회만 다운로드 가능합니다. 분실하면 다시 받을 수 없으므로 안전한 곳에 보관하세요. 분실 시에는 키 페어를 새로 생성하고 인스턴스에 다시 연결해야 합니다.

  1. (macOS/Linux만 해당) 다운로드한 키 파일의 권한을 변경합니다. 권한이 너무 열려 있으면 보안상 접속이 거부됩니다.

chmod 400 [키파일명].pem

예시:

chmod 400 ~/Downloads/my-ec2-key.pem


6. 네트워크 설정

인스턴스가 위치할 네트워크 환경과 방화벽 규칙을 설정하는 단계입니다. 아파트를 고를 때 어떤 동(VPC)의 어떤 층(서브넷)에 살 것인지, 출입문(보안 그룹)에 누구를 출입시킬 것인지 정하는 것과 같습니다.

  1. 네트워크 설정(Network settings) 섹션에서 편집(Edit) 버튼을 클릭합니다.

VPC 선택

  1. 사용할 VPC를 선택합니다. 별도로 생성한 VPC가 없다면 기본 VPC(Default VPC)를 사용합니다.

서브넷 선택

  1. 서브넷을 선택합니다.
    • 인터넷에서 직접 접속이 필요한 경우: Public Subnet 선택
    • 외부 접속 없이 내부에서만 사용하는 경우: Private Subnet 선택

(Notice: 처음이라면 기본 설정 그대로 사용해도 무방합니다. 기본 VPC의 서브넷은 모두 Public입니다.)

퍼블릭 IP 자동 할당

  1. 외부에서 인스턴스에 접속해야 한다면 **퍼블릭 IP 자동 할당(Auto-assign public IP)**을 **활성화(Enable)**로 설정합니다.

(중요) 이 설정을 비활성화하면 인터넷에서 이 인스턴스에 직접 접속할 수 없습니다. 마치 전화번호가 없는 전화기와 같습니다.

보안 그룹 설정

  1. 보안 그룹 생성(Create security group)을 선택합니다.

  2. 보안 그룹 이름과 설명을 입력합니다. (예: my-web-server-sg)

  3. 필요한 인바운드 규칙을 추가합니다. 인바운드 규칙은 "외부에서 이 컴퓨터로 들어오는 통신"을 허용하는 규칙입니다.

    SSH 접속이 필요한 경우 (Linux)

    항목
    유형(Type)SSH
    포트(Port)22
    소스(Source)내 IP (My IP)

    웹 서버로 사용하는 경우

    항목
    유형(Type)HTTP
    포트(Port)80
    소스(Source)Anywhere (0.0.0.0/0)
    항목
    유형(Type)HTTPS
    포트(Port)443
    소스(Source)Anywhere (0.0.0.0/0)

주의: SSH 소스를 0.0.0.0/0(Anywhere)으로 설정하면 전 세계 누구나 접속을 시도할 수 있어 보안에 취약합니다. 반드시 내 IP(My IP) 또는 특정 IP 범위로 제한하세요.


7. 스토리지 설정

인스턴스에 연결할 저장 공간(하드디스크)의 크기를 설정하는 단계입니다. 컴퓨터를 살 때 하드디스크 용량을 고르는 것과 같습니다.

  1. 스토리지 구성(Configure storage) 섹션에서 디스크 크기를 설정합니다.

  1. 기본 설정:
    • 크기: 8 GiB (프리 티어 기본값, 최대 30GiB까지 프리 티어)
    • 볼륨 유형: gp3 (범용 SSD, 대부분의 용도에 적합)
      • 가격 : 한국 리전 기준GB당 월 USD 0.0912

(Notice: 프리 티어에서는 EBS(가상 하드디스크) 30GiB까지 무료입니다. 특별한 이유가 없다면 기본값을 사용하세요.)


8. 인스턴스 시작(Launch)

모든 설정을 확인하고 인스턴스를 생성하는 최종 단계입니다.

  1. 우측의 요약(Summary) 패널에서 설정 내용을 최종 확인합니다.
    • 인스턴스 수: 1 (필요한 만큼 조정 가능)
    • AMI, 인스턴스 유형, 키 페어, 보안 그룹 등이 올바른지 확인

  1. 인스턴스 시작(Launch instance) 버튼을 클릭합니다.
  2. "성공적으로 인스턴스를 시작했습니다(Successfully initiated launch of instance)" 메시지가 나타나면 생성 완료입니다.
  3. 인스턴스 ID 링크를 클릭하면 인스턴스 상세 페이지로 이동합니다.
  4. 인스턴스 상태(Instance state)Running(실행 중)으로 변경될 때까지 기다립니다. 보통 1~2분 정도 소요됩니다.


Trouble Shooting

인스턴스 상태가 Running이 아닌 경우

원인: 인스턴스 시작에 실패했거나 중지 상태일 수 있습니다.

해결 방법:

  1. 인스턴스를 선택하고 인스턴스 상태(Instance state) 열을 확인합니다.
  2. Stopped 상태라면: **인스턴스 상태 > 인스턴스 시작(Start instance)**을 클릭합니다.
  3. Terminated 상태라면: 인스턴스가 삭제된 것이므로 새로 생성해야 합니다.
  4. 상태 검사(Status checks)에서 2/2 검사 통과인지 확인합니다. 통과하지 못했다면 인스턴스를 중지 후 재시작합니다.

또 다른 질문이 있으십니까? 문의 등록