boto3附加卷投掷卷不可用

Posted

技术标签:

【中文标题】boto3附加卷投掷卷不可用【英文标题】:botot3 attach_volume throwing volume not available 【发布时间】:2019-09-16 00:34:09 【问题描述】:

我正在尝试使用 boto3 将卷附加到实例,但它未能附加并出现以下错误

文件“/usr/local/lib/python3.7/site-packages/botocore/client.py”,第 357 行,在 _api_call 中 return self._make_api_call(operation_name, kwargs) _make_api_call 中的文件“/usr/local/lib/python3.7/site-packages/botocore/client.py”,第 661 行 raise error_class(parsed_response, operation_name) botocore.exceptions.ClientError: 调用 AttachVolume 操作时发生错误 (IncorrectState): vol-xxxxxxxxxxxxxxx is not 'available'。

我可以看到 aws 控制台中存在卷,但不知何故 boto3 无法附加卷。


os.environ['AWS_DEFAULT_REGION'] = "us-west-1"

client = boto3.client('ec2', aws_access_key_id=access_key, aws_secret_access_key=secret_key,
                          region_name='us-west-1')

response1 = client.attach_volume(
        VolumeId=volume_id,
        InstanceId=instance_id,
        Device='/dev/sdg',

    )

在导出 AWS_DEFAULT_REGION="us-west-1"

还尝试使用 os.environ['AWS_DEFAULT_REGION'] = "us-west-1" 在 python 脚本中导出相同内容,但 python 脚本失败并出现与上述相同的错误。

【问题讨论】:

你是如何创建卷的?你能按照here 的方式运行client.describe_volume_status(volume_id) 并发布结果吗? 【参考方案1】:

我想通了。创建 ebs 卷后我没有给足够的时间。添加睡眠后我现在可以附加了

【讨论】:

以上是关于boto3附加卷投掷卷不可用的主要内容,如果未能解决你的问题,请参考以下文章

使用boto3 Python SDK返回AWS EC2可用性区域属性

三年Java,真的卷不动了……

AWS ec2 根卷增加:在 aws ubuntu 实例上扩展弹性根卷不起作用

查找 EC2 实例的所有附加卷

大城市卷不动了,我要回老家!

“躺不平卷不赢”的职场中年人,还有退路吗?