Informations, communications, conseils en infrastructure

1.31 Azure Container Instances (ACI)

 Présentation de la technologie

 

Azure Container Instances (ACI) est une solution « Container-as-a-Service » (CaaS) proposée par Microsoft Azure, permettant d’exécuter des conteneurs directement dans le cloud sans avoir à gérer l’infrastructure sous-jacente. ACI offre une alternative simple et rapide aux orchestrateurs complexes comme Kubernetes pour des charges de travail nécessitant un déploiement rapide ou temporaire.

 

 Principaux avantages :

  • Simplicité : Pas besoin de gérer des machines virtuelles ou des orchestrateurs.
  • Flexibilité : Prise en charge des conteneurs Linux et Windows.
  • Isolation sécurisée : Chaque conteneur s’exécute dans un environnement isolé grâce à l’isolation par hyperviseur.
  • Mise en œuvre rapide : Déploiement en quelques secondes via le portail Azure, CLI ou API REST.
  • Tarification à la seconde : Paiement uniquement pour les ressources utilisées.

 

 Cas d’usage :

  1. Traitement de données ponctuelles ou par lots.
  2. Hébergement temporaire d’applications ou d’API.
  3. Extension élastique des clusters Kubernetes via Virtual Kubelet.
  4. Applications événementielles intégrées avec Azure Logic Apps ou Functions.

 

 

 Mise en place technique

 

 Étape 1 : Créer une instance de conteneur

 Via le portail Azure :

  1. Connectez-vous au portail Azure.
  2. Cliquez sur Créer une ressource > Conteneurs > Instances de conteneur.
  3. Configurez les paramètres dans l’onglet Informations de base :
  •    Abonnement : Sélectionnez votre abonnement Azure.
  •    Groupe de ressources : Choisissez un groupe existant ou créez-en un nouveau.
  •    Nom du conteneur : Donnez un nom unique (ex. my-container).
  •    Image source : Sélectionnez une image Docker publique (ex. nginx) ou privée via Azure Container Registry (ACR).
  •    Système d’exploitation : Choisissez Linux ou Windows selon vos besoins.
  1. Dans l’onglet Mise en réseau, configurez :
  •    Type d’accès réseau : Public ou privé.
  •    Nom DNS (si public) pour accéder au conteneur via Internet.
  1. Cliquez sur Vérifier + créer, puis sur Créer.

 

 Via Azure CLI :

bash

az container create \

  –resource-group my-resource-group \

  –name my-container \

  –image nginx \

  –cpu 1 \

  –memory 1 \

  –dns-name-label my-container-dns \

  –ports 80

 

 

 Étape 2 : Configurer le stockage persistant

Par défaut, les instances ACI sont stateless, mais vous pouvez monter un stockage persistant si nécessaire.

 

  1. Créez un partage de fichiers Azure dans un compte de stockage existant :

   bash

   az storage share create –name aci-share –account-name mystorageaccount

   

  1. Montez le partage dans votre instance ACI :

   bash

   az container create \

     –resource-group my-resource-group \

     –name my-container \

     –image nginx \

     –azure-file-volume-account-name mystorageaccount \

     –azure-file-volume-account-key <account-key> \

     –azure-file-volume-share-name aci-share \

     –azure-file-volume-mount-path /mnt/data

   

 

 

 Étape 3 : Intégration avec Azure Container Registry (ACR)

Pour utiliser une image privée stockée dans ACR :

  1. Connectez votre ACR à votre instance ACI via un rôle « acrpull » :

   bash

   az role assignment create \

     –assignee <service-principal-id> \

     –scope $(az acr show –name myregistry –query id –output tsv) \

     –role acrpull

   

  1. Déployez l’image depuis ACR :

   bash

   az container create \

     –resource-group my-resource-group \

     –name my-private-container \

     –image myregistry.azurecr.io/myimage:latest \

     –registry-login-server myregistry.azurecr.io \

     –registry-username <username> \

     –registry-password <password>

   

 

 

 Exploitation technique courante

 

 Surveillance et gestion

  1. Consultez les journaux du conteneur :

   bash

   az container logs –resource-group my-resource-group –name my-container

   

  1. Accédez à la console interactive du conteneur :

   bash

   az container exec –resource-group my-resource-group –name my-container –exec-command « /bin/bash »

   

 

 Mise à jour des instances

Pour mettre à jour une instance avec une nouvelle image, supprimez-la puis recréez-la avec l’image mise à jour.

 

 Sécurisation des instances

  1. Limitez l’accès réseau en utilisant des réseaux virtuels privés pour vos instances ACI.
  2. Activez HTTPS pour les points d’accès publics.

 

 Utilisation avancée avec Kubernetes (Virtual Kubelet)

Pour étendre dynamiquement un cluster AKS avec ACI :

  1. Activez Virtual Kubelet dans votre cluster AKS.
  2. Configurez les pods pour s’exécuter dans ACI lorsque la capacité du cluster est atteinte.

 

 

 Bonnes pratiques

 

  1. Optimisation des coûts :
  •    – Utilisez des instances Spot pour les charges non critiques afin de réduire les coûts.

   

  1. Surveillance proactive :
  •    Intégrez Azure Monitor pour suivre les performances et détecter les anomalies.

 

  1. Sécurisation renforcée :
  •    Stockez les secrets sensibles dans Azure Key Vault et configurez-les comme variables d’environnement.

 

  1. Automatisation CI/CD :
  •    Intégrez vos pipelines avec GitHub Actions ou Azure DevOps pour déployer automatiquement vos conteneurs.

 

  1. Documentation interne :
  •    Maintenez une documentation claire sur vos configurations et processus liés à ACI.

 

En maîtrisant ces fonctionnalités, vous serez capable d’exploiter pleinement Azure Container Instances pour déployer rapidement vos applications conteneurisées tout en optimisant leur gestion et leur sécurité dans le cloud Azure.

Articles similaires

Rémy ACCOLEY

Consultant infrastructure

Expertise Azure, Windows serveur, Exchange, Teams, Office 365, Téléphonie…

Mes articles du moment

Sponsor

Besoin d'un support avec Keysoncloud

Offre Free

Explore

Découvrez nos formations

Offre Free

Vous voulez poster vos contenus

Offre Free