WEB 개발

[AWS] EC2 인스턴스 생성하기

mayhun28 2025. 8. 25. 11:30

1년차 개발자지만, on-premise 환경만 사용해봐서, AWS 경험이 없어 DockerHub와 github actions를 사용해 자동 배포를 위해 AWS를 사용해 보려한다.


EC2(Elastic Compute Cloud)란?

AWS(Amazon Web Services)클라우드에서 온디맨드 확장 가능 컴퓨팅 용량을 제공한다.

하드웨어 비용을 절감하여 애플리케이션을 빠르게 개발하고 배포할 수 있도록 한다.


EC2 인스턴스 생성하기

1. 인스턴스 시작

AWS Console > EC2 > 인스턴스 시작

 

인스턴스  이름 설정

 


2. 인스턴스 AMI(Amazon Machine Image) 선택

AMI는 AWS에서 EC2 인스턴스를 생성할때 사용하는 서버 운영체제 + 소프트웨어 환경이 미리 세팅된 템플릿이다.

즉, 서버를 시작할때 어떤 OS(Ubuntu, Windows)와 추가 패키지들이 설치된 상태로 만들지를 정하는 '서버 이미지'라고 생각하면 된다.

 


3. 인스턴스 유형 선택하기

기본으로 자동 설정된 t3.micro 를 사용하겠다.


4. 키페어 설정하기

키페어 유형은 2가지가 있으며, 나는 윈도우 클라이언트를 사용하고 있어 RSA를 선택했다.

  1. RSA:
    • 가장 오래된 공개치 암호화 방식중 하나
    • 오랫동안 많이 쓰여왔기 때문에 호환성이 매우 넓음
    • Ubuntu, CentOS, macOS, Windows 등 어떤 환경에서도 문제 없이 사용 가능
  2. ED25519:
    • 비교적 최신 공개키 암호 방식
    • RSA보다 훨씬 짧은 키 길이로도 높은 보안성 제공

 

 


5. 네트워크 설정

ssh(22), HTTPS(443), HTTP(80) 포트만 먼저 허용해 두었다.

 

6. 인스턴스 스토리지 설정

용량이 크게 필요하다고는 판단되지 않아, 8GB로 설정한다.

 


7. 인스턴스 생성

오른쪽에 인스턴스 시작을 눌러 인스턴스를 생성한다.

 

아래와 같이 인스턴스 생성이 완료 되었다.


8. SSH 접속해 보기

키페어 생성시에 자동으로 pem파일이 다운로드 되었을것이다. 

putty등 ssh 서비스를 사용해도 되지만, 나는 cmd를 사용하여 접속해보겠다.

 

console에서 인스턴스를 확인하면 아래와 같은 내용을 확인할수 있다.

 

자동 할당된 IP주소를 기억해야한다.

 

cmd를 켜고 아래와 같이 작성후 연결한다.

ssh -i "{pem파일 위치}" ubuntu@{IP주소}

 


초기 설정

1. 타임존 확인

초기 설정에는 타임존이 맞지 않을것이다.

 

 

2. 서울 시간대로 변경

sudo timedatectl set-timezone Asia/Seoul

 

3. hostname변경

기본적으로 EC2 인스턴스는 내부 IP 기반으로 hostname이 설정된다.

hostname 변경은 필수적인 설정은 아니지만, 서버의 역할이나 용도에 맞게 의미 있는 이름으로 바꿔두면 여러 대의 서버를 운영할때 식별이 쉽고 관리 효율이 높아진다.

 

hostname변경

sudo hostnamectl set-hostname {지정할 이름}

 

 

hostnamectl 로 hostname정보를 확인할수 있고, set-hostname으로 설정후 재접속을 해보면 아래와 같이 hostname이 변경된다.

 

 

Reference

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html

https://velog.io/@softwarerbfl/AWS-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0