[AWS] EC2를 이용하여 배포하기

Federico-15·2025년 6월 25일

AWS

목록 보기
1/1
post-thumbnail

안녕하세요! 오랜만의 포스팅입니다. 오늘은 AWS에서 제공하는 가장 기본적인 서비스인 EC2에 대해서 다룰 예정입니다.

1. EC2(Elastic Compute Cloud) 란?

한 줄 요약으로 설명하자면,

컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다.

EC2를 쉽게 얘기하면 하나의 컴퓨터를 의미합니다. EC2는 AWS에서 제공하는 가상 서버 서비스로, 인터넷 상에 내 서버를 몇 분 만에 띄울 수 있게 해줍니다.
이 말로는 감이 안잡힐텐데, 차근차근 알아가봅시다!


2. EC2를 사용하는 이유는?

서버를 배포하기 위해서는 컴퓨터가 필요합니다. 내가 가진 컴퓨터에서 서버를 배포해 다른 사용자들이 인터넷을 통해 접근할 수 있게 만들 수 있습니다. 하지만 자신의 컴퓨터로 서버를 배포하면 24시간동안 컴퓨터를 켜놔야 할 뿐 아니라, 보안적으로도 위험할 수 있습니다.

이러한 불편함 때문에 자신이 가지고 있는 컴퓨터를 사용하지 않고 AWS EC2라는 컴퓨터를 빌려서 사용하는 것입니다. 이 외에도 AWS EC2는 여러 부가기능들(로깅, 오토스케일링, 로드밸런싱 등)을 많이 가지고 있습니다.


3. 실습

3-1 . 리전(Region) 선택하기

AWS EC2 서비스로 들어가서 리전(Region)을 선택해야합니다.


리전이란?

리전(Region)이란 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미합니다.

우린 EC2가 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스라는 걸 알고 있죠? 여기서 EC2를 통해 빌려서 쓸 수 있는 컴퓨터들이 전 세계적으로 다양하게 분포해있습니다. 이렇게 컴퓨터들이 위치한 위치를 보고 AWS에서는 리전(Region)이라고 합니다!

이러한 리전을 어떤 기준으로 선택하는지에 대해서 알아보겠습니다. 사용자의 위치와 애플리케이션을 실행시키고 있는 컴퓨터와 위치가 멀면 멀수록 속도가 느려집니다.

애플리케이션의 주된 사용자들의 위치와 지리적으로 가까운 리전(Region)을 선택하는 것이 유리합니다. 따라서 한국유저들이 주로 사용하는 서비스를 만들게 되면 리전(Region)을 아시아 태평양(서울)로 선택하면 됩니다.


3-2. EC2 셋팅하기 - 기본 설정

이제 EC2 인스턴스 생성을 본격적으로 해보겠습니다.


3-3. 이름 및 태그

이름 및 태그는 EC2의 이름을 설정하는 곳입니다. 이름을 지을 때는 이 컴퓨터가 어떤 역할을 하는지 알아볼 수 있어야합니다. 저는 my-applicaiton으로 작성했습니다!


3-4. 애플리케이션 및 OS 이미지

OS를 선택하는 단계입니다. Windows나 Mac OS를 선택하지 않은 이유는 용량도 많이 차지하고, 성능도 많이 잡아먹기에 선택하지 않았습니다. 서버를 배포할 컴퓨터의 OS는 훨씬 가벼운 Ubuntu를 많이 사용합니다.


3-5. 인스턴스 유형

인스턴스란, AWS EC2에서 빌리는 컴퓨터 1대를 의미합니다. 인스턴스 유형은 컴퓨터 사양을 의미합니다. 컴퓨터 사양이 좋으면 좋을수록 많은 수의 요청을 처리할 수 있고, 무거운 서버나 프로그램을 돌릴 수 있겠죠? 저희는 프리티어에 해당하는 t2.micro를 사용하여 실습하겠습니다.


3-6. 키 페어 (로그인)

키 페어(Key Pair)는 무슨 뜻일까요? EC2 컴퓨터에 접근할 때 사용하는 비밀번호라고 생각하면 됩니다. 말 그대로 열쇠(Key, 키)의 역할을 합니다.

