Trabajar con instancias
Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts de recursos informáticos, conocidos como instancias. Puede crear instancias según sea necesario para cumplir con los requisitos de los recursos informáticos y la aplicación. Después de crear una instancia, puede acceder a ella de forma segura desde su equipo, reiniciarla, asociar y desasociar volúmenes y terminarla cuando haya finalizado.
- Creación de una instancia: siga los pasos que aparecen en este tema para crear una instancia informática dedicada o de máquina virtual (VM).
- Las instancias iniciadas con imágenes de Oracle Linux, CentOS o Ubuntu usan un par de claves SSH en lugar de una contraseña para autenticar a un usuario remoto. Por lo tanto, para conectarse a una instancia, puede que necesite crear un par de claves SSH.
- Puede crear instancias ampliables, instancias blindadas e instancias confidenciales.
- Puede configurar las instancias para que utilicen distintos tipos de capacidad.
- Puede agregar memoria extendida y núcleos a las instancias con instancias de VM de memoria extendida.
- Conexión a una instancia: puede conectarse a una instancia en ejecución mediante una conexión de shell seguro (SSH) o escritorio remoto.
- Edición de una instancia: Puede editar las propiedades de una instancia informática sin tener que recrear la instancia ni volver a desplegar las aplicaciones.
- Parada, inicio o reinicio de una instancia: puede parar e iniciar una instancia según sea necesario para actualizar el software o resolver condiciones de error.
- Sustitución de un volumen de inicio: puede sustituir automáticamente el volumen de inicio de una instancia sin terminar ni volver a crear la instancia.
- Configuración de notificaciones contextuales para una instancia: puede recibir mensajes si sucede algo relacionado con una instancia informática.
- Adición de usuarios a una instancia: puede agregar usuarios a una instancia informática.
- Ejecución de comandos en una instancia: puede configurar y gestionar instancia informáticas de forma remota, así como solucionar problemas, ejecutando scripts en la instancia mediante la función de ejecución de comando.
- Desactivación de threads múltiples simultáneos: puede desactivar los threads múltiples simultáneos (SMT) en sus instancias a través de la consola o mediante comandos de la CLI.
- Obtención de metadatos de instancia: el servicio de metadatos de instancia (IMDS) proporciona información sobre una instancia en ejecución, incluidos los detalles sobre la instancia, sus tarjetas de interfaz de red virtual adjuntas (VNIC), sus asociaciones de volúmenes adjuntas activadas para rutas múltiples y los metadatos personalizados que defina. IMDS también proporciona información a cloud-init, que puede utilizar para varias tareas de inicialización del sistema.
- Actualización de metadatos de instancia: puede agregar y actualizar metadatos personalizados para una instancia informática mediante la CLI o las API de REST.
- Movimiento de una instancia informática a un nuevo host: puede cambiar la ubicación de las instancias mediante la migración con inicio o un proceso manual.
- Terminación de una instancia: puede suprimir (terminar) de forma permanente las instancias que ya no necesite. Cualquier VNIC y volumen asociados se desconectan automáticamente cuando finaliza la instancia.
Gestión de etiquetas para una instancia
Puede aplicar etiquetas a los recursos para facilitar su organización según las necesidades de su negocio. Aplique las etiquetas al crear un recurso o actualice el recurso más tarde con las etiquetas que desee. Para obtener información general sobre la aplicación de etiquetas, consulte Etiquetas de recursos.
Gestionar etiquetas de una instancia:
- Abra el menú de navegación y haga clic en Recursos informáticos. En Recursos informáticos, haga clic en Instancias.
-
Haga clic en la instancia en la que está interesado.
-
Haga clic en el separador Etiquetas para ver o editar las etiquetas existentes. O bien haga clic en Más acciones y, a continuación, en Agregar etiquetas para agregar nuevas.
Zonas de seguridad
Las zonas de seguridad garantizan que los recursos en la nube cumplen los principios de seguridad de Oracle. Si alguna operación en un recurso de un compartimento de zona de seguridad infringe una política para esa zona de seguridad, la operación se denegará.
Las siguientes políticas de zonas de seguridad afectan a la capacidad de crear instancias:
- El volumen de inicio de una instancia informática en una zona de seguridad debe estar en la misma zona de seguridad.
- Una instancia informática que no esté en una zona de seguridad no puede utilizar un volumen de inicio que esté en una zona de seguridad.
- Una instancia informática que esté en una zona de seguridad debe utilizar subredes que estén en la misma zona de seguridad.
- Todas las instancias informáticas que estén en una zona de seguridad deben crearse mediante imágenes de plataforma. No puede crear una instancia informática a partir de una imagen personalizada en una zona de seguridad.
Si no se implementa una de las políticas de zona de seguridad mostradas, es posible que se impida la creación de una instancia.
Política de IAM necesaria para trabajar con instancias
Para utilizar Oracle Cloud Infrastructure, un administrador debe otorgarle acceso de seguridad en una política . Este acceso está requerido tanto si está utilizando la consola como la API de REST con un SDK, una CLI u otra herramienta. Si recibe un mensaje que indica que no tiene permiso o no está autorizado, verifique con su administrador qué tipo de acceso tiene y en qué compartimento debe trabajar.
Cuando crea una instancia, intervienen varios otros recursos, como una imagen, una red en la nube y una subred. Esos otros recursos pueden estar en el mismo compartimento con la instancia o en otros compartimentos. Debe tener el nivel de acceso necesario para cada uno de los compartimentos implicados para iniciar la instancia. Esto también ocurre al asociar un volumen a una instancia; no tienen que estar en el mismo compartimento, pero si no lo están, necesita el nivel de acceso necesario a cada uno de los compartimentos.
Para administradores: la política más simple para permitir a los usuarios crear, editar y terminar (suprimir) instancias se muestra en Permitir a los usuarios iniciar instancias de Compute. Proporciona al grupo especificado acceso general a la gestión de instancias e imágenes, junto con el nivel de acceso necesario para asociar los volúmenes en bloque existentes a las instancias. Si el grupo especificado no necesita iniciar instancias o asociar volúmenes, puede simplificar esa política para que solo incluya manage instance-family
y elimine las sentencias que involucran volume-family
y virtual-network-family
.
Si el grupo necesita crear volúmenes en bloque, necesitará la capacidad de gestionar volúmenes en bloque. Consulte Permitir a los administradores de volúmenes gestionar volúmenes en bloque, copias de seguridad y grupos de volúmenes.
Si el grupo necesita acceso específicamente a imágenes de la comunidad, necesitará la capacidad de leer imágenes de la comunidad. Consulte Publicación de aplicaciones de comunidad.
Algunas tareas de Compute requieren políticas adicionales, como se describe en las siguientes secciones.
Catálogo de imágenes de socio
Si el grupo necesita crear instancias basadas en imágenes de socio, necesitarán gestionar el permiso de activación de la aplicación para crear suscripciones a imágenes del catálogo de imágenes de socio. Consulte Permitir a los usuarios mostrar y suscribirse a imágenes del catálogo de imágenes del socio .
Acceso a SSH y escritorio remoto
Para los usuarios: para conectarse a una instancia en ejecución con una conexión de shell seguro (SSH) o de escritorio remoto, no necesita una política de IAM para otorgarle acceso. Sin embargo, necesita la dirección IP pública de la instancia.
Para administradores: si hay una política que permite a los usuarios iniciar una instancia, es probable que también permita a los usuarios obtener la dirección IP de la instancia. La política más simple para ambos se muestra en Permitir que los usuarios inicien instancias de Compute.
A continuación, se muestra una política más restrictiva que permite que el grupo especificado obtenga la dirección IP de las instancias existentes y utilice acciones de potencia en las instancias (por ejemplo, parar o iniciar la instancia), pero no iniciar o terminar instancias. La política supone que las instancias y la red en la nube están juntas en un solo compartimento (XYZ).
Allow group InstanceUsers to read virtual-network-family in compartment XYZ
Allow group InstanceUsers to use instance-family in compartment XYZ
Antes de empezar
Para administradores: para configurar notificaciones contextuales para una instancia, utilice la siguiente política.
allow group ContextualNotificationsUsers to manage alarms in tenancy
allow group ContextualNotificationsUsers to read metrics in tenancy
allow group ContextualNotificationsUsers to manage ons-topics in tenancy
allow group ContextualNotificationsUsers to manage cloudevents-rules in tenancy
Servicio de metadatos de instancia (IMDS)
Para los usuarios: no es necesaria ninguna política de IAM si se ha conectado a la instancia y utiliza cURL para obtener los metadatos de la instancia.
Para administradores: los usuarios también pueden obtener metadatos de instancia a través de la API de Compute (por ejemplo, con GetInstance ). La política de Permitir que los usuarios inicien instancias de Compute abarca esa capacidad.
Para requerir que los puntos finales IMDSv1 heredados estén desactivados en cualquier instancia nueva que se cree, utilice la siguiente política:
Allow group InstanceLaunchers to manage instances in compartment ABC
where request.instanceOptions.areLegacyEndpointsDisabled= 'true'
Reservas de capacidad
Para administradores: los siguientes ejemplos muestran políticas típicas que proporcionan acceso a reservas de capacidad. Cree la política en el arrendamiento para que el acceso se conceda fácilmente a todos los compartimentos mediante la herencia de políticas. Para reducir el ámbito de acceso a las reservas de capacidad de un compartimento concreto, especifique ese compartimento en lugar del arrendamiento.
Tipo de acceso: capacidad para iniciar una instancia en una reserva.
Allow group InstanceLaunchers to use compute-capacity-reservations in tenancy
Tipo de acceso: capacidad para gestionar reservas de capacidad.
Allow group InstanceLaunchers to manage compute-capacity-reservations in tenancy
Ejecutar comando
Para administradores: para escribir una política para la función de ejecución de comando, realice lo siguiente:
-
Cree un grupo que incluya a los usuarios a los que desea permitir emitir comandos, cancelar comandos y ver la salida de comando para las instancias de un compartimento. A continuación, escriba la siguiente política para otorgar acceso al grupo:
Allow group RunCommandUsers to manage instance-agent-command-family in compartment ABC
-
Cree un grupo dinámico que incluya las instancias en las que desea permitir que se ejecuten comandos. Por ejemplo, una regla dentro del grupo dinámico puede indicar lo siguiente:
any { instance.id = 'ocid1.instance.oc1.phx.<unique_ID_1>', 'ocid1.instance.oc1.phx.<unique_ID_2>' }
-
Escriba la siguiente política para otorgar acceso al grupo dinámico:Nota
Si crea una instancia y, a continuación, la agrega a un grupo dinámico, la instancia tarda hasta 30 minutos en empezar a sondear los comandos. Si primero crea el grupo dinámico y, a continuación, crea la instancia, la instancia comienza a sondear los comandos tan pronto como se crea la instancia.Allow dynamic-group RunCommandDynamicGroup to use instance-agent-command-execution-family in compartment ABC where request.instance.id=target.instance.id
-
Para permitir que el grupo dinámico acceda al archivo de script desde un cubo de Object Storage y guarde la respuesta en un cubo de Object Storage, escriba las siguientes políticas:
Allow dynamic-group RunCommandDynamicGroup to read objects in compartment ABC where all {target.bucket.name = '<bucket_with_script_file>'} Allow dynamic-group RunCommandDynamicGroup to manage objects in compartment ABC where all {target.bucket.name = '<bucket_for_command_output>'}