카테고리 없음

AWS EC2 인스턴스 배포 가이드: 인프라 구성 및 설정 단계별 설명

idea9329 2024. 9. 26. 22:10
반응형
 

 

EC2 인스턴스를 배포하기 위해서는 VPC 설정, 서브넷, 보안 그룹 등의 인프라 구성부터 시작해 인스턴스 생성 및 애플리케이션 설치까지 일련의 과정을 거쳐야 합니다. 이 가이드는 AWS 콘솔을 통해 EC2 인스턴스를 설정하고 배포하는 전체 과정을 단계별로 상세히 설명합니다.


1. VPC 및 서브넷 설정

EC2 인스턴스는 VPC(Virtual Private Cloud)와 서브넷 내에 배포됩니다. 회사의 네트워크 구조에 맞춰 이미 설정된 VPC와 서브넷을 사용한다고 가정합니다. VPC는 가상 네트워크를 설정하는 공간으로, 올바른 서브넷을 선택하여 스테이징 및 프로덕션 환경을 나누어야 합니다.

  1. VPC 선택: EC2 인스턴스가 배포될 VPC를 선택합니다.
  2. 서브넷 선택: 스테이징 및 프로덕션 용도로 서브넷을 구분하여 선택합니다.

2. EC2 인스턴스 생성 절차

a. EC2 인스턴스 생성

  1. AWS 콘솔에 로그인EC2 서비스로 이동합니다.
  2. 인스턴스 시작 버튼을 클릭합니다.
  3. AMI(Amazon Machine Image) 선택: 원하는 OS를 선택합니다. 일반적으로 Amazon Linux 2Ubuntu를 사용합니다.
  4. 인스턴스 유형 선택: 기본적으로 t2.micro와 같은 저사양 인스턴스를 선택합니다. 필요에 따라 유형을 조정할 수 있습니다.
  5. VPC 및 서브넷 설정: 설정한 VPC서브넷을 선택합니다.
  6. 퍼블릭 IP 활성화 여부: 퍼블릭 IP가 필요한지 여부를 결정합니다. 로드 밸런서를 사용할 경우 퍼블릭 IP가 필요하지 않을 수 있습니다.

b. 보안 그룹 설정

  • HTTP/HTTPS(80/443): 웹 서버에 외부 접근을 허용하기 위해 HTTP/HTTPS 포트를 열어야 합니다.
  • SSH(22): SSH를 통해 EC2 인스턴스에 접근하기 위해 포트를 열지만, 허용된 IP 대역에서만 접근할 수 있도록 제한하는 것이 좋습니다.
  • 스테이징과 프로덕션 환경에 맞게 보안 그룹을 설정합니다.

c. 스토리지 설정

  • EBS(Elastic Block Store) 볼륨을 EC2 인스턴스에 연결합니다. 디스크 크기는 애플리케이션의 필요에 따라 조정할 수 있습니다.

d. 태그 설정

  • 인스턴스 구분을 위해 태그를 설정합니다. 예를 들어, Name 태그에 Prod 또는 Staging을 추가합니다.

e. 키 페어 생성 및 선택

  • EC2 인스턴스에 SSH로 접속하기 위한 키 페어를 생성하거나 기존 키 페어를 선택합니다.

f. 인스턴스 시작

  • 모든 설정이 완료되면 인스턴스 시작 버튼을 눌러 EC2 인스턴스를 생성합니다.

3. 애플리케이션 설치 및 설정

  1. SSH 접속: 생성된 인스턴스에 SSH로 접속하여 웹 애플리케이션 및 필요한 패키지를 설치합니다.
  2. 웹 서버 설치: Nginx 또는 Apache와 같은 웹 서버를 설치합니다.
  3. 애플리케이션 배포: 코드 및 애플리케이션을 인스턴스에 배포하고 설정합니다.
  4. Docker 사용: Docker를 사용하는 경우, Docker 및 Docker Compose를 설치하여 컨테이너 환경에서 애플리케이션을 운영합니다.

4. Auto Scaling Group 설정

  • 트래픽 변화에 따라 EC2 인스턴스를 자동으로 확장/축소하기 위해 Auto Scaling Group을 설정합니다.
  • Launch Configuration을 통해 EC2 인스턴스를 추가하고, Auto Scaling Group이 설정한 기준에 따라 인스턴스를 늘리거나 줄입니다.

5. Application Load Balancer(ALB)와 연결

  • 트래픽을 분산 처리하기 위해 **Application Load Balancer(ALB)**를 설정합니다.
  1. ALB 생성: AWS 콘솔에서 ALB를 생성합니다.
  2. Target Group 설정: 스테이징 및 프로덕션 인스턴스를 각각의 Target Group에 추가합니다.
  3. 로드 밸런싱 구성: ALB가 EC2 인스턴스로 들어오는 트래픽을 분산시킵니다.
  4. Route 53 설정: Route 53을 사용하여 도메인 이름을 ALB와 연결합니다.

6. EC2 인스턴스 접근 확인

  • 모든 설정이 완료된 후, ALB를 통해 EC2 인스턴스에 접근할 수 있는지 확인합니다.
  • 스테이징 및 프로덕션 환경에서 정상적으로 애플리케이션이 작동하는지 테스트합니다.

7. RDS 연결 설정

  • 애플리케이션에서 데이터베이스에 접근하기 위해 RDS와 연결을 설정합니다.
  1. RDS 데이터베이스 생성 또는 기존 RDS 인스턴스에 연결합니다.
  2. EC2 인스턴스와 RDS 간의 네트워크 연결을 위해 보안 그룹을 설정하고, 애플리케이션이 데이터베이스에 접근할 수 있도록 구성합니다.

이제 기본적인 네트워크, 인스턴스, 데이터베이스 설정이 완료되었습니다. 추가적으로 GitHub Actions를 사용해 배포 자동화를 설정하고, Auto Scaling을 통해 무중단 배포 환경을 구축할 수 있습니다.

반응형