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 ou 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.
- Remplacement d'un volume d'initialisation : vous pouvez remplacer automatiquement le volume d'initialisation d'une instance sans mettre fin à l'instance ni la recréer.
- Configuration de notifications contextuelles pour une instance : vous pouvez recevoir des messages en cas d'événement concernant une instance de calcul.
- 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.
- Désactivation du multithread simultané : vous pouvez désactiver le multithread simultané (SMT) sur vos instances via la console ou à l'aide des commandes de la CLI.
- 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.
Security Zones
Les Security Zones permettent de garantir que les ressources cloud sont conformes aux principes d'Oracle en matière de sûreté. 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 qui se trouve dans une zone de sécurité.
- Une instance Compute 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 Compute 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 être membre d'un groupe auquel un administrateur de location a accordé un accès de sécurité dans une stratégie . Cet accès est requis, que vous utilisiez la console ou l'API REST avec un kit SDK, une interface de ligne de commande ou un autre outil. Si un message vous informe que vous n'avez pas d'autorisation ou que vous n'êtes pas autorisé, vérifiez auprès de l'utilisateur le type d'accès qui vous est accordé et le compartiment dans lequel vous travaillez.
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 permettant aux utilisateurs de créer, de modifier et de 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 aura besoin de la possibilité de 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 d'une stratégie IAM pour vous accorder l'accès. Toutefois, 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
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 permettent d'accéder aux réservations de capacité. Créez la stratégie dans la location afin que l'accès soit facilement accordé à tous les compartiments par le moyen de l'héritage de stratégie. Pour limiter la portée de l'accès 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.id1 = 'ocid1.instance.oc1.phx.<unique_ID_1>', instance.id2 = 'ocid2.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>'}
Types de lancement réseau recommandés pour les instances de calcul
Lorsque vous créez une instance de machine virtuelle, Oracle Cloud Infrastructure choisit par défaut un type de fonctions de réseau recommandé pour la carte d'interface réseau virtuelle en fonction de la forme de l'instance et de l'image du système d'exploitation. L'interface de configuration réseau gère des fonctions telles que le débit d'E/S du disque et la communication réseau.
Les types de fonctions de réseau suivants sont disponibles :
- Mise en réseau paravirtualisée : : charges générales telles que les applications d'entreprise, les microservices et les petites bases de données. Les fonctions de réseau paravirtualisées offre également une plus grande flexibilité pour utiliser la même image sur différentes plates-formes matérielles. Les images Linux avec fonctions de réseau paravirtualisées prennent en charge la migration en direct lors de la maintenance de l'infrastructure.
- Fonctions de réseau matérielles (SR-IOV) : virtualisation d'entrée/de sortie racine unique. Pour les charges globales à faible latence telles que la transmission en continu de vidéos, les applications en temps réel, et les bases de données de grande taille ou en cluster. Les fonctions de réseau matérielles (SR-IOV) utilise la structure du pilote VFIO.
Pour utiliser un type de fonctions de réseau particulier, la forme et l'image doivent prendre en charge ce type de fonctions de réseau.
Formes : le tableau suivant répertorie les types de fonctions de réseau par défaut et pris en charge pour les formes de machine virtuelle.
Forme | Type de fonctions de réseau par défaut | Types de fonctions de réseau pris en charge |
---|---|---|
Série VM.Standard1 | SR-IOV | Paravirtualisé, SR-IOV |
Série VM.Standard2 | Paravirtualisé | Paravirtualisé, SR-IOV |
VM.Standard3.Flex | Paravirtualisé | Paravirtualisé, SR-IOV |
Série VM.Standard.E2 | Paravirtualisé | Paravirtualisé uniquement |
VM.Standard.E3.Flex |
Paravirtualisé |
Paravirtualisé, SR-IOV |
VM.Standard.E4.Flex |
Paravirtualisé |
Paravirtualisé, SR-IOV |
VM.Standard.E5.Flex |
Paravirtualisé |
Paravirtualisé, SR-IOV |
VM.Standard.E6. Champ flexible |
Paravirtualisé |
Paravirtualisé, SR-IOV |
VM.Standard.A1.Flex1 | Paravirtualisé | Paravirtualisé, SR-IOV |
Série VM.DenseIO1 | SR-IOV | Paravirtualisé, SR-IOV |
Série VM.DenseIO2 | Paravirtualisé | Paravirtualisé, SR-IOV |
VM.DenseIO.E4.Flex | Paravirtualisé | Paravirtualisé, SR-IOV |
Série VM.GPU2 | SR-IOV | Paravirtualisé, SR-IOV |
Série VM.GPU3 | SR-IOV | Paravirtualisé, SR-IOV |
Série VM.GPU.A10 | SR-IOV | Paravirtualisé, SR-IOV |
VM.Optimized3.Flex |
Paravirtualisé |
Paravirtualisé, SR-IOV |
Images : les fonctions de réseau paravirtualisées sont prises en charge sur les images de plate-forme suivantes :
- Oracle Linux 9, Oracle Linux 8, Oracle Autonomous Linux 8.x, Oracle Autonomous Linux 7.x, Oracle Linux Cloud Developer 8 : toutes les images.
- Oracle Linux 7 : images publiées à partir de mars 2019.
- CentOS Stream 8, CentOS 7 : images publiées en juillet 2019 ou ultérieurement.
- Ubuntu 22.04, Ubuntu 20.04 : toutes les images.
- Ubuntu 18.04 : images publiées à partir de mars 2019.
- Windows Server 2022, Windows Server 2019 : toutes les images.
- Windows Server 2016, Windows Server 2012 R2 : images publiées à partir d'août 2019.
Les fonctions de réseau SR-IOV sont prises en charge sur toutes les images de plate-forme, à quelques exceptions près :
- Les images des formes reposant sur Arm ne prennent pas en charge les fonctions de réseau SR-IOV.
- Sur Windows Server 2019 et Windows Server 2022, en cas de lancement avec une forme de la série VM.Standard2, les fonctions de réseau SR-IOV ne sont pas prises en charge.
- Sur Windows Server 2012 R2, les fonctions de réseau SR-IOV sont prises en charge sur les images de plate-forme publiées en avril 2021 ou ultérieurement.
- L'option d'installation Server Core pour Windows Server ne prend pas en charge les fonctions de réseau SR-IOV.
Résoudre les erreurs de création à l'aide de demandes de travail
Les demandes de travail vous aident à surveiller les opérations à longue durée d'exécution, comme les sauvegardes de base de données ou le provisionnement d'instances de calcul.
Si une opération telle que l'opération de création d'instance échoue ou si l'état de l'instance passe directement du provisionnement à la terminaison, utilisez des demandes de travail pour déterminer où l'erreur est survenue dans le workflow. Des erreurs peuvent survenir en raison de problèmes au niveau de la configuration ou des données utilisateur. Les erreurs synchrones surviennent lors de l'appel initial à l'API Compute pour créer l'instance. Les erreurs asynchrones surviennent au cours du workflow de création d'instance lancé après l'appel d'API initial. Les demandes de travail capturent les échecs de validation asynchrone. Un appel d'API de création d'instance réussi qui renvoie une réponse HTTP 200 peut être suivi d'une erreur asynchrone lors du workflow de création d'instance suivant.
La réponse à l'appel d'API REST contient l'OCID de la demande de travail dans l'en-tête opc-work-request-id
. Vous pouvez surveiller à tout moment le statut de la demande de travail en appelant GetWorkRequest
dans l'API des demandes de travail et en transmettant son ID indiqué dans l'en-tête opc-work-request-id
. Si une erreur survient au cours du workflow, vous pouvez appeler ListWorkRequestErrors
dans l'API des demandes de travail et transmettre l'ID de la demande de travail afin d'extraire la liste des erreurs.
Pour plus d'informations sur l'utilisation des demandes de travail afin de résoudre les erreurs, reportez-vous à Demandes de travail. Pour plus d'informations sur les demandes de travail asynchrones, notamment sur la manière de filtrer la réponse à la demande, ainsi que pour consulter un exemple de demande et de réponse, reportez-vous à Demandes de travail asynchrones.
Gestion des balises pour une instance
Appliquez des balises aux ressources afin de les organiser selon les besoins de votre entreprise. Vous pouvez appliquer des balises lorsque vous créez une ressource, et mettre à jour une ressource ultérieurement pour ajouter, réviser ou enlever des balises. 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 sélectionnez Compute. Sous Compute, sélectionnez Instances.
-
Sélectionnez l'instance qui vous intéresse.
-
Sélectionnez 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.