AWS

AWS EC2 인스턴스 생성

Somaz 2022. 2. 7. 13:51
728x90
반응형

Overview

이 글에서는 AWS EC2 프리티어 인스턴스를 생성하는 방법
SSH를 이용한 접속, 탄력적 IP 설정 및 종료 과정까지의 절차를 다룬다.
AWS의 1년 프리티어(Freetier) 계정을 활용하여 비용 없이 EC2를 사용할 수 있다.

이제 AWS EC2 인스턴스 생성부터 설정까지 차근차근 진행해보자.

 

 

 

 


 

AWS EC2 인스턴스 생성하기

 

 

1️⃣ AWS EC2 대시보드 접속

AWS에 로그인한 후 EC2 서비스를 선택한다.

EC2를 선택해준다.

 

 

 

2️⃣ 인스턴스 시작 (Ubuntu 20.04 선택)

  1. EC2 대시보드에서 "인스턴스 시작" 버튼을 클릭
  2. Ubuntu 20.04 LTS 선택
  3. 프리티어(Freetier) 무료 사용 가능 인스턴스 타입 선택
    • 기본 선택되어 있는 t2.micro 사용 (1 vCPU, 1GB RAM)

 

 

비용을 내기 싫다면 반드시 프리티어를 선택해야 한다!

ubuntu 20.04 로 진행하도록 하겠다.
CPU, 메모리, 스토리지, 네트워크 성능에 따라 여러가지를 고를 수 있다. 비용을 내기 싫다면 프리티어를 고르도록 하자!

 

 

 

 

 

3️⃣ 보안 그룹 설정 (포트 개방)

EC2의 포트를 열어주기 위해 보안 그룹(Security Group)을 설정해야 한다.

  1. "보안 그룹 생성" 클릭
  2. 필요한 포트 추가
    • SSH (22번 포트) → 서버에 접속하기 위해 필요
    • HTTP (80번 포트) → 웹서버(Nginx, Apache 등) 실행 시 필요
    • HTTPS (443번 포트) → SSL 연결을 위한 포트
    • MySQL (3306번 포트) → 원격 데이터베이스 접속 가능하게 설정 (선택 사항)
    • Spring, Node.js 등 필요한 포트 추가 가능

 

설정 완료 후 "검토 및 시작" 클릭

EC2 의 port 를 열어주기 위해 보안 그룹 의 설정을 헌다. ( 규칙 추가 를 누르겠다.)
저는 HTTP , HTTPS , Spring ,NodeJS ,MySQL 을 주로 사용할 예정이라서 위와 같이 포트번호를 열겠다. 그리고 검토 및 시작 을 누르겠다.

 

 

 

 

 

 

4️⃣ 키 페어(Key Pair) 생성 및 인스턴스 시작

  1. 새 키 페어 생성
    • 이름을 입력하고 .pem 형식으로 다운로드
    • 이 파일은 반드시 안전한 곳에 보관 (잃어버리면 복구 불가)
  2. "인스턴스 시작" 클릭

 

 

EC2 인스턴스가 정상적으로 생성되었는지 확인

  • AWS EC2 대시보드에서 "실행 중인 인스턴스" 확인 가능

그리고 시작하기 를 누르겠습니다.

 

