Team project/'AdvICE' 웹 서비스 프로젝트

[AdvICE] AWS EC2 인스턴스를 통해 (SpringBoot 프로젝트를 위한) 서버 구축

kanado 2024. 9. 24. 16:24

목차

1. Region을 서울로 변경

2. 보안 그룹 설정

3. EC2 인스턴스 생성

3.1 키 페어 및 PEM 파일 설정

3.2 네트워크 설정: 보안 그룹 지정

4. 인스턴스 접속

 


1. Region을 서울로 변경

AWS에서 리전(Region)은 지리적으로 서로 다른 위치에 있는 데이터 센터 그룹을 의미한다. 리전에 따라 인스턴스의 관리 설정 및 비용이 달라지므로 주의해야 한다. 이번 가이드에서는 서울 리전을 기준으로 인스턴스 생성을 진행하겠다.

참고: AWS는 전 세계 여러 위치에 리전을 배치하여 최적의 성능과 가용성 제공

2. 보안 그룹 설정

보안 그룹 구성은 쉽게 방화벽을 설정하는 단계라고 생각하면 된다. 네트워크를 통해 해당 인스턴스에 어떤 접속방식을 어디까지 허용할지 설정해준다.

  1. AWS 콘솔의 좌측 메뉴에서 보안 그룹을 선택하여 "보안 그룹 관리" 페이지로 이동하여 보안 그룹 생성 버튼을 누른다.

   

  2. 설정은 다음과 같이 진행한다.

  • VPC: 기본 VPC로 설정
  • 인바운드 규칙 설정:
    • SSH: 관리자가 로컬 터미널에서 EC2에 접속할 수 있도록 설정한다. (관리자의 공인 IP 주소)
      • 기본값은 SSH 접속을 22번 포트를 사용하여 IP 0.0.0.0/0, 즉 모든 IP의 사용자가 접속할 수 있도록 설정되어 있다.
    • HTTPS: 웹 서버를 통해 HTTPS로 안전한 통신을 제공하기 위해 443번 포트를 열어준다.
      • 인바운드 규칙에 HTTPS 프로토콜을 추가하고, 소스 IP는 필요에 따라 제한하거나 기본값인 0.0.0.0/0으로 설정한다.
    • 사용자 지정 TCP: 특정 애플리케이션이 사용하는 포트를 열어준다.
      • 예를 들어, 애플리케이션 서버가 8080번 포트를 사용한다면 인바운드 규칙에 TCP 프로토콜과 포트 범위 8080을 추가하고, 소스 IP를 설정한다.
주의: 보안 강화를 위해 인바운드 규칙에서 허용되는 IP 주소 범위를 가능한 한 좁게 설정하는 것이 좋다. 필요한 경우에만 특정 포트를 열고, 사용하지 않는 포트는 닫아두는 것이 안전하다.

3. EC2 인스턴스 생성

 

AWS EC2 클라우드 컴퓨팅 서비스의 개념

Amazon Web Services(AWS)의 EC2는 클라우드 환경에서 확장 가능하고 안전한 컴퓨팅 용량을 제공하는 대표적인 서비스이다. 물리적인 서버 하드웨어를 구매하거나 유지 관리할 필요 없이, 필요에 따라

kanado2000.tistory.com

 

  1. 좌측 메뉴에서 인스턴스를 선택한 후, 우측 상단의 인스턴스 시작 버튼을 클릭한다.

   

   2. 인스턴스 설정 단계에서 다음을 설정한다.

  • 이름: 인스턴스를 구분할 수 있도록 원하는 이름으로 설정
  • AMI 선택: 프로젝트에 적합한 Amazon Machine Image(AMI)를 선택 (여기서는 ubuntu를 선택했다)
AMI : 서버에 필요한 운영체제와 다양한 소프트웨어로 구성된 탬플릿

 

  • 인스턴스 유형 및 사이즈: 서비스의 특성에 맞게 선택 (여기서는 가장 작고 간단한 t2.micro를 선택했다)

3.1 키 페어 및 PEM 파일 설정

  1. 키 페어 선택 또는 생성 단계에서 새로운 키 페어를 생성하고 PEM 파일을 다운로드받는다.
    • 키 페어 이름: 원하는 대로 설정
중요: 이 파일은 EC2 인스턴스에 접속할 때 사용되므로 안전하게 보관해야 하며, PEM 파일은 한 번만 다운로드할 수 있으므로 분실하지 않도록 주의
PEM 파일이란? 
개인 키(Private Key)를 포함하는 파일로 SSH 또는 RDP를 통해 EC2 인스턴스에 접근할 때 사용된다.

원리: 사용자는 개인 키(PEM 파일)를 사용하여 SSH 또는 RDP를 통해 EC2 인스턴스에 접근합니다. 이때, 개인 키가 인스턴스에 저장된 공개 키와 매칭되면 사용자는 인스턴스에 접속할 수 있게 된다.




3.2 네트워크 설정: 보안 그룹 지정

  1. 보안 그룹에서 이전에 생성한 보안 그룹을 선택한다.

4. 인스턴스 접속

인스턴스가 시작되고 상태 검사가 완료되면, SSH를 통해 인스턴스에 접속해볼 차례다.

  • PEM 파일 준비
    • 다운로드한 PEM 파일을 프로젝트의 루트 폴더 또는 원하는 위치에 저장
    • 이후 터미널에서 파일 권한을 400으로 변경(예: chmod 400 명령어로 파일을 읽기 전용으로 설정)
chmod 400 your-key.pem

(your-key.pem은 다운로드한 PEM 파일의 이름이다.)

  • SSH로 인스턴스 접속
    • 터미널에서 다음 명령어를 실행합니다:
ssh -i /path/to/your-key.pem ec2-user@your-ec2-instance-ip

( /path/to/your-key.pem은 PEM 파일의 경로고, your-ec2-instance-ip는 인스턴스의 퍼블릭 IPv4 주소다)

 

끝!