私はboto3
ライブラリを使用するPython 2スクリプトを持っています。Python forループ内でインスタンスの型を変更するときのエラー
基本的にはインスタンスIDのリストがあり、各インスタンスのタイプをc4.xlargeからt2.microに変更する必要があります。
このタスクを実行するには、modify_instance_attribute
メソッドを呼び出します。
私はなぜ知らないが、私のスクリプトは、次のエラーメッセージでハングアップ:
EBSに最適化されたインスタンスがあなたの要求された構成はサポートされていません。ここで
私の一般的なシナリオです:
change_instance_type('id-929102')
def change_instance_type(instance_id):
client = boto3.client('ec2')
response = client.modify_instance_attribute(
InstanceId=instance_id,
InstanceType={
'Value': 't2.micro'
}
)
:
は、私は以下のこのようなコードの部分を持っていると言います
すべてが問題なく動作します。私は、次の
instances_list = ['id-929102']
for instance_id in instances_list:
change_instance_type(instance_id)
のようなループのためにそれを実行している場合、十分な
しかし、奇妙な、私は上記のエラーメッセージが表示されます(つまり、EBSに最適化されたインスタンスは、あなたの要求された構成ではサポートされません)と私スクリプトは死ぬ。
これはどうして起こりますか?
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
私はあなたにもEbsOptimized=false
を追加する必要があると思います: