在哪里可以获得适合 AWS 配置的正确“区域名称”和“输出格式”?

在哪里可以获得适合 AWS 配置的正确“区域名称”和“输出格式”?

我正在尝试通过我的 aws 服务器获取日志事件。我像往常一样登录服务器,然后输入以下命令:

sudo aws logs get-log-events --log-group-name <myLogs> --log-stream-name <stream-name>

我收到错误...

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

因此,我输入aws configure后看到以下内容:

AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: 
Default output format [None]: 

因此,我转到我的 IAM 页面,然后Users单击指示。创建密钥后,我从以下来源获取四条信息:

Access Key ID从 IAM 页面。 Secret Access Key在 IAM 页面上创建密钥后。

IAM 页面显示N/A字段region nameoutput format,因此我不确定从哪里获取region namedefault format。因此我输入了以下内容:

region name= us-west-2 output format=json

再次尝试,我输入 sudo aws logs get-log-events --log-group-name <myLogs> --log-stream-name <sream-name --region us-west-2

..但我再次收到相同的错误消息: You must specify a region. You can also configure your region by running aws configure

我如何找到正确的region nameoutput format?更一般地说,如何让我的aws凭证或配置不再出现错误?

答案1

AWS Access Key ID [None]: enter key id
AWS Secret Access Key [None]: enter access key
Default region name [None]: enter region code for instance connected with
Default output format [None]: leave empty or not

输入必须Default region name与你尝试连接的实例的区域相匹配。你可以留空 -output format它只会询问你希望输出的格式,但它会输出你输入的命令的默认格式。

在这里,我尝试查找有关位于 us-west-2 的实例的一些信息,但是我在 aws configure 中输入了 us-east-1 作为默认区域,因此出现错误。

[root@ip-444-21-27-145 lost+found]# aws configure
AWS Access Key ID [****************IDBA]: 
AWS Secret Access Key [****************BHLx]: 
Default region name [us-west-2]: us-east-1
Default output format [None]: 
[root@ip-444-21-27-145 lost+found]# aws ec2 describe-instances --instance-id i-0a6a6b7e24er203f0 --query 'Reservations[].Instances[].{Name:ImageId,InstanceId:InstanceId,VolumeInfo:BlockDeviceMappings}'

An error occurred (InvalidInstanceID.NotFound) when calling the DescribeInstances operation: The instance ID 'i-0a6a6b7e24er203f0' does not exist

现在,我在 aws configure 中输入我的实例区域,命令返回我想要的内容。

[root@ip-444-21-27-145 lost+found]# aws configure
AWS Access Key ID [****************IDBA]: 
AWS Secret Access Key [****************BHLx]: 
Default region name [us-east-1]: us-west-2
Default output format [None]: 
[root@444-21-27-145 lost+found]# aws ec2 describe-instances --instance-id i-0a6a6b7e24er203f0 --query 'Reservations[].Instances[].{Name:ImageId,InstanceId:InstanceId,VolumeInfo:BlockDeviceMappings}'
[
    {
        "InstanceId": "i-0a6a6b7e24er203f0", 
        "VolumeInfo": [
            {
                "DeviceName": "/dev/xvda", 
                "Ebs": {
                    "Status": "attached", 
                    "DeleteOnTermination": true, 
                    "VolumeId": "vol-0aa40d5ef1df76968", 
                    "AttachTime": "2017-11-09T02:00:31.000Z"
                }
            }, 
            {
                "DeviceName": "/dev/sdf", 
                "Ebs": {
                    "Status": "attached", 
                    "DeleteOnTermination": false, 
                    "VolumeId": "vol-0a82823250ba51323", 
                    "AttachTime": "2017-11-09T02:09:29.000Z"
                }
            }, 
            {
                "DeviceName": "/dev/sdg", 
                "Ebs": {
                    "Status": "attached", 
                    "DeleteOnTermination": false, 
                    "VolumeId": "vol-0be466f7daa5593e2", 
                    "AttachTime": "2017-11-09T02:35:46.000Z"
                }
            }
        ], 
        "Name": "ami-32d8124a"
    }
]

希望有所帮助。

答案2

根据AWS CLI 文档

--region (string)

The region to use. Overrides config/env settings.

因此,只需--region us-east-1在命令中添加 a 或其他内容,就可以了。

相关内容