2012-06-18 2 views
2

나는이 단계를 사용하여 설정 자동 확장이 ...자동 확장 : 새로 생성 된 인스턴스 항상 OutOfService

$ ELB 만들 파운드 autoscalelb --headers --listener "의 lb-포트 = 80, 인스턴스 포트 = 80, 프로토콜 = HTTP "--listener "의 lb-포트 = 443, 인스턴스 포트 = 443, 프로토콜 = TCP "--availability-영역 우리 동쪽-1D

$ ELB-설명 - 파운드 autoscalelb

$ elb-register-instances-with-lb autoscalelb --instances i-ee364697

$ ELB - 구성 - 상태 검사 autoscalelb --headers --target "TCP : 80" --interval 5 --timeout 3 --unhealthy 임계 값이 --healthy 임계 4

$ 시스 - create-launch-config autoscalelc --image-id ami-baba68d3 - 인스턴스 유형 t1.마이크로

$로 만들 오토 스케일링 그룹 autoscleasg의 --availability-영역 우리 동쪽-1D --launch-구성 autoscalelc --min 크기 1 --max-크기 5 --desired- 용량 1 --load-밸런서가

을 autoscalelb

$ 자동 스케일링 그룹으로-설명-

을 autoscleasg

$로-넣어 스케일링 정책 MyScaleUpPolicy --auto 스케일링 그룹 autoscleasg --adjustment = 1 --type ChangeInCapacity --cooldown 300

$ mon-put-metric-alarm MyHighCPUAlarm --comparison- 운영자 GreaterThanThreshold - 평가 기간 1 - 계량 이름 CPUUtilization - 이름 공간 "AWS/EC2"--period 600 --statistic 평균 - 임계 값 80 --alarm-actions arn : aws : autoscaling : us- 동쪽-1 : 616,259,365,041 : scalingPolicy : 46c2d3b3-7f29-42b6-ab64-548f45de334f : autoScalingGroupName/autoscleasg : policyName이/MyScaleUpPolicy --dimensions "AutoScalingGroupName = autoscleasg"

$로-넣어 스케일링 정책 MyScaleDownPolicy의 --auto -scaling 그룹 autoscleasg --adjustment = -1 --type ChangeInCapacity 300

$ --cooldown 월은-넣어 메트릭 경보 MyLowCPUAlarm --comparison 연산자 LessT hanThreshold - 평가 기간 1 - 계명 CPUUtilization --namespace "AWS/EC2"--period 600 --statistic 평균 - 임계 값 50 --alarm-actions arn : aws : autoscaling : us-east-1 : 616,259,365,041 : scalingPolicy : 30ccd42c-06fe-401A-8b8f-a4e49bbb9c7d : autoScalingGroupName/autoscleasg : policyName이/MyScaleDownPolicy --dimensions "AutoScalingGroupName = autoscleasg"이 후

내가이 명령을 실행 해요 :

$ as-describe-auto-scaling-groups autoscleasg --headers

012 3,516,

응답 :

AUTO-SCALING-GROUP GROUP-NAME 출시-CONFIG 가용성 - 지역 autoscalelc 로드 밸런서 MIN-SIZE MAX-SIZE 원함 용량 AUTO-SCALING-GROUP의 autoscleasg 우리 동쪽-1D
autoscalelb 1 5 1 INSTANCE INSTANCE-ID 가용성-ZONE STATE 상태 발사-CONFIG INSTANCE I-acf48bd5 우리 동쪽-1D INSERVICE 건강한 autoscalelc 다음

그리고 :

,536

INSTANCE_ID INSTANCE_ID STATE DESCRIPTION
REASON-CODE INSTANCE_ID I-ee364697의 INSERVICE의 N/A
: 91,363,210 는

$ ELB-서술 인스턴스 보건 autoscalelb 그것은 도시

을 --headers 해당 없음 INSTANCE_ID i-acf48bd5 OutOfService 인스턴스가 적어도 에서 상태 확인의 UnhealthyThreshold 수에 실패했습니다. 인스턴스

내 첫 번째 문제는 다음과 같습니다 홈페이지 인스턴스에는 부하가 없을 때

자동으로 한 별도의 인스턴스를 만듭니다.

둘째, 새로 만든 인스턴스는 항상 OutOfService입니다.

나는 다음 명령을 사용하여 0으로 최소 크기를 변경하는 경우 : 미국 동부-1D autoscleasg --launch 구성 autoscalelc의 --availability-영역을

$로 업데이트 - 자동 스케일링 그룹 - 라는 우수한 성능을 나타내었다 크기 0 --max-크기 5

젠 사용하여 인스턴스의 부하를 넣어하려고 :

HG 클론 http://xenbits.xensource.com/xen-unstable.hg

인스턴스를 자동으로 만들지 않습니다. 5 세션까지 위의 명령을 실행 중이더라도 CPU 사용률은 100 %에 도달하지만 아직 인스턴스가 생성되지 않습니다.

제발 도와주세요 ...

답변

2

나는 당신이 무엇을 달성하고자하는 확실하지 오전하지만 트래픽 증가 또는 감소에 따라 더 인스턴스를 추가하는 오토 스케일링 기능을 사용하려는 경우, 당신은 부하 분산 매개 변수를 사용해야합니다 (즉, 지연) :
--namespace = 'AWS/ELB'
--metric 이름 대기 시간
--period 60 (이 매우 빠르게)
--threshold 2.0에

변경 당신 (매우 낮음)

작동하는지 테스트하려면 Apache Bench를 사용하여 여러 마이크로 인스턴스에서 아래 명령을 실행하십시오.

$ ab -n 10000 -c 10 http://<your ELB>.us-east-1.elb.amazonaws.com/index.php 
관련 문제