그러면 위와 같은 화면을 볼 수 있습니다. (EC2에 접속하기 위해서는키가 필요하기 때문에 pem 파일의 이름을 설정한 후다운로드 하고 잃어버리지 않게 잘 보관해야 한다! 또한 보안이 취약한 곳에 올리면 안됩니다! 따라서 잘 보관하기..그리고 키 페어를 다운로드 했으면 인스턴스 시작버튼이 활성화가 된다. 인스턴스 시작을 누르겠다.

 

 

 

다음에도 인스턴스 시작 을 누르겠다.

 

그러면 위와 같이 인스턴스가 정상적으로 만들어진 것을 볼 수 있다.

 

 

 

 

 

 


 

 

 

 

 

 

 

AWS 탄력적 IP(Elastic IP) 설정

AWS EC2 서버를 재부팅하면 Public IP가 변경되므로
고정된 IP를 사용하려면 탄력적 IP(Elastic IP)를 할당해야 한다.

 

 

 

1️⃣ 탄력적 IP 할당

  1. EC2 대시보드 → 네트워크 및 보안 → 탄력적 IP
  2. "탄력적 IP 주소 할당" 클릭
  3. "할당" 버튼 클릭

 

 

새로운 탄력적 IP가 생성됨

탄력적 IP 선택

 

탄력적 IP 생성
할당

 

 

 

 

 

 

2️⃣ 탄력적 IP를 EC2 인스턴스에 연결

  1. 생성한 탄력적 IP를 선택 후 "탄력적 IP 주소 연결" 클릭
  2. 실행 중인 EC2 인스턴스를 선택
  3. "연결" 버튼 클릭

 

 

고정 IP 할당 완료!

  • 이제 EC2를 껐다 켜도 Public IP가 변경되지 않음

 

탄력적 IP 주의사항

 

EC2가 실행 중이지 않은 상태에서 탄력적 IP가 연결된 경우 요금이 발생할 수 있음
EC2를 중지/삭제할 경우 반드시 탄력적 IP를 먼저 릴리즈해야 한다.

 

 

탄력적 IP 주소 연결

 

실행중인 인스턴스 선택!
연결 성공!




 

 

 

SSH로 EC2 인스턴스 접속하기

 

1️⃣ PuttyGen으로 개인 키 변환

  1. PuttyGen 실행
  2. "Load" 버튼 클릭 후 다운받은 .pem 키 파일 선택
  3. "Save private key" 클릭 → somaz.ppk 로 저장

 

 

이제 공용키(.pem)과 개인키(.ppk) 키 페어가 생성됨

puttygen 실행하고 Load 클릭후 다운받은 공용키(somaz.pem) 넣기
puttygen 실행하고 Load 클릭후 다운받은 공용키(somaz.pem) 넣기

 

성공
개인키 저장 클릭

 

 

 

 

 

 

2️⃣ Putty로 SSH 접속

  1. 퍼블릭 IPv4 주소 복사
    • AWS EC2 대시보드에서 퍼블릭 IP 확인
  2. Putty 실행 후 SSH 접속 설정
    • "Host Name"에 퍼블릭 IPv4 주소 입력
    • "Connection → SSH → Auth" 이동
    • "Private key file for authentication"에서 somaz.ppk 선택
  3. "Open" 버튼 클릭
  4. 로그인 아이디는 Ubuntu

 

 

EC2 인스턴스에 정상적으로 접속 완료! 

퍼블릭 IPv4 주소 복사
putty로 가서 IPv4 주소 입력하고 SSH 선택

 

Browse 클릭 후 아까 다운받았던 개인키(somaz.ppk)를 넣어준다
넣고
저장!

 

Accept 클릭
자 성공하였다!

 

 

 


 

 

 

 

 

 

관리자 권한 획득 및 시간 설정 (UTC → KST)

AWS EC2의 기본 시간대는 UTC (Coordinated Universal Time)로 설정되어 있다.
한국 시간 (KST, UTC+9)으로 변경하려면 다음 명령어를 실행한다.

# 현재 시간대 확인
ls -l /etc/localtime

# 한국 시간대 (Asia/Seoul)로 변경
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# 변경된 시간 확인
date
 

시간이 KST로 변경되었으면 성공!

 

 

 

 

 


 

 

 

 

 

EC2 종료 및 정리

 

1️⃣ 탄력적 IP 연결 해제 & 릴리즈

EC2를 삭제하기 전에 탄력적 IP를 반드시 해제해야 한다.

  1. EC2 대시보드 → 탄력적 IP
  2. "탄력적 IP 주소 연결 해제" 클릭
  3. "탄력적 IP 주소 릴리즈" 클릭

탄력적 IP 요금 발생 방지!

 

 

2️⃣ EC2 인스턴스 종료 & 삭제

  1. EC2 대시보드 → 실행 중인 인스턴스 선택
  2. "인스턴스 상태 변경" → "인스턴스 종료" 클릭
  3. 인스턴스가 삭제될 때까지 새로고침하면서 확인
  4. 필요하지 않은 보안 그룹 삭제 (단, 기본 보안 그룹은 삭제 불가)

 

AWS 프리티어 사용량을 줄이기 위해 꼭 종료할 것!

탄력적 IP 연결 해제
탄력적 IP 주소 릴리즈

 

ec2 인스턴스로 돌아가서 종료
종료 후 새로고침을 눌러 인스턴스가 사라진걸 확인한다.
보안 그룹도 삭제해준다. default는 삭제하지말고.. 자기가 만든 보안그룹만 삭제해준다

 

 

 

 


 

 

 

 

 

마무리

AWS EC2 인스턴스를 생성하고 Ubuntu 20.04를 설정하였다.
SSH를 이용하여 EC2 인스턴스에 접속하는 방법을 배웠다.
탄력적 IP를 설정하여 고정 IP를 유지하는 방법을 익혔다.
EC2 인스턴스를 안전하게 종료하고 요금 발생을 방지하는 방법도 학습하였다.

 

이제 AWS EC2에 웹 서버(Nginx, Apache), DB(MySQL, PostgreSQL) 등을 설치하여 활용해보자!

 

 

 

 

 


Reference

AWS EC2 공식 문서
AWS 키 페어 관리
Putty 공식 다운로드

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'AWS' 카테고리의 다른 글

AWS IAM이란?  (0) 2023.03.30
AWS S3 권한이란?  (0) 2023.03.29
AWS S3란?(개념, 속성)  (0) 2023.03.28
AWS S3 (Simple Storage Service) 개요 및 활용 방법  (0) 2022.02.13
AWS IAM (Identity and Access Management) 개요 및 설정 방법  (0) 2022.02.13