AWS EC2 + SWAP + RDS + Jenkins (1)

yeonn·2024년 1월 15일
0

백엔드 서버 구축

목록 보기
1/3

K-POP 아이돌 팬덤을 위한 커뮤니티 웹 어플리케이션을 제작하는 프로젝트를 시작했다.
이번 프로젝트를 진행하면서 경험해보지 못한 것을 해보고 싶었다.
그래서 백엔드 서버 구축을 담당해보았다.
남들은 몇 시간 안에 구축할 수 있는 서버였지만, 난 완전 노베이스였기 때문에 거의 2주라는 시간이 소요됐었다..🥲
그래도 나름 성공적으로 서버 구축을 완료했기 때문에 기록으로 남겨보려고 한다.

AWS EC2 서버 생성

AWS(아마존) : https://aws.amazon.com/ko/?nc2=h_lg
먼저, AWS에서 회원가입 및 로그인을 해준다.
검색창에서 ec2를 검색하고, 왼쪽 사이드 바에서 인스턴스를 누른다.
오른쪽 상단 인스턴스 시작(주황색버튼)을 눌러 서버 생성을 시작할 수 있다.

(1) 이름 및 태그

인스턴스의 이름을 입력해준다.
본인이 알아볼 수 있는 이름으로 만들어주면 된다.

(2) Application and OS Images (Amazon Machine Image)

서버의 OS(운영체제)를 설정해준다.
나는 Ubuntu를 선택했고, Ubuntu는 Linux기반이기 때문에 서버 내에서 Linux 명령어를 사용한다.
ec2는 유료버전, 무료버전이 있다.
Amazon Machine Image(AMI)에서 프리티어라고 적혀있는 것이 무료버전이다.
나는 Ubuntu Server 22.04 프리티어를 사용했다.

(3) 인스턴스 유형

인스턴스 유형도 마찬가지로 무료버전인 프리티어를 사용했다.
프리티어는 t2.micro 밖에 없기 때문에 무료버전을 사용할 것이라면 해당 유형을 선택하면 된다.

(4) 키 페어(로그인)

서버에 접속하기 위해서는 반드시 키 페어가 필요하다.
새 키 페어 생성을 눌러서 키 페어를 새롭게 생성해준다.

키 페어를 구분할 수 있는 키페어 이름을 입력해준다.
키 페어 유형은 RSA를 선택해준다.
프라이빗 키 파일 형식에서 나는 .pem파일로 선택해주었다.
나는 맥북이기 때문에 .pem파일로 사용하는 것이 편했다.
(만약, 윈도우라면 서버를 실행할 때 PuTTY를 사용하기 때문에 .ppk파일을 사용하는 것이 편할 것이다.)
입력을 완료했으면 키 페어 생성(주황색버튼)을 눌러 키 페어를 생성해준다.

(5) 네트워크 설정

네트워크 설정을 해주기 위해서 편집을 누른다.

VPC / 서브넷 / 퍼블릭 IP 자동 할당 / 방화벽(보안 그룹)은 값을 변경하지 않는다.
보안 그룹 이름설명은 알아볼 수 있는 이름, 설명으로 입력해준다.
인바운드 보안 그룹 규칙에서 유형은 ssh로, 소스 유형은 위치 무관으로 설정해준다.
그리고 보안 그룹 규칙 추가를 눌러서 보안 그룹을 하나 더 추가해준다.
유형은 사용자 지정 TCP로, 포트 범위는 스프링부트에서 설정한 포트 번호로, 소스 유형은 위치 무관으로 설정해준다.

(6) 스토리지 구성

기본 숫자 8로 입력되어 있는데, 이를 30으로 변경해준다.
8 -> 30으로 변경
고급 세부 정보, 요약은 변경한 것 없이 기본값들 그대로 두었다.
스토리지 구성까지 설정해주면 모든 설정이 완료되었다.
오른쪽 하단 인스턴스 시작(주황색 버튼)을 누르면 드디어 서버가 생성된다..!!

