Configuración del entorno de API y de CLI
Para poder crear una IBM Cloud® Virtual Private Cloud (VPC) mediante la API o la CLI, debe configurar el entorno.
Requisitos previos generales
-
Configure su cuenta de modo que acceda a VPC. Asegúrese de que su cuenta se haya actualizado a una cuenta de pago.
-
Asegúrese de tener una clave SSH pública, que se utilizará para conectar con la instancia de servidor virtual. Por ejemplo, genere una clave SSH en el servidor Linux con el siguiente mandato:
ssh-keygen -t rsaEste mandato genera dos archivos. La clave pública generada está en el archivo
id_rsa.pubbajo un directorio.sshdel directorio inicial como, por ejemplo,.../.ssh/id_rsa.pub.Para obtener más información, consulte Claves SSH.
Requisitos previos de la CLI
Para poder utilizar la CLI para crear la VPC, debe instalar la CLI de IBM Cloud y el plugin de la CLI de VPC.
[Obsoleto] :{: tag-deprecated}. La CLI de IBM Cloud no es compatible con LinuxONE (arquitectura de procesador s390x ). Sin embargo, puede instalar la CLI en otra plataforma soportada y utilizarla con instancias de servidor virtual LinuxONE (arquitectura de procesador s390x).
-
Instale la CLI deIBM Cloud.
-
Instale el plugin de la CLI de VPC.
ibmcloud plugin install vpc-infrastructureLas acciones de la CLI de VPC utilizan la extensión
is. Para aprender a utilizar los mandatos de la CLI, puede ejecutar los siguientes mandatos:ibmcloud is help ibmcloud is help vpc-create ibmcloud is help instance-createPara saber cómo crear recursos mediante la CLI, consulta « Creación de recursos de VPC ».
Acceso a la CLI a través del punto final privado de la API de VPC
Para establecer la CLI para utilizar el punto final privado de la API de VPC, siga estos pasos:
Si necesita descargar la CLI de IBM Cloud y los plug-ins asociados, debe poder acceder al repositorio público donde se encuentran.
-
Asegúrese de que la CLI de IBM Cloud principal y el plugin de servicio de infraestructura de VPC se hayan actualizado a la versión más reciente:
ibmcloud update ibmcloud plugin update vpc-infrastructure -
Para conmutar a la modalidad de punto final privado de la API, especifique el mandato siguiente:
ibmcloud login -a private.cloud.ibm.comActualmente, el modo de punto final privado de la API solo es compatible con las regiones
us-southyus-east.
Requisitos previos de la API
Para poder utilizar la API para crear la VPC, debe obtener una señal de IAM, almacenar el punto final como una variable y verificar que tiene acceso al servicio de la API de VPC.
En los ejemplos siguientes se utiliza el punto final regional us-south. Para ver más puntos finales de API, consulte API de Virtual Private Cloud.
Paso 1: Almacenar la clave de API como una variable
Ejecute el mandato siguiente para almacenar la clave de API correspondiente a la cuenta en una variable de entorno. Si no tiene una clave de API, consulte Creación de una clave de API.
apikey="<YOUR_API_KEY>"
Paso 2: Obtener una señal de IBM Identity and Access Management (IAM)
Ejecuta el siguiente comando para obtener y analizar un token de IAM utilizando la utilidad de procesamiento de JSON jq. Puede modificar el mandato para utilizar otra herramienta de análisis, o bien puede eliminar la última parte del mandato si prefiere analizar la señal de forma manual.
iam_token=`curl -k -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=$apikey" \
"https://iam.cloud.ibm.com/identity/token" |jq -r '(.token_type + " " + .access_token)'`
Para ver el token IAM, ejecute echo $iam_token. El resultado se parecerá al siguiente:
Bearer <your token>
La cabecera de autorización espera que la señal empiece por "Bearer". Si el resultado no incluye "Bearer", actualice la variable iam_token para incluirlo. En estos ejemplos se presupone que "Bearer"
está incluido en iam_token.
Debe repetir el paso anterior para renovar la señal de IAM cada hora, ya que la señal caduca.
Paso 3: Almacenar el punto final de la API como una variable
Ejecute el siguiente mandato para almacenar el punto final de la API en una variable para poderla reutilizar en la sesión.
Punto final público:
vpc_api_endpoint="https://us-south.iaas.cloud.ibm.com"
Punto final privado virtual:
vpc_api_endpoint="https://us-south.private.iaas.cloud.ibm.com"
Para verificar que esta variable se ha guardado, ejecute echo $vpc_api_endpoint y asegúrese de que la respuesta no esté vacía.
Para ver las regiones de punto final soportadas, consulte Puntos finales disponibles.
Paso 4: Almacenar la versión de la API como una variable
Todas las solicitudes de API deben incluir el parámetro version, con el formato YYYY-MM-DD. Ejecute el siguiente mandato para almacenar la fecha de la versión en una variable para poderla reutilizar en la sesión.
Para obtener más información sobre cómo configurar el parámetro « version », consulta la sección «Control de versiones» en la API de Virtual Private Cloud.
api_version="2019-09-30"
Para verificar que esta variable se ha guardado, ejecute echo $api_version y asegúrese de que la respuesta no esté vacía.
Paso 5: Verificar que tiene acceso a la API
Si recibe resultados inesperados, añada el distintivo --verbose (depuración) después del mandato curl para obtener información de registro detallada. Para obtener más información sobre errores comunes, consulte el
tema sobre Resolución de problemas.
-
Llame a la API GET Regions para ver las regiones disponibles para la VPC, en formato JSON. Se debe devolver al menos un objeto.
Debe enviar el parámetro
generationcon cada solicitud de API para especificar la generación que se va a utilizar. Para instancias de servidor virtual de generación 2, especifiquegeneration=2. Para obtener más información, consulta la sección «Generación» en la API de la nube privada virtual.curl -X GET "$vpc_api_endpoint/v1/regions?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" -
Llame a la API GET Zones para ver todas las zonas disponibles para la VPC en una determinada región, como por ejemplo
us-south, en formato JSON.curl -X GET "$vpc_api_endpoint/v1/regions/us-south/zones?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" -
Llame a la API GET Profiles para ver los perfiles disponibles para las instancias de servidor virtual, en formato JSON. Se debe devolver al menos un objeto.
Añada
| json_ppdespués del mandato curl para obtener una serie JSON legible. El comandojson_ppes un preprocesador JSON que suele instalarse por defecto en la mayoría de las distribuciones de Linux.curl -X GET "$vpc_api_endpoint/v1/instance/profiles?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" -
Llame a la API GET Images para ver las imágenes disponibles para sus instancias, en formato JSON. Se debe devolver al menos un objeto.
curl -X GET "$vpc_api_endpoint/v1/images?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" -
Llame a la API GET VPCs para ver las VPC que ya se han creado bajo su cuenta, en formato JSON.
curl -X GET "$vpc_api_endpoint/v1/vpcs?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token"
Para aprender a crear recursos utilizando la API, consulte Creación de recursos de VPC con CLI y API.