いくつかの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を再作成するとこれが解決しました...何らかの理由で。
私も同じ問題を抱えていました。コマンドの領域を定義していなかったためです。すべてのリージョンのすべてのインスタンスが一覧表示されると想定しましたが、デフォルトは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
詳細については、 公式ドキュメントはこちら を参照してください。
奇妙な問題-ソフトウェア開発で何か奇妙なことに遭遇したときはいつものように、最初に仮定に疑問を投げかける必要があります。
インスタンスIDが存在することを知っており、AWS Webコンソールからコピーしました。これは、eu-west-1リージョンにあり、環境変数はこのリージョンに設定されています。
したがって、インスタンスIDは、使用する環境とは異なる環境に由来します。代わりに、同じ環境を介してインスタンスIDを取得しようとします。
ec2-describe-instances
私は、リストがあなたが期待しているインスタンスを返さないだろうと思い切って思います。これは、別のアカウントに属するAWS認証情報を使用しているか、これらの認証情報に必要な Amazon EC2 読み取り権限がないことを示します IAMポリシー など。
私の場合、~/.aws/credentials
に2セットの資格情報がありました。資格情報タグを指定するには、
aws ec2 describe-instances --instance-id <your-instance-id> --profile <your-profile-name> --region <your-region>
それは非常に単純な問題です。このエラーが発生した場合
Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist
次に、手順に従います。
次に、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
幸せを幸せにする
私も同様の問題を抱えていました。それが役立つと思う人のために、ここに解決策を書きます。
私は数時間の間このエラーで立ち往生しました。
Client.InvalidInstanceID.NotFound: The instance ID 'i-XXXXXXXX' does not exist
最後に、何が起こっているのかを見つけました。デフォルトのリージョン(米国東部(バージニア州北部))とは異なるリージョンにインスタンスがあり、この情報を更新する必要がありました。デフォルトでは、コマンドはデフォルト領域のインスタンスのみを検索します。
ドキュメントのセクション(オプション)で説明されています:リージョンを設定しますhttp://docs.aws.Amazon.com/AWSEC2 /latest/UserGuide/SettingUp_CommandLine.html
EC2_URLを「 https://ec2.ap-southeast-1.amazonaws.com 」から「ec2.ap-southeast-1.amazonaws.com」に変更することでこれを修正しました