Utilisation des instances
Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul, appelés instances. Vous pouvez créer des instances selon vos besoins afin de répondre à vos exigences en matière de calcul et d'application. Une fois qu'une instance est créée, vous pouvez y accéder en toute sécurité à partir de votre ordinateur, la redémarrer, attacher et détacher des volumes, ainsi qu'y mettre fin lorsque vous n'en avez plus besoin.
- Création d'une instance : suivez les étapes de cette rubrique pour créer une instance de calcul Bare Metal ou de machine virtuelle.
- Les instances lancées à l'aide d'images Oracle Linux, CentOS ou Ubuntu utilisent une paire de clés SSH au lieu d'un mot de passe pour authentifier un utilisateur distant. Par conséquent, pour vous connecter à une instance, vous devrez peut-être créer une paire de clés SSH.
- Vous pouvez créer des instances éclatables, des instances protégées et des instances confidentielles.
- Vous pouvez configurer vos instances de sorte qu'elles utilisent différents types de capacité.
- Vous pouvez ajouter de la mémoire étendue et des coeurs aux instances avec des instances de machine virtuelle à mémoire étendue.
- Connexion à une instance : vous pouvez vous connecter à une instance en cours d'exécution à l'aide d'une connexion SSH (Secure Shell) ou Bureau à distance.
- Modification d'une instance : vous pouvez modifier les propriétés d'une instance de calcul sans avoir à reconstruire l'instance ou à redéployer vos applications.
- Arrêt, démarrage ou redémarrage d'une instance : vous pouvez arrêter et démarrer une instance selon vos besoins pour mettre à jour le logiciel ou résoudre des conditions d'erreur.
- Ajout d'utilisateurs à une instance : vous pouvez ajouter des utilisateurs à une instance de calcul.
- Exécution de commandes sur une instance : vous pouvez configurer, gérer et dépanner des instances de calcul à distance en exécutant des scripts dans les instances à l'aide de la fonctionnalité d'exécution de commande.
- Obtention des métadonnées d'instance : le service de métadonnées d'instance (IMDS) fournit des informations sur une instance en cours d'exécution, notamment des détails sur les cartes d'interface réseau virtuelles attachées, les attachements de volume à chemins d'accès multiples attachés et toutes les métadonnées personnalisées que vous définissez. IMDS fournit également à cloud-init des informations que vous pouvez utiliser pour diverses tâches d'initialisation système.
- Mise à jour des métadonnées d'instance : vous pouvez ajouter et mettre à jour des métadonnées personnalisées pour une instance de calcul à l'aide de l'interface de ligne de commande ou des API REST.
- Déplacement d'une instance de calcul vers un nouvel hôte : vous pouvez transférer des instances à l'aide de la migration au redémarrage ou d'un processus manuel.
- Terminaison d'une instance : vous pouvez supprimer définitivement des instances dont vous n'avez plus besoin (y mettre fin). Les cartes d'interface réseau virtuelles et les volumes attachés sont automatiquement détachés lorsque vous mettez fin à l'instance.
Gestion des balises pour une instance
Appliquez des balises à vos ressources afin de les organiser selon les besoins de votre entreprise. Appliquer des balises lors de la création d'une ressource ou mettre à jour la ressource ultérieurement avec les balises souhaitées. Pour obtenir des informations générales sur l'application de balises, reportez-vous à Balises de ressource.
Procédure de gestion des balises pour une instance:
- Ouvrez le menu de navigation et cliquez sur Compute. Sous Compute, cliquez sur Instances.
-
Cliquez sur l'instance qui vous intéresse.
-
Cliquez sur l'onglet Balises pour afficher ou modifier les balises existantes. Sinon, cliquez sur Actions supplémentaires, puis sur Ajouter des balises pour en ajouter de nouvelles.
Security Zones
Le service Security Zones veille à ce que vos ressources cloud soient conformes aux principes de sécurité d'Oracle. Si une opération sur une ressource d'un compartiment de zone de sécurité va à l'encontre d'une stratégie pour cette zone de sécurité, l'opération est refusée.
Les stratégies de zone de sécurité suivantes ont une incidence sur la possibilité de créer des instances :
- Le volume d'initialisation d'une instance de calcul dans une zone de sécurité doit également se trouver dans la même zone de sécurité.
- Une instance de calcul qui ne se trouve pas dans une zone de sécurité ne peut pas utiliser un volume d'initialisation présent dans une zone de sécurité.
- Une instance de calcul dans une zone de sécurité doit utiliser des sous-réseaux qui se trouvent également dans la même zone de sécurité.
- Toutes les instances de calcul d'une zone de sécurité doivent être créées à l'aide d'images de plate-forme. Vous ne pouvez pas créer une instance de calcul à partir d'une image personnalisée dans une zone de sécurité.
Le fait de ne pas implémenter l'une des stratégies de zone de sécurité répertoriées peut empêcher la création d'une instance.
Stratégie IAM requise pour l'utilisation des instances
Pour utiliser Oracle Cloud Infrastructure, un administrateur doit vous accorder un accès sécurisé dans une stratégie. Cet accès est requis que vous utilisiez la console ou l'API REST avec un kit SDK, l'interface de ligne de commande ou un autre outil. Si un message vous indique que vous ne disposez pas des droits d'accès ou des autorisations nécessaires, vérifiez auprès de l'administrateur le type d'accès qui vous a été accordé et le compartiment dans lequel vous devez travailler.
Lorsque vous créez une instance, plusieurs autres ressources sont impliquées (par exemple, une image, un réseau cloud ou un sous-réseau). Ces autres ressources peuvent se trouver dans le même compartiment que l'instance ou dans d'autres compartiments. Vous devez disposer du niveau d'accès requis à chacun des compartiments impliqués afin de pouvoir lancer l'instance. C'est également le cas lorsque vous attachez un volume à une instance, qui n'ont pas besoin d'être dans le même compartiment. Toutefois, s'ils ne le sont pas, vous devez disposer du niveau d'accès requis à chacun des compartiments.
Pour les administrateurs : la stratégie la plus simple pour autoriser les utilisateurs à créer, à modifier et à mettre fin (supprimer) est répertoriée dans Autoriser les utilisateurs à lancer des instances de calcul. Elle donne au groupe indiqué un accès général permettant de gérer des instances et des images, ainsi que le niveau d'accès requis pour attacher des volumes de blocs existants aux instances. Si le groupe spécifié n'a pas besoin de lancer des instances ou d'attacher des volumes, vous pouvez simplifier cette stratégie pour inclure uniquement manage instance-family
et supprimer les instructions impliquant volume-family
et virtual-network-family
.
Si le groupe doit créer des volumes de blocs, il devra pouvoir les gérer. Reportez-vous à Autoriser les administrateurs de volumes à gérer des volumes de blocs, des sauvegardes et des groupes de volumes.
Si le groupe doit accéder spécifiquement aux images de communauté, il devra être autorisé à lire ces images. Reportez-vous à Publication d'applications communautaires.
Certaines tâches Compute nécessitent des stratégies supplémentaires, comme décrit dans les sections suivantes.
Catalogue d'images de partenaire
Si le groupe doit créer des instances à partir d'images de partenaire, il aura besoin de l'autorisation de gestion pour app-catalog-listing afin de créer des abonnements aux images du catalogue d'images de partenaire. Reportez-vous à Autoriser les utilisateurs à répertorier les images du catalogue d'images de partenaire et à s'abonner à celles-ci .
Accès SSH et Bureau à distance
Pour les utilisateurs : pour vous connecter à une instance en cours d'exécution avec une connexion SSH (Secure Shell) ou Bureau à distance, vous n'avez pas besoin qu'une stratégie IAM vous donne les droits d'accès. Cependant, vous avez besoin de l'adresse IP publique de l'instance.
Pour les administrateurs : s'il existe une stratégie qui permet aux utilisateurs de lancer une instance, cette stratégie permet probablement également aux utilisateurs d'obtenir l'adresse IP de l'instance. La stratégie la plus simple qui réalise ces deux actions est répertoriée dans Autoriser les utilisateurs à lancer des instances de calcul.
Voici une stratégie plus restrictive qui permet au groupe spécifié d'obtenir l'adresse IP des instances existantes et d'utiliser des actions d'alimentation sur les instances (par exemple : arrêter ou démarrer l'instance), mais pas de lancer des instances ni d'y mettre fin. La stratégie suppose que les instances et le réseau cloud soient regroupés dans un seul compartiment (XYZ).
Allow group InstanceUsers to read virtual-network-family in compartment XYZ
Allow group InstanceUsers to use instance-family in compartment XYZ
Avant de commencer
Pour les administrateurs : afin de configurer des notifications contextuelles pour une instance, utilisez la stratégie suivante.
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
Service de métadonnées d'instance (IMDS)
Pour les utilisateurs : aucune stratégie IAM n'est requise si vous êtes connecté à l'instance et que vous utilisez cURL pour obtenir les métadonnées d'instance.
Pour les administrateurs : les utilisateurs peuvent également obtenir les métadonnées d'instance via l'API Compute (par exemple, avec GetInstance). La stratégie dans Autoriser les utilisateurs à lancer des instances de calcul donne cette possibilité.
Pour exiger que les adresses IMDSv1 héritées soient désactivées sur toutes les instances créées, utilisez la stratégie suivante :
Allow group InstanceLaunchers to manage instances in compartment ABC
where request.instanceOptions.areLegacyEndpointsDisabled= 'true'
Réservations de capacité
Pour les administrateurs : les exemples suivants illustrent les stratégies standard qui donnent accès aux réservations de capacité. Créez la stratégie dans la location pour que l'accès soit facilement accordé à tous les compartiments par le biais de l'héritage de stratégies. Pour limiter la portée de l'accès uniquement aux réservations de capacité d'un compartiment particulier, indiquez ce compartiment au lieu de la location.
Type d'accès : permet de lancer une instance d'une réservation.
Allow group InstanceLaunchers to use compute-capacity-reservations in tenancy
Type d'accès : permet de gérer les réservations de capacité.
Allow group InstanceLaunchers to manage compute-capacity-reservations in tenancy
Exécuter la commande
Pour les administrateurs : afin d'écrire une stratégie pour la fonctionnalité d'exécution de commande, procédez comme suit :
-
Créez un groupe incluant les utilisateurs que vous souhaitez autoriser à émettre des commandes, annuler des commandes et consulter la sortie de commande des instances d'un compartiment. Ensuite, écrivez la stratégie suivante pour accorder l'accès au groupe :
Allow group RunCommandUsers to manage instance-agent-command-family in compartment ABC
-
Créez un groupe dynamique incluant les instances sur lesquelles vous souhaitez autoriser l'exécution de commandes. Par exemple, une règle du groupe dynamique peut indiquer :
any { instance.id = 'ocid1.instance.oc1.phx.<unique_ID_1>', 'ocid1.instance.oc1.phx.<unique_ID_2>' }
-
Ecrivez la stratégie suivante pour accorder l'accès au groupe :Remarque
Si vous créez une instance que vous ajoutez ensuite à un groupe dynamique, l'instance commence à rechercher des commandes au bout de 30 minutes maximum. Si vous créez d'abord le groupe dynamique, puis l'instance, celle-ci commence à rechercher des commandes dès qu'elle est créée.Allow dynamic-group RunCommandDynamicGroup to use instance-agent-command-execution-family in compartment ABC where request.instance.id=target.instance.id
-
Pour permettre au groupe dynamique d'accéder au fichier de script à partir d'un bucket Object Storage et d'enregistrer la réponse dans un bucket Object Storage, écrivez les stratégies suivantes :
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>'}