AWS - 找不到 Cloudfront 堆栈

AWS - Cannot find a Cloudfront stack

我在使用 AWS CLI 时遇到了一个非常奇怪的问题。我从我的主配置文件创建了一个新的 IAM 用户,并为该用户提供了 AdministratorAccess 以允许该用户使用 CloudFormation 脚本创建 AWS 资源。

我刚刚创建了一个包含 VPC 资源的新堆栈。堆栈应该在 eu-west-2 中创建,因为我收到以下消息:

{
    "StackId": "arn:aws:cloudformation:eu-west-2:350027292717:stack/emajarstack/a3b07fd0-8d1e-11ea-9ac5-060e4e394d84"
}

如果我使用我的主要 AWS 配置文件登录,我看不到在 eu-west-2 区域中创建的任何堆栈。 我什至尝试 运行 几个 CLI 命令来列出或描述我的堆栈,但显然没有创建堆栈:

$ aws cloudformation list-stacks
{
    "StackSummaries": []
}

$ aws cloudformation describe-stacks --stack-name emajarstack
An error occurred (ValidationError) when calling the DescribeStacks operation: Stack with id emajarstack does not exist

有趣的是我无法创建相同的堆栈,因为我收到以下消息:

An error occurred (AlreadyExistsException) when calling the CreateStack operation: Stack [emajarstack] already exists

问题是:

此消息不保证堆栈将成功创建:

"StackId": "arn:aws:cloudformation:eu-west-2:350027292717:stack/emajarstack/a3b07fd0-8d1e-11ea-9ac5-060e4e394d84"

这里有两种可能性:

1 - 99% 确定您的堆栈创建失败是因为模板或其他方面的某些问题(例如限制、依赖项),这就是它未显示的原因,请在控制台中查看更多详细信息。它可能处于 roll_back 完成状态,因此如果您看不到控制台,请使用此标志:

aws cloudformation list-stacks --stack-status-filter ROLLBACK_COMPLETE

2 - 使用列表命令指定正确的区域,因为您的 CLI 将在默认区域中查找,这可能与您的堆栈所在的区域不同。

编辑:另外,运行 aws sts get-caller-identity 以确保您使用的是具有足够权限的正确用户。