2012-03-03 2 views
2

내 경우는 다음과 같습니다. 약 100 개의 EC2 인스턴스가 있으며 모든 사람이 Java 응용 프로그램 (Java SE 응용 프로그램, Java EE 응용 프로그램이 아님)을 실행하며 모든 인스턴스에 내 병합 된 jar 파일과 라이브러리를 배포 한 다음 응용 프로그램을 만듭니다. 모든 사람의 응용 프로그램에서 실행됩니다. 응용 프로그램은 수시로 변경되므로이 작업을 수행하는 데 2 ​​시간을 소비해야합니다.약 100 개의 EC2 인스턴스에 Java 응용 프로그램을 배포하는 방법은 무엇입니까?

이 작업을 자동으로 수행하는 데 도움이되는 관리 도구 또는 소프트웨어가 있는지,이 응용 프로그램을 배포하기위한 연습은 무엇입니까?

AWS 개발을위한 자동 배포 워크 플로가 있습니까?

답변

3

자바를 사용하고 있으므로 AWS Elastic Beanstalk을 활용할 수 있습니다.

개발 라이프 사이클 :

가 같은 페이지에 더 많은 기사 링크가 있습니다

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/using-features.managing.html

, 아마 그들 모두 그러나이 읽기해야합니다

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_Java.sdlc.html

는 환경 관리 내가 가장 많이 느끼는 두 가지는 당신의 질문입니다. 나는이 제품을 사용하지 않았으므로 직접 경험할 수는 없지만 정확한 문제를 해결할 수 있도록 설계되었습니다.

+0

Elastic Beanstalk은 WAR 파일에서만 작동하며 JAR에 패키지 된 일반 Java 응용 프로그램과는 작동하지 않습니다. – Max

4

무료 및 경량 배포 도구 인 Kwatee (http://www.kwatee.net)는 EC2 인스턴스와 탄력적 인 부하 분산을 지원합니다. 작은 EC2 배치 here의 짧은 스크린 캐스트가 있습니다.

+0

덕분에, 아주 멋진 시스템처럼 보입니다. 순수한 Java SE 어플리케이션을 지원합니까? – user1246500

+0

모든 파일/실행 파일을 배포하며 완전히 언어에 구애받지 않습니다. 배포는 ssh를 통해 이루어지며 (EC2 인스턴스에서 kwatee를 사용하고 개인 주소를 사용하는 것이 더 좋습니다) ssh 쉘에서 실행되는 배포 작업을 구성하여 설치 작업을 수행하고 프로세스를 시작 및 중지합니다. – mac

1

Boxfuse 정확히 원하는대로 수행합니다.

boxfuse create my-javase-app -apptype=load-balanced 
boxfuse scale my-javase-app -capacity=100:t2.micro 
boxfuse run my-javase-app-1.0.jar -env=prod 

  1. 새 응용 프로그램을 작성하고 100 T2에
  2. 규모를 ELB를 사용하도록 구성 : 자바 SE 응용 프로그램에 대한

    당신은 말 그대로 실행해야 마이크로 인스턴스

  3. AMI 만들기
  4. ELB 만들기
  5. 는 인스턴스 (들)

이후의 업데이트는 다운 타임이 파란색/녹색 배포로 수행됩니다를 시작

  • 자동 스케일링 그룹
  • 만들기 보안 그룹
  • 을 만듭니다.

  • 1

    자동 구성 시작 구성 및 자동 확장 그룹을 사용하여 100 개의 EC2 인스턴스를 시작할 수 있습니다. 그러나 보류, EC2 인스턴스 유형으로 EC2 인스턴스 제한을 AWS 지원에 요청해야합니다. 일반적으로 요청을 완료하는 데 영업일 기준 1 일이 소요됩니다.

    • 먼저 AWS Console에서 자동 크기 조정 시작 구성을 생성한다고 가정합니다.AutoScaling Launch Configuration에는 유형, 저장소, 보안 그룹이 포함되며 EC2 인스턴스 실행시 실행할 스크립트를 추가 할 수 있습니다.
    • 다음은 자동 측정 그룹입니다. 자동 실행 그룹에 적합한 실행 구성을 선택해야합니다. 자동 측정 그룹 구성에서 min 및 max count (최소 카운트를 기준으로 EC2 인스턴스를 시작하고 최대 카운트까지 실행)를 언급해야합니다. CloudWatch 모니터링은 AutoScaling 그룹에 사용할 수 있습니다. CloudWatch는 EC2 인스턴스 CPU 사용률 및 경보 설정을 기반으로 작동합니다.
    • Elastic Load Balancing은 EC2 인스턴스간에 트래픽을 분산시키는 데 도움이됩니다. ELB를 사용하려면 AutoScaling Group보다 먼저 생성해야합니다. AutoScaling Group에서는 트래픽을 처리하고 배포하기 위해 ELB를 포함 할 수 있습니다.