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

mak*_*sij 5 configuration logging amazon-web-services aws-cli

我正在尝试通过我的 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]: 
Run Code Online (Sandbox Code Playgroud)

因此,我转到我的 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凭据或配置停止给我错误?

小智 5

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
Run Code Online (Sandbox Code Playgroud)

输入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
Run Code Online (Sandbox Code Playgroud)

现在,我在 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"
    }
]
Run Code Online (Sandbox Code Playgroud)

希望有帮助。