2017-05-08 1 views
1

특정 태그가있는 자동 확장 그룹 목록을 가져 오려고했습니다. 아래 스크립트가이를 수행합니다.AWS CLI 또는 Python을 사용하여 자동 확장 그룹의 인스턴스 수를 늘립니다.

#!/usr/bin/python 

import boto3 
import base64 
import time 

client = boto3.client('autoscaling', region_name='us-west-2') 
paginator = client.get_paginator('describe_auto_scaling_groups') 
page_iterator = paginator.paginate(
    PaginationConfig={'PageSize': 100} 
) 

filtered_asgs = page_iterator.search(
    'AutoScalingGroups[] | [?contains(Tags[?Key==`{}`].Value, `{}`)]'.format(
     'Application', 'CCP') 
) 

for asg in filtered_asgs: 
# print asg['AutoScalingGroupName'] 

이제 출력 목록에서 각 ASG의 인스턴스 수를 두 배로 늘리려고합니다. 새로운 AMI로 새로운 시작 구성을 가지고 있으며 이미이 ASG에 밀어 넣었습니다. 이제 인스턴스 수를 두 배로 늘리면이 ASG 내에서 새 AMI와 함께 새 인스턴스를 만드는 것입니다. 인스턴스 카운트 두 배로하는 방법에 대한 제안하십시오 ..

답변

0

을이 일을 위해 먼저 한 업데이트 된 이미지-ID에 대한 새 실행 구성을 만들 발사 구성을 수정할 수 없기 때문에 :

aws autoscaling create-launch-configuration \ 
--launch-configuration-name my-launch-config \ 
--image-id ami-c6169af6 --instance-type m1.medium 

그리고 생성 부속 출시 구성을 자동 크기 조정으로 변경

update-auto-scaling-group \ 
--auto-scaling-group-name <value> \ 
--launch-configuration-name <value> \ 
--min-size <value> --max-size <value> 

이렇게하면 no. 인스턴스 및 모든 새 인스턴스가 새 이미지로 표시됩니다.

그러나 이전 인스턴스는 모두 이전 이미지 ID로 유지되므로 실행 구성이 업데이트되면 해당 인스턴스를 삭제해야합니다.

인스턴스를 삭제하면 자동 크기 조정이 새로운 이미지 ID로 새 인스턴스를 회전시킵니다.

이 업데이트를 수행하는 방법을 롤링 업데이트라고합니다.


다른 방법은 새로운 스택이 준비되면

  1. 가 하나 개의 새로운 시작 구성
  2. 즉시 새로운 자동 스케일링 그룹에

을 만들을 만들 수있는 파란색 - 녹색 접근 방법이다 ELB에 부착하거나 오래된 접근법을 사용하거나 지우고 접근하십시오. 당신이 당신의 모든 인스턴스가 이미 생성 된 새로운 LC 스크립트로 한 모든 시간은 두 번째 방법

+0

갈 동기화되도록하려면

: 자신의 사용 사례를해야합니다

두 가지 접근법은 사용 요구 사항에 따라 달라집니다 새로운 AMI ID. 괜찮습니다. 나는 새로운 ASG에서 인스턴스 카운트를 두 배로 늘려야한다. 이 --auto-스케일링 그룹 이름을 사용 --launch 구성 이름 \ --min 크기 --max-크기 ' \ \ '갱신 자동 스케일링 그룹 이건 내가 알고있는 인스턴스의 특정 번호를 설정할 수 있습니다. 하지만이 ASG에서 인스턴스의 수를 얻고 스크립트 내에서이 인스턴스를 두 배로 늘리려면 어떻게해야합니까? – Ashfaq

+0

설명 자동 확장을 사용하여 자동 확장 매개 변수를 가져올 때 MinSize 및 MaxSize를 얻을 수 있습니다. – jzaa

관련 문제