amazon web services - example - ec2-describe-instance-status Client.InvalidInstanceID.NotFound pero sé que existe una instancia
default output format aws cli (5)
Cuestión extraña: como es habitual cuando se encuentra algo extraño en el desarrollo de software, primero se deben cuestionar los supuestos:
SÉ que el ID de instancia existe, lo copié fuera de la consola web de AWS, está en la región eu-west-1 y mis variables de env están configuradas en esta región.
Por lo tanto, el ID de instancia proviene de un entorno diferente al que quiere usar en él. En su lugar, intentaría derivar el ID de instancia a través del mismo entorno, es decir:
ec2-describe-instances
Me atrevo a suponer que la lista no devolverá las instancias que está esperando. Esto indicaría que está utilizando credenciales de AWS que pertenecen a otra cuenta o que estas credenciales no tienen los permisos de lectura de Amazon EC2 necesarios asignados a través de políticas de IAM, por ejemplo.
He configurado algunas de las herramientas de AWS CLI de Amazon (EC2, Auto Scaling, MOnitoring y ELB). Las herramientas están configuradas correctamente y funcionan perfectamente. Mis variables de entorno están configuradas, las relevantes para esta Q son:
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
Cuando ejecuto ec2-describe-instance-status i-XXXXXXXX
para ALGUNA de mis instancias, obtengo:
Client.InvalidInstanceID.NotFound: The instance ID ''i-XXXXXXXX'' does not exist
SÉ que el ID de instancia existe, lo copié fuera de la consola web de AWS, está en la región eu-west-1 y mis variables de env están configuradas en esta región.
Por mi vida, no puedo entender por qué no encontrará mis instancias. ¿Hay algo evidente que estoy haciendo incorrectamente?
ACTUALIZACIÓN: recrear x509 cert / pk resolvió esto ... por alguna razón.
Es un problema muy simple. Si está recibiendo este error
Client.InvalidInstanceID.NotFound: The instance ID ''i-XXXXXXXX'' does not exist
Luego sigue los pasos.
- Verifique en qué país de su país se ve la imagen aquí.
Ahora ingrese root@Indian:~# aws configure
Entrar
AWS Access Key ID [****************D7M2]:
AWS Secret Access Key [****************2h3r]:
Default region name [us-east-1]:
Cuando se le pregunte por la región predeterminada, cambie la región en la que residen las instancias. Por ejemplo: nosotros-este-2. Luego presione Enter. En realidad, esta es la lista de nombres de región disponibles "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]:
Deje el formato de salida en blanco y presione Enter. Ahora que has terminado
Ahora en la consola solo escribe
root@Indian-3543:~# aws ec2 describe-instance --instance-id i-06343434322t
HAZ QUE FELIZ SEA FELIZ
Lo solucioné cambiando EC2_URL de '' https://ec2.ap-southeast-1.amazonaws.com '' a ''ec2.ap-southeast-1.amazonaws.com''
Tuve un problema similar y escribo aquí la solución para cualquiera que pueda encontrarlo útil.
Me quedé atascado con este error durante algunas horas.
Client.InvalidInstanceID.NotFound: The instance ID ''i-XXXXXXXX'' does not exist
Finalmente, encontré lo que estaba sucediendo: tuve mi instancia en una región diferente a la región predeterminada (este de los Estados Unidos (norte de Virginia)) y tuve que actualizar esta información. Por defecto, los comandos solo buscan instancias en la región predeterminada.
Se explica en los documentos, sección (Opcional): establezca la región http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html
Yo tuve el mismo problema. Fue porque no estaba definiendo una región para mis comandos. Asumí que enumeraría todas las instancias en todas las regiones, pero por defecto es us-west-1
y no tengo ninguna instancia allí.
Para describir mis máquinas en Irlanda utilizo lo siguiente:
ec2-describe-instances --region eu-west-1
NB: Estoy definiendo mi clave de acceso de AWS y mi secreto en otra parte.
Para evitar este problema, ahora he configurado mi región a través de una variable de entorno en mis máquinas con Linux y Windows: EC2_URL=https://ec2.eu-west-1.amazonaws.com
para que no tenga que Ser explícito en la línea de comando.
Actualización de mayo de 2014 También puede configurar la región agregando las siguientes líneas al archivo ~/.aws/config
en su carpeta de inicio (no probada en Windows). Este es mi método preferido ahora, especialmente en mis VM y contenedores:
[default]
region = eu-west-1
Para obtener más información, consulte los documentos oficiales aquí.