web-dev-qa-db-ja.com

ec2-describe-instance-status Client.InvalidInstanceID.NotFoundですが、インスタンスが存在することを知っています

いくつかのAmazonAWS CLIツール(EC2、Auto Scaling、MONitoring、ELB)をセットアップしました。ツールは正しくセットアップされ、完全に機能します。私の環境変数はすべて設定されており、このQに関連するものは次のとおりです。

export EC2_REGION=eu-west-1
export EC2_URL=https://ec2.$EC2_REGION.amazonaws.com
export AWS_ELB_URL=https://elasticloadbalancing.$EC2_REGION.amazonaws.com

いずれかのインスタンスに対してec2-describe-instance-status i-XXXXXXXXを実行すると、次のようになります。

Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist

インスタンスIDが存在することを知っており、AWS Webコンソールからコピーしました。これは、eu-west-1リージョンにあり、環境変数はこのリージョンに設定されています。

私の人生の間、なぜそれが私のインスタンスを見つけられないのか理解できません。私が間違っていることを明白に示しているものはありますか?

更新:x509 cert/pkを再作成するとこれが解決しました...何らかの理由で。

21
BoomShaka

私も同じ問題を抱えていました。コマンドの領域を定義していなかったためです。すべてのリージョンのすべてのインスタンスが一覧表示されると想定しましたが、デフォルトはus-west-1であり、インスタンスはありません。

アイルランドの私のマシンを説明するために、私は以下を使用します。

ec2-describe-instances --region eu-west-1
注:AWSアクセスキーとシークレットを他の場所で定義しています。

今後この問題を回避するために、LinuxおよびWindowsマシンで 環境変数 を介してリージョンを設定しました:EC2_URL=https://ec2.eu-west-1.amazonaws.comコマンドで明示的にする必要がないように、ライン。

2014年5月の更新ホームフォルダの~/.aws/configファイルに次の行を追加して地域を設定することもできます(Windowsではテストされていません) 。これは、特にVMとコンテナーで、現在私の推奨する方法です。

[default]
region = eu-west-1

詳細については、 公式ドキュメントはこちら を参照してください。

38
Jujhar Singh

奇妙な問題-ソフトウェア開発で何か奇妙なことに遭遇したときはいつものように、最初に仮定に疑問を投げかける必要があります。

インスタンスIDが存在することを知っており、AWS Webコンソールからコピーしました。これは、eu-west-1リージョンにあり、環境変数はこのリージョンに設定されています。

したがって、インスタンスIDは、使用する環境とは異なる環境に由来します。代わりに、同じ環境を介してインスタンスIDを取得しようとします。

ec2-describe-instances

私は、リストがあなたが期待しているインスタンスを返さないだろうと思い切って思います。これは、別のアカウントに属するAWS認証情報を使用しているか、これらの認証情報に必要な Amazon EC2 読み取り権限がないことを示します IAMポリシー など。

3
Steffen Opel

私の場合、~/.aws/credentialsに2セットの資格情報がありました。資格情報タグを指定するには、

aws ec2 describe-instances --instance-id <your-instance-id> --profile <your-profile-name> --region <your-region>

1
Daisuke Aramaki

それは非常に単純な問題です。このエラーが発生した場合

Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist

次に、手順に従います。

  1. インスタンスがどの国の地域であるかを確認してください 画像はこちら

次に、root@Indian:~# aws configureと入力します

入る

AWS Access Key ID [****************D7M2]:

AWS Secret Access Key [****************2h3r]:

Default region name [us-east-1]:

デフォルトのリージョンを要求されたら、インスタンスが存在するリージョンを変更します。例:us-east-2。次に、Enterキーを押します。実際、これらは利用可能なリージョン名「RegionNames」のリストです。

 "Regions": [
    {
        "RegionName": "ap-south-1",
        "Endpoint": "ec2.ap-south-1.amazonaws.com"
    },
    {
        "RegionName": "eu-west-2",
        "Endpoint": "ec2.eu-west-2.amazonaws.com"
    },
    {
        "RegionName": "eu-west-1",
        "Endpoint": "ec2.eu-west-1.amazonaws.com"
    },
    {
        "RegionName": "ap-northeast-2",
        "Endpoint": "ec2.ap-northeast-2.amazonaws.com"
    },
    {
        "RegionName": "ap-northeast-1",
        "Endpoint": "ec2.ap-northeast-1.amazonaws.com"
    },
    {
        "RegionName": "sa-east-1",
        "Endpoint": "ec2.sa-east-1.amazonaws.com"
    },
    {
        "RegionName": "ca-central-1",
        "Endpoint": "ec2.ca-central-1.amazonaws.com"
    },
    {
        "RegionName": "ap-southeast-1",
        "Endpoint": "ec2.ap-southeast-1.amazonaws.com"
    },
    {
        "RegionName": "ap-southeast-2",
        "Endpoint": "ec2.ap-southeast-2.amazonaws.com"
    },
    {
        "RegionName": "eu-central-1",
        "Endpoint": "ec2.eu-central-1.amazonaws.com"
    },
    {
        "RegionName": "us-east-1",
        "Endpoint": "ec2.us-east-1.amazonaws.com"
    },
    {
        "RegionName": "us-east-2",
        "Endpoint": "ec2.us-east-2.amazonaws.com"
    },
    {
        "RegionName": "us-west-1",
        "Endpoint": "ec2.us-west-1.amazonaws.com"
    },
    {
        "RegionName": "us-west-2",
        "Endpoint": "ec2.us-west-2.amazonaws.com"
    }
]
}

Default output format [None]:

出力形式を空白のままにして、Enterキーを押します。これで完了です

コンソールで「

root@Indian-3543:~# aws ec2 describe-instance --instance-id i-06343434322t

幸せを幸せにする

1
imran

私も同様の問題を抱えていました。それが役立つと思う人のために、ここに解決策を書きます。

私は数時間の間このエラーで立ち往生しました。

Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist

最後に、何が起こっているのかを見つけました。デフォルトのリージョン(米国東部(バージニア州北部))とは異なるリージョンにインスタンスがあり、この情報を更新する必要がありました。デフォルトでは、コマンドはデフォルト領域のインスタンスのみを検索します。

ドキュメントのセクション(オプション)で説明されています:リージョンを設定しますhttp://docs.aws.Amazon.com/AWSEC2 /latest/UserGuide/SettingUp_CommandLine.html

1
Miquel

EC2_URLを「 https://ec2.ap-southeast-1.amazonaws.com 」から「ec2.ap-southeast-1.amazonaws.com」に変更することでこれを修正しました

0
Mark Khor