我試圖重新啓動遠程實例:EC2實例重新啓動 - 實例ID不存在
ec2 = boto.connect_ec2(aws_access_key_id = key_id, aws_secret_access_key = access_key)
ec2.reboot_instances([instanceId])
,並得到了錯誤The instance ID 'i-xxxxx' does not exist
貌似我應該連接到區域 - 我怎樣才能得到這個值如果實例ID是唯一的輸入參數?
我試圖重新啓動遠程實例:EC2實例重新啓動 - 實例ID不存在
ec2 = boto.connect_ec2(aws_access_key_id = key_id, aws_secret_access_key = access_key)
ec2.reboot_instances([instanceId])
,並得到了錯誤The instance ID 'i-xxxxx' does not exist
貌似我應該連接到區域 - 我怎樣才能得到這個值如果實例ID是唯一的輸入參數?
你的實例是否處於運行狀態?嘗試使用下面的命令: - 如訪問密鑰,祕密訪問密鑰和區域相關的信息
reservations = ec2_conn.get_all_instances(filters={'instance-id' : 'i-xxxxxxxx'})
new_instance = reservations[0].instances[0]
證書應的代碼之外進行配置。這是爲了確保可移植性。
boto3查找憑據的機制是搜索可能位置的列表,並在找到憑據後立即停止。其中Boto3搜索證書的順序是:
boto.client()
方法~/.aws/credentials
)~/.aws/config
)/etc/boto.cfg
和~/.boto
)如果腳本本身在EC2實例中運行,則最佳做法是依賴將採用IAM角色的實例元數據。
假設你從本地機器調用腳本,最簡單的方法是修改~/.aws/credentials
運行$ aws configure
並指定該區域。
閱讀更多:http://boto3.readthedocs.io/en/latest/guide/configuration.html