AWS ELASTIC BEANSTALK 배포 방법
Source: Dev.to
개요
AWS Elastic Beanstalk은 관리형 클라우드 서비스로, 기본 인프라스트럭처에 신경 쓰지 않고 웹 애플리케이션을 배포하고 실행할 수 있게 해줍니다. Java, Python, Node.js, PHP, .NET, Ruby, Go, Docker 등 다양한 언어와 플랫폼을 지원합니다. 주요 장점은 최소한의 설정으로 빠르게 배포할 수 있고 트래픽에 따라 자동으로 스케일링된다는 점입니다.
사전 요구 사항
- AWS 계정
- AWS Management Console에 대한 접근 권한
단계별 배포
1. 환경 티어 선택
AWS Management Console에서 Create a new environment를 선택하고 다음 티어 중 하나를 고릅니다:
- Web server environment – 웹사이트, 웹 애플리케이션 또는 HTTP 요청을 제공하는 웹 API를 실행합니다.
- Worker environment – 장기 실행 작업을 필요에 따라 또는 일정에 따라 처리하는 워커 애플리케이션을 실행합니다.
2. 애플리케이션 세부 정보 제공
- Application name:
Stockwebapp - Environment name: (자동으로 생성됨, 예:
Stockwebapp‑env)
3. 플랫폼 선택
코드베이스에 맞는 플랫폼을 선택합니다. 예: Node.js.
4. 인스턴스 설정 구성
- Service role: 기존 Elastic Beanstalk 서비스 역할(
aws-elasticbeanstalk-service-role)을 만들거나 선택합니다. 이 역할은 Elastic Beanstalk이 사용자를 대신해 AWS 리소스를 관리하도록 허용합니다. - EC2 instance profile role: EC2 인스턴스 프로파일 역할(
aws-elasticbeanstalk-ec2-role)을 사용합니다. 이 역할은 애플리케이션을 실행하는 EC2 인스턴스에 연결됩니다. - Key pair: EC2 키 페어를 생성합니다(공개 키는 인스턴스에 저장되고, 개인 키는 SSH 접근에 사용).
네트워킹
- 인스턴스가 인터넷에서 접근 가능해야 한다면 Public IP address를 활성화합니다.
- 환경에 맞는 subnets, routing, security groups를 선택합니다.
5. 데이터베이스 및 태그 (선택 사항)
- 필요하면 데이터베이스를 추가합니다.
- 리소스 관리를 위해 필요한 태그를 추가합니다.
- Next를 클릭하여 진행합니다.
6. 인스턴스 유형
- 인스턴스 유형을 선택합니다(기본 옵션에는
t3.micro와t3.small이 포함됩니다).
7. AMI 선택
- AMI ID는 기본값 그대로 두고 진행합니다.
8. 상태 모니터링
- Health Monitoring 아래에서 Enhanced를 선택합니다.
- CloudWatch Custom Metrics에서 드롭다운을 이용해
ApplicationLatencyP50및ApplicationLatencyP75와 같은 메트릭을 선택합니다.
9. 검토 및 시작
- 모든 설정을 검토합니다.
- Create environment를 클릭합니다.
- Elastic Beanstalk이 리소스를 프로비저닝하는데 일반적으로 5분 정도 소요됩니다.
결론
위 단계를 따르면 애플리케이션을 위한 완전 관리형 Elastic Beanstalk 환경이 설정됩니다. 서버 프로비저닝, 스케일링, 상태 모니터링을 자동으로 처리해 줍니다.