繁体   English   中英

无法通过 terraform AWS 提供商访问 AWS 帐户——无效的 AMI

[英]Unable to access AWS account through terraform AWS provider -- invalid AMI

AWS 菜鸟在这里。 我无法在管理控制台的哪个位置找到访问令牌。 我可以访问秘密密钥和访问密钥,但显然 API 访问 AWS 也需要访问令牌,我在门户网站上的任何地方都找不到

附加信息:我正在寻找的是一种通过 AWS 提供的管理控制台创建和销毁令牌的方法。 我实际上正在了解 terraform AWS 提供商,它需要访问密钥、密钥和令牌。

在 inte.net 上搜索答案,很明显可以使用 SDK 创建和销毁这些令牌。我正在寻找一种通过管理控制台本身创建此令牌的简单快捷的方法。 这可能吗?

在没有令牌的情况下访问 AWS 资源会出现以下错误:

aws_instance.sl-ec2-01: Creating...
╷
│ Error: creating EC2 Instance: InvalidAMIID.NotFound: The image id '[ami-07ffb2f4d65357b42]' does not exist
│       status code: 400, request id: 53057722-210e-46fa-89e3-2484f35ab263
│
│   with aws_instance.sl-ec2-01,
│   on ec2-instance.tf line 1, in resource "aws_instance" "sl-ec2-01":
│    1: resource "aws_instance" "sl-ec2-01" {

这是我从门户网站检索到的确切 ami。 我的 terraform 代码片段用于在 ap-south-1 区域配置新虚拟机:

resource "aws_instance" "sl-ec2-01" {
    instance_type = "t2.micro"
    ami = "ami-07ffb2f4d65357b42"
}

更新 2:原来我没有更改区域信息,这就是 AMI 不匹配的原因。 它现在已经正确地旋转了一个图像。

IAM User 只有一个Access Key和一个Secret Key

但是,如果您使用 AWS Security Token Service (STS) 创建临时凭证,那么还会提供一个令牌

例如,使用您的 IAM 用户凭证调用AssumeRole()以从 IAM 角色获得特权,您将获得:

  • 访问密钥
  • 密钥
  • 访问令牌

显然,对应于特定操作系统风格的 AMI(机器映像)因地区而异。 虽然我更改了我的区域,但我没有更改 AMI。 这就是我犯的错误。

将操作系统的 AMI 更改为我的新区域的 AMI 后,它起作用了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM