본문 바로가기
Web/BackEnd

[AWS] AWS 인프라 구축하기 - EC2 (1)

by 희조당 2023. 4. 3.
728x90

🤗 AWS 구축하기

진행하는 프로젝트에서 새롭게 AWS 환경을 구축할 기회가 생겼다.

이전에 구축한 환경은 만드는데 급했기에 전혀 기억이 남지 않아서 기록을 해보려고 한다 😎😎

각각의 서비스가 무엇이고 어떤 것이 효율적인지는 다루지 않을 생각이다 😋😋 (나도 잘 몰라서..)

 

현재 사용하는 서비스는 다음과 같다. 이번편에는 EC2를 기록해 보겠다!

  • EC2 : 클라우드 서비스
  • S3 : 저장소 서비스
  • CodeDeploy : 배포 서비스
  • SES : 이메일 발송 서비스
  • Route 53 : 라우팅 서비스

🖥️ EC2 

🛠️ 새 인스턴스 생성하기

인스턴스가 하나의 컴퓨터라고 생각하면 된다. 가볍게 설정을 기록하겠다!

1️⃣ OS 설정하기

CI/CD를 Github Action과 AWS CodeDeploy를 사용하고 있는데, 

과거의 기억을 더듬어보면 최신 우분투에선 CodeDeploy가 잘 작동하지 않았던 것으로 기억한다.

그래서 우분투 20.04 버전으로 만들었다.

2️⃣ 인스턴스 유형

인스턴스 별로 다양한 버전이 제공되고 버전에 따라 다르게 금액이 나온다!

사이드 프로젝트에서만 사용할 것이니 프리티어면 충분할 것 같다.

3️⃣ 키 페어

이 프로젝트에서는 SSH 접속을 잘 사용하지 않았어서 굳이 필요가 없겠다 싶어서 과감히 넘겼다.

보안에 민감하거나 오랫동안 배포를 해둘 생각이라면 키 페어가 하나 있어도 괜찮을 것 같다.

4️⃣ 네트워크 설정

DNS 설정 들어갈 때 다시 한번 해줄 생각이라서 default 설정만 해주었다.

5️⃣ 스토리지 설정

프리티어 버전에서는 30기가까지 제공해 준다! 제공해 준다는 거 안 쓸 이유는 없을 것 같다.


🪄 탄력적 IP

인스턴스의 IP는 고정적이지 않다. 중지하고 다시 실행시키면 변경되기 때문이다.

클라이언트 측에 고정된 IP를 제공해 주기 위해서 설정해야 하는 것이 바로 탄력적 IP이다.

크게 많은 작업을 요구하진 않는다. 바로 진행해 보겠다!

1️⃣ 탄력적 IP 할당하기

우선 EC2 콘솔에서 메뉴를 찾은 다음 부가 설정 없이 바로 할당해 주면 된다.

2️⃣ 인스턴스에 연결하기

만든 IP가 인스턴스에 자동적으로 연결될 리 없으니 연결 작업이 필요하다.

메뉴를 찾은 다음 만들어둔 인스턴스에 연결해 주면 된다.

작업 > 탄력적 IP 주소 연결


🛡️ 보안 그룹 만들기

방화벽 설정과 비슷하다고 생각하면 된다! 크게 어려운 작업은 없다.

1️⃣ 보안 그룹 생성

인바운드와 아웃바운드를 아래와 같이 설정해 주었다. 추후에 추가적으로 변경될 것 같다!

2️⃣ 보안 그룹 연결하기

인스턴스 메뉴에서 보안 설정에 들어가서 기존에 있던 default 보안 그룹을 없애고 새로 만든 보안 그룹을 넣어주면 된다.

작업 > 보안 > 보안 그룹 변경


⚙️ 우분투 환경설정

지금 프로젝트에서는 jar 파일을 실행해 줄 거라서 java의 설치가 필수적이다.

17 버전을 사용하고 있기 때문에 인스턴스에 접속해서 17 버전으로 설치해줘야 한다.

따로 SSH를 사용해서 접속하는 게 아니기 때문에 브라우저를 통해서 연결한 후 다음 명령어를 입력해 주면 된다.

$ sudo apt update # apt 업데이트
$ sudo apt install openjdk-17-jre-headless

추가로, 시간대가 UTC로 되어있기 때문에 서울로 설정해주는게 좋다.

다음 명령어를 입력하자!

sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

😋 지극히 개인적인 블로그지만 훈수와 조언은 제 성장에 도움이 됩니다 😋

댓글