서론
지난 2주 2023 GDSC 해커톤을 진행하면서 프론트엔드와 백엔드의 연동을 진행하게 되었습니다. 이 과정에서 저는 Amazon Web Services(AWS)의 Elastic Compute Cloud(EC2)를 사용해 배포했습니다. EC2는 스케일링에 유연하고 관리가 편리한 서비스로 알려져 있습니다. 이번 기회를 통해 EC2의 사용법을 기록해두려 합니다.
1. 인스턴스 생성
먼저, AWS 사이트에 로그인한 후 우측 상단에 위치한 리전 드롭다운에서 서울 리전을 선택합니다. 이는 서버의 물리적 위치를 의미하며, 사용자와 가까운 리전을 선택하면 더 빠른 네트워크 속도를 얻을 수 있습니다. 그 후, 서비스 탭에서 EC2를 검색하여 EC2 관리 콘솔로 이동합니다.
콘솔의 오른쪽 상단에 있는 '인스턴스 시작' 버튼을 클릭하여 새 인스턴스를 시작합니다.
인스턴스의 이름을 지정해줍니다. 인스턴스의 이름은 이후 관리를 위해 명확하게 지정하는 것이 좋습니다.
다음으로는 운영체제로 Ubuntu LTS를 선택합니다. LTS는 Long Term Support의 약자로, 장기간 지원이 보장되는 안정적인 버전을 의미합니다. 아키텍처는 64비트를 선택합니다. 이는 대부분의 현대 컴퓨터 시스템과 호환되는 설정입니다.
인스턴스 유형은 무료로 사용할 수 있는 t2.micro를 선택합니다. 이 유형은 작은 웹서버 또는 개발 환경에 적합한 리소스를 제공합니다.
키 페어는 서버에 접속하기 위한 인증 정보를 담은 파일입니다. 기존에 생성된 키가 있다면 그것을 선택하거나, 없다면 '새 키 페어 생성' 버튼을 눌러 키 페어를 생성합니다.
키 페어의 이름을 설정한 뒤 생성을 누르면 키 페어가 다운로드됩니다. 키 페어는 두번 다시 다운로드 받을 수 없으므로 잘 보관해야 합니다.
네트워크 설정은 인스턴스의 보안을 관리하는 부분입니다. 기존에 생성된 보안 그룹이 있다면 그것을 선택하거나, 없다면 새로 생성해야 합니다. 이후에 필요에 따라 보안 그룹 설정을 변경할 수 있습니다.
스토리지는 무료 티어에서 지원하는 최대 범위인 30 GiB를 설정하고, 볼륨 유형은 데이터를 저장하는 드라이브의 유형인 범용 SSD(gp2)를 선택합니다.
이렇게 설정한 후, '인스턴스 시작' 버튼을 클릭하면 인스턴스가 생성되고 서버가 시작됩니다.
💡 인스턴스 생성 시 과금을 피하려면 체크해야 할 리스트
- 애플리케이션 및 OS 이미지 : Ubuntu LTS(프리티어 사용 가능), 64비트(x64)
- 인스턴스 유형 : t2.micro
- 스토리지 구성 : 1x 30 GiB gp2
생성된 인스턴스는 콘솔의 대시보드에서 확인할 수 있습니다.
1-1. 보안 그룹 설정하기
이 과정은 새로운 보안 그룹을 생성하여 인스턴스를 생성한 경우에만 필요합니다.
왼쪽 사이드바의 '보안 그룹' 메뉴를 선택하면 새로운 보안 그룹을 생성할 수 있습니다.
인스턴스 생성과 유사하게 보안 그룹을 생성을 눌러줍니다.
보안 그룹의 이름과 설명을 작성합니다.
보안 그룹의 인바운드 규칙을 설정합니다. 인바운드 규칙은 외부에서 인스턴스로의 접근을 제어하는 규칙입니다. 아웃바운드 규칙은 인스턴스에서 외부로의 접근을 제어하는 규칙이지만, 이번에는 설정하지 않겠습니다.
마지막으로, 생성한 보안 그룹을 인스턴스에 적용하고 기존 보안 그룹은 제거합니다.
2. 우분투 콘솔에 접속하기
이제 생성된 인스턴스에 연결하도록 하겠습니다. 인스턴스를 선택하고 연결 버튼을 눌러 줍니다.
터미널을 열고 키 페어 파일이 위치한 디렉토리로 이동합니다. 그리고 아래 명령어를 입력하여 키 파일의 권한을 변경합니다.
chmod 400 sshKeyAWS.pem
그 다음, AWS에서 제공하는 명령어를 입력하여 EC2 인스턴스에 접속합니다. 이 때, 주소는 본인의 인스턴스 주소로 변경하여 입력해야 합니다.
ssh -i "sshKeyAWS.pem" ubuntu@ec2-13-209-35-116.ap-northeast-2.compute.amazonaws.com
이런 화면이 나오면 접속 성공입니다. 이제 다음 포스팅에서 git 프로젝트를 clone하고 빌드 후 실행까지 시켜보도록 하겠습니다.
참고