클라우드

AWS Elastic Beanstalk

탁재민 2024. 5. 29. 22:16
애플리케이션을 쉽고 빠르게 배포하고 관리할 수 있는 서비스
코드를 업로드하면 자동으로 인프라를 프로비저닝하고, 로드 밸런싱, 스케일링, 모니터링 등을 수행하여 애플리케이션을 실행

주요 기능

1. 자동 프로비저닝

  • 인프라 구성: Elastic Beanstalk는 애플리케이션을 실행하기 위해 필요한 모든 리소스를 자동으로 설정
    • EC2 인스턴스
    • Elastic Load Balancer
    • Auto Scaling 그룹
    • RDS 데이터베이스 (선택)
  • 애플리케이션 배포: 코드 업로드 시 자동으로 빌드, 배포, 설정.

2. 다양한 플랫폼 지원

  • 프로그래밍 언어 및 프레임워크: Java, .NET, Node.js, PHP, Python, Ruby, Go, Docker 등
  • 웹 서버 및 애플리케이션 서버: Apache, Nginx, Passenger, Tomcat

3. 관리 및 모니터링

  • AWS Management Console: 콘솔을 통해 애플리케이션 관리
  • CloudWatch 통합: 애플리케이션 성능 및 상태 모니터링
  • Elastic Beanstalk 대시보드: 애플리케이션 상태, 로그, 모니터링 데이터를 한 눈에 확인

4. 확장성 및 가용성

  • 자동 스케일링: 트래픽 변화에 따라 자동으로 EC2 인스턴스 수를 조정
  • 로드 밸런싱: Elastic Load Balancer를 통해 트래픽을 분산시켜 가용성 및 성능 최적화
  • 다중 가용 영역 지원: 고가용성 애플리케이션 배포를 위한 다중 가용 영역 설정

5. 보안

  • IAM 통합: 세분화된 접근 제어를 위한 IAM 역할 및 정책 지원
  • VPC 통합: VPC 내에서 애플리케이션을 실행하여 네트워크 보안 강화
  • SSL/TLS: HTTPS를 통해 애플리케이션 트래픽 암호화
  • 자동 백업 및 복구: RDS 데이터베이스의 자동 백업 및 복구 지원

6. 비용

  • 사용한 만큼 지불: Elastic Beanstalk에서 사용한 리소스에 대해서만 비용 부과
  • 자동 스케일링: 필요에 따라 리소스를 자동으로 조정하여 비용 최적화

설정 및 관리

1. 애플리케이션 생성

  • 콘솔에서 생성: AWS Management Console에서 새로운 애플리케이션 생성
  • 플랫폼 선택: 지원되는 언어 및 프레임워크 선택
  • 코드 업로드: 로컬 파일 또는 S3 버킷에서 애플리케이션 코드 업로드

2. 환경 설정

  • 환경 타입 선택: 웹 서버 환경 또는 작업자 환경 선택
  • 설정 옵션: 인스턴스 타입, 용량, 데이터베이스, 로드 밸런서, VPC 설정 등 구성
  • 환경 생성: 설정 완료 후 환경 생성 버튼 클릭

3. 배포 및 업데이트

  • 버전 관리: 배포 버전을 관리하고 이전 버전으로 롤백 가능
  • 자동 배포: 새로운 코드를 업로드하면 자동으로 빌드 및 배포
  • Blue/Green 배포: 최소 다운타임으로 새로운 버전 배포

4. 모니터링 및 로깅

  • 모니터링 설정: CloudWatch와 통합하여 애플리케이션 성능 및 상태 모니터링
  • 로그 액세스: 애플리케이션 로그를 실시간으로 확인하고 분석
  • 알림 설정: 특정 조건에서 경고를 받기 위한 알림 설정

5. 보안 관리

  • IAM 역할 설정: 인스턴스에 대한 IAM 역할 할당
  • SSL/TLS 설정: HTTPS를 위한 SSL/TLS 인증서 구성
  • 네트워크 보안: 보안 그룹 및 VPC 설정을 통해 네트워크 접근 제어