키페어 이름은 어떤 EC2에 접근하기 위한 키 페어였는지 알아볼 수 있게 지정하면 좋습니다. 전 practice로 지정해두겠습니다.

키페어 생성을 누르면,

이런식으로 파일이 하나 다운받아지는데 이 파일은 잃어버리면 안됩니다! 참고로, 실습에서는 키 페어를 활용해서 EC2에 접근하지 않고, 다른 방법으로 접근할 예정입니다.


3-7. 보안그룹 설정

네트워크 설정 칸을 보면 VPCSecurity Groups(보안 그룹)가 보입니다. 여기서 VPC라는 개념은 나중에 다뤄보겠습니다.

하지만 Security Groups(보안 그룹)은 서버를 배포할 때 중요한 개념이므로 자세히 알아보겠습니다.


보안 그룹 (Security Group)이란?

보안 그룹이란 AWS 클라우드에서의 네트워크 보안을 의미합니다.

일부 사용자가 EC2 인스턴스에 접근(액세스) 하려고 한다면 EC2 인스턴스 주위에 방화벽 역할을 할 보안그룹을 만들고 보안 그룹에 규칙을 지정합니다. 이 보안 규칙에는 인바운드 트래픽(외부에서 EC2 인스턴스로 보내는 트래픽)에서 어떤 트래픽만 허용할지 설정할 수 있고, 아웃바운드 트래픽(EC2 인스턴스에서 외부로 나가는 트래픽)에서 어떤 트래픽만 허용할 지 설정할 수 있습니다.

그렇다면 EC2 인스턴스를 생성할 때 어떻게 보안그룹을 설정해야하는지 알아봅시다.

외부에서 EC2로 접근할 포트는 22번포트와 80번 포트라고 생각하여 이 2가지에 대해서 인바운드 보안 그룹 규칙을 추가했습니다. 22번 포트는 우리가 EC2에 원격접속할 때 사용하는 포트이고, 80번 포트에는 백엔드 서버를 띄울 것이기 때문입니다. 소스 유형은 어떤 IP에서든 전부 접근할 수 있게 만들기 위해 위치 무관으로 설정하였습니다.


3-8. 스토리지 구성

스토리지란 EC2의 저장공간을 뜻합니다. 이러한 저장공간을 EBS(Elastic Block Storage)라고 부릅니다. 이것을 좀 더 포괄적인 용어로 스토리지, 볼륨이라고 부릅니다.

여러 종류의 스토리지가 있지만, 가성비가 좋은 gp3을 선택하겠습니다. 프리티어에서 30GiB까지 무료로 제공하기에 용량 또한, 30GiB로 설정하겠습니다.


3-9. EC2 접속하기

이렇게 인스턴스 시작을 누르면,

EC2 인스턴스가 생성된 것을 볼 수 있습니다. 하지만, 이것이 끝이 아닙니다. EC2 인스턴스를 생성하면 IP를 할당받습니다. 하지만 이렇게 할당받은 IP는 임시적인 IP입니다. EC2 인스턴스를 잠깐 중지시켰다가 다시 실행해보겠습니다.


3-10. 탄력적 IP

이런식으로 IP가 변경된 것을 볼 수 있습니다. 다시 실행할 때 마다 IP가 바뀌면 굉장히 불편합니다. 따라서 중지시켰다가 다시 실행시켜도 바뀌지 않는 고정 IP를 할당받아야합니다. 그것이 탄력적 IP입니다.

탄력적 IP를 할당 하게 되면, 서버를 다시 실행하여도 IP가 바뀌지 않는 것을 볼 수 있습니다. 탄력적 IP를 생성한 뒤 ,

이렇게 연결하면 끝입니다!


마무리

이런식으로 EC2를 생성하고, 접속하는 것까지 완료하였습니다. 또한, 탄력적 IP를 생성하여 고정IP를 할당 받는 프로세스까지 해봤습니다. 다음 포스트 때는 EC2를 이용하여 배포하는 실습을 진행하겠습니다!! 다음 포스트 때 봐용~!

profile
한 방 있는, 묵직한 개발자

0개의 댓글