【问题标题】:Error "You must specify a region" when running any aws CLI command运行任何 aws CLI 命令时出现错误“您必须指定一个区域”
【发布时间】:2015-05-23 21:18:09
【问题描述】:

我正在尝试按照 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_GetStarted.html 中的文档使用 aws 容器服务

运行命令时抛出以下错误:

aws ecs list-container-instances --cluster default

You must specify a region. You can also configure your region by running "aws configure".

文档没有提到任何关于指定默认区域的内容。我们如何在控制台中做到这一点?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-cli


    【解决方案1】:

    我认为你需要使用例如:

    aws ecs list-container-instances --cluster default --region us-east-1
    

    这当然取决于您所在的地区。

    【讨论】:

      【解决方案2】:

      “您必须指定一个区域”不是 ECS 特定的错误,它可能发生在任何 AWS API/CLI/SDK 命令中。

      对于 CLI,设置 AWS_DEFAULT_REGION 环境变量。例如

      export AWS_DEFAULT_REGION=us-east-1

      或将其添加到命令中(每次使用特定于区域的命令时都需要它)

      AWS_DEFAULT_REGION=us-east-1 aws ecs list-container-instances --cluster default

      或设置在CLI configuration file: ~/.aws/config

      [default]
      region=us-east-1
      

      或使用 CLI 调用传递/覆盖它:

      aws ecs list-container-instances --cluster default --region us-east-1

      【讨论】:

      • 对于所有可用变量,请参阅:AWS CLI Configuration Variables
      • 我遇到了类似的问题,我已经正确设置了AWS_REGION,但我收到了这个错误。添加AWS_DEFAULT_REGION 解决了它。
      • 就我而言,我使用aws-azure-login 登录,随后aws <foo> <bar> 还需要同时提供区域 配置文件,例如--region us-east-1 --profile my-login-profile。只是想提一下,以防其他人遇到同样的情况。
      • 如果要调用通过无服务器在本地运行的 lambda,为什么需要一个区域?
      【解决方案3】:

      #1- 运行此命令以一劳永逸地配置区域:

      aws configure set region us-east-1 --profile admin
      
      • 更改个人资料旁边的admin(如果不同)。

      • 如果您所在的地区不同,请更改 us-east-1

      #2- 再次运行您的命令:

      aws ecs list-container-instances --cluster default
      

      【讨论】:

      • 这不是运行aws configure 或编辑.aws/config,是唯一对我有用的东西
      • 在这个 https 证书管理生态系统中,服务器、权限、浏览器和客户端之间的信息污染非常密集。这是一个 rube Goldberg 机器,到处都有演员将错误信息的沙子扔进齿轮里,让你失望。我花了几天的时间研究只是为了找到这些东西如何工作的可靠信息,更不用说设置 HTTPS 的简单可靠的说明了。我想这就是未来计算的样子,谷歌搜索不再返回关于如何执行重要操作的可靠和真实的说明。
      【解决方案4】:

      只是为了添加 Dimitrov 和 Jason 先生的答案,如果您使用的是特定配置文件并且您已将您的区域设置放在那里,那么对于您需要添加的所有请求

      “--profile”选项。

      例如:

      假设您有 AWS Playground 配置文件,而 ~/.aws/config 有 [profile playground] 进一步有类似的东西,

      [profile playground] region=us-east-1

      然后,使用类似下面的东西

      aws ecs list-container-instances --cluster default --profile playground

      【讨论】:

        【解决方案5】:

        我发布得太早了,但是下面的链接给出了配置方法

        http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

        获取访问密钥的方法在下面的链接中给出

        http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html#cli-signup

        【讨论】:

        • 它是否仅适用于完成它的特定 ec2 实例?
        【解决方案6】:

        如果您已在 .aws/config.aws/credentials 中配置了所有需要的内容,但仍然出现此错误 - 请仔细检查方括号中的名称。

        config 中应该是[profile myLovelyAccName],在credentials 中应该是[myLovelyAccName]

        注意两点:

        • 仅在 config 文件中的“配置文件”一词和后面的一个空格
        • acc 名称中没有拼写错误!

        【讨论】:

          猜你喜欢
          • 2016-06-19
          • 2020-08-02
          • 1970-01-01
          • 2021-12-31
          • 1970-01-01
          • 2017-03-15
          • 2019-07-11
          • 2022-08-18
          • 1970-01-01
          相关资源
          最近更新 更多