2017-05-08 10 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のインスタンス数を2倍にしようとしています。私は新しいAMIを使って新しい起動設定を持っており、私は既にこのASGにプッシュしています。インスタンス数を2倍にすると、このASG内で新しいAMIで新しいインスタンスを作成することになります。あなたが起動構成を変更することはできませんので、更新画像-ID用の新しい起動設定を作成する必要が最初にこれを行うために...インスタンス数を倍増する方法について

答えて

0

を提案してください:

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を2倍にします。新しいインスタンスがすべて新しいインスタンスになります。

しかし、すべての古いインスタンスはまだ古いイメージIDを持っていますので、起動コンフィギュレーションが更新されると、そのインスタンスを削除する必要があります。

インスタンスを削除すると、自動スケーリングは新しいイメージIDで新しいインスタンスをスピンアップします。

このアップデートの方法は、ローリングアップデートと呼ばれます。中


  1. 他の方法が青緑色であるアプローチは1つの新しい起動構成

  2. を作成するとすぐにあなたの新しいスタックの準備ができているように、新しい自動スケーリンググループ

を作成あなたのELBにそれを添付するか、あなたが近づいてきたものが古いものを使い、削除しています。あなたはすべてのインスタンスは、私がすでに作成された新しいLCにスクリプト化したすべての時間は、第二のアプローチ

+0

のために行く同期したい場合は

:自分自身のユースケースを持っています

両方のアプローチは、ご利用の要件に依存します新しいAMI IDでそれは結構です。私は新しいASGのインスタンス数を2倍にしています。 --minサイズ \ --launchな設定名 \ --auto-スケーリンググループ名 \ 'アップデート - 自動スケーリンググループ --max-サイズ' 使い方これは私が知っているインスタンスの特定の数を設定することができます。しかし、これらのASGでインスタンスの数を取得し、スクリプト内で倍増するにはどうすればよいですか。 – Ashfaq

+0

describe-autoscalingを使用すると、自動拡張パラメータを取得することができます。MinSizeとMaxSizeを取得します – jzaa

関連する問題