AWS cli 包装器,它如何知道您的 ec2 实例在哪里?

AWS cli wrapper, how does it know where your ec2 instances are?

我正在使用这个 aws cli 包装器:https://github.com/hirose31/AWS-CLIWrapper

但是我无法让它工作,当我尝试使用 "describe instances" 时,错误代码显示

A client error (InvalidInstanceID.NotFound) occurred when calling the DescribeInstances
operation: The instance ID 'i-********' does not exist. 

(我加了星号)

然后我在想,它没有我的access key和secret key,它怎么知道?

我也尝试在我的构造函数中设置端点,但无济于事。谁能告诉我这是怎么回事?

use AWS::CLIWrapper;

my $aws = AWS::CLIWrapper->new(
    region => 'us-west-1',
);

my $res = $aws->ec2('describe-instances', {
        instance_ids => ['i-********'],
       });

if ($res) {
    for my $rs ( @{ $res->{Reservations} }) {
        for my $is (@{ $rs->{Instances} }) {
            print $is->{InstanceId},"\n";
        }
    }
} else {
    warn $AWS::CLIWrapper::Error->{Code};
    warn $AWS::CLIWrapper::Error->{Message};
}

我正在尝试获取命令的内容aws ec2 describe-instances

我的 ec2 实例在区域 'us-east-1c' 中,所以我更新了我的构造函数以具有 region => 'us-east-1'(请注意,我不得不放弃 'c'),这解决了我的问题。