생성된 서버는 왼쪽 사이드 바에서 인스턴스를 누르면 확인할 수 있다.


이렇게 AWS EC2를 활용해 서버를 생성해보았다.
서버를 생성했지만, 여기서 한 가지 아쉬운 상황이 남아있다.
인스턴스 ID를 눌러 서버의 정보를 확인해보면 퍼블릭 IPv4 주소가 있다.


해당 서버를 사용하는 모든 사용자들은 퍼블릭 IPv4 주소를 통해 서버에 접근할 수 있다.

그런데, 해당 서버를 중지시키고(=인스턴스 중지) 재실행하게 되면 퍼블릭 IPv4 주소가 변경된다.

퍼블릭 IPv4 주소는 서버가 중지되고 재실행될 때마다 변경된다는 뜻이다.
그렇게 된다면 서버에 접속할 때마다 굉장히 불편할 것이다.
그래서 퍼블릭 IPv4 주소를 하나로 고정시켜놔야 편리하다.
따라서, 탄력적 IP까지 설정한 후 서버 생성을 마무리해보려고 한다.

탄력적 IP 설정

왼쪽 사이드 바에서 네트워크 및 보안 - 탄력적 IP를 누른다.

오른쪽 상단 탄력적 IP 주소 할당(주황색 버튼)을 누른다.

어떤 설정도 변경하지 않고 오른쪽 하단 할당(주황색 버튼)을 눌러준다.

탄력적 IP 주소가 할당이 되면 왼쪽 사이드 바에서 네트워크 및 보안 - 탄력적 IP를 눌러 할당된 탄력적 IP 주소를 확인할 수 있다.

할당된 탄력적 IP 주소를 체크하고 작업(흰색 버튼)을 눌러 탄력적 IP 주소 연결을 누른다.

이제 탄력적 IP 주소와 내가 만든 서버(=인스턴스)를 연결할 수 있다.
인스턴스의 돋보기 창에서 내가 만든 서버(=인스턴스)를 선택해주고, 오른쪽 아래 연결(주황색 버튼)을 누른다.

그러면 내가 만든 서버(=인스턴스)와 탄력적 IP 주소가 연결된다.
마지막으로 인스턴스에서 퍼블릭 IPv4 주소 -> 탄력적 IP 주소로 바뀌어있는지 확인해주면 된다.
이로써 백엔드 서버 생성은 최종적으로 완료되었다..🥹


서버 접속(Mac 버전)

서버를 생성했으니 이젠 서버에 접속을 시도해보자..!
먼저, 터미널을 열고 아래 형식으로 명령어를 작성해준다.
(입력 시 대괄호는 빼고 입력)

ssh -i [.pem 키 페어 파일 경로] [ubuntu@탄력적 IP 주소]

위의 명령어를 입력했을 때,
Are you sure you want to 어쩌구 저쩌구~~ 가 뜨면 yes 입력 후 엔터를 누른다.

warning 경고가 뜨면 키 페어가 너무 많이 오픈되어있기 때문에 아래 형식으로 명령어를 작성해 권한을 변경해주어야 한다.
(입력 시 대괄호는 빼고 입력)

chomd 600 [.pem 키 페어 파일 경로]

권한을 변경해주었으면, 서버 접속 명령어를 입력해 서버 접속을 시도하면 된다.


주의할 점 두둥⚠️

서버(=인스턴스)에 탄력적 IP 주소를 연결했기 때문에 서버를 중지시키면 프리티어라도 과금이 부과될 수 있다..!
이 점 유의하길 바란다!!

다음 피드에서는 생성한 서버에 swap 메모리를 설정하는 방법에 대해 기록해보겠다.


레퍼런스
참고1_AWS EC2 생성
참고2_AWS EC2 생성
참고3_AWS EC2 생성

profile
개발자에 꽉 눌러 붙은 국문과생

0개의 댓글