2017-01-27 9 views
0

私は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を追加する必要があると思います:

答えて

3

私はEBSを見て、私はT2のミクロスがサポートされていることを確認していないインスタンスを最適化。

関連する問題