Déploiement d'une appli web conteneurisée sur Amazon Lightsail

GUIDE DE DÉMARRAGE

Module 2 : Création d'un service de conteneur

Dans ce module, vous apprendrez à créer un service de conteneur Lightsail

Introduction

Un service de conteneur Amazon Lightsail est une ressource de calcul dans laquelle vous pouvez déployer vos images Docker. Lorsque vous déployez vos images vers votre service de conteneur Lightsail, le service démarre automatiquement et exécute vos conteneurs dans l'infrastructure AWS.

Vous pouvez imaginer votre service de conteneur Lightsail comme un environnement de calcul qui vous permet d'exécuter des conteneurs sur l'infrastructure AWS à l'aide d'images que vous créez. Outre les ressources de calcul, le service de conteneur alloue un nom DNS, un certificat TLS et un dispositif d'équilibrage de charge de réseau facultatif afin de répartir le trafic réseau entre les multiples instances de vos conteneurs.

Lors de la création d'un service de conteneur Lightsail, vous choisissez la région AWS où le service est créé ainsi que la puissance de calcul dont votre application a besoin. Vous pouvez choisir n'importe quelle capacité entre 1 et 20 nœuds, chaque nœud ayant entre 0,25 vCPU et 4 vCPU, et 512 Mo et 8 Go de RAM,

Vous pouvez modifier le nombre de nœuds et la taille du nœud à tout moment, en fonction de l'utilisation de votre application.

Ce que vous apprendrez

  • Comment installer des extensions Amazon Lightsail dans AWS CLI.
  • Comment créer un service de conteneur.

 Durée

10 minutes

 Prérequis du module

  • Compte AWS avec accès administrateur**
  • Dernière version de Chrome ou de Firefox (recommandé)

[**]Les comptes créés au cours des dernières 24 heures n'ont sans doute pas encore accès aux services requis pour ce didacticiel.

Implémentation

Installation de l'extension Lightsail d'AWS CLI

Pour interagir avec les conteneurs Amazon Lightsail, vous devrez installer AWS CLI et le plugin du service de conteneur, une série d'extensions autorisant Lightsail à manipuler les conteneurs Docker. Il s'agit d'une configuration unique.

Si la CLI de Lightsail ou le plugin du service de conteneur n'est pas installé, vous pouvez suivre les instructions disponibles ici pour votre système d'exploitation.

Création d'un service de conteneur

Pour déployer notre conteneur, nous créons d'abord un service de conteneur Lightsail. Le service de conteneur consiste en l'infrastructure de calcul requise pour déployer et exécuter vos conteneurs.

Un service de conteneur se compose de nœuds de calcul, d'un certificat TLS, d'un nom de domaine DNS et d'un équilibreur de charge facultatif.

Ce sont les trois paramètres que vous définissez avant de créer un service de conteneur :

  • La région AWS dans laquelle vous souhaitez déployer vos conteneurs. Généralement, vous choisissez une région géographiquement proche de celle de vos clients.
  • La taille des nœuds de calcul. Les tailles sont exprimées comme les tailles de t-shirt allant de Nano (0,25 vCPU et 512 Mo de RAM) à XLarge (4 vCPU et 8 Go de RAM)
  • Le nombre de nœuds à allouer, entre 1 et 20.

Pour créer le service de conteneur Lightsail, ouvrez un terminal et entrez la commande suivante :

aws lightsail create-container-service \
    --region eu-west-3                 \
    --service-name signup-application  \
    --power nano                       \
    --scale 1

Ici, j'ai choisi de déployer sur la région AWS EU (Paris) (eu-ouest-3), en utilisant un nœud de calcul Nano.

La commande émet un message JSON, semblable au suivant :

{
    "containerService": {
        "containerServiceName": "signup-application",
        "arn": "arn:aws:lightsail:eu-west-3:012345678901:ContainerService/528a0bcf-fd14-42d4-a09a-943a241adc51",
        "createdAt": "2021-07-17T13:38:40+02:00",
        "location": {
            "availabilityZone": "all",
            "regionName": "eu-west-3"
        },
        "resourceType": "ContainerService",
        "tags": [],
        "power": "nano",
        "powerId": "nano-1",
        "state": "PENDING",
        "scale": 1,
        "isDisabled": false,
        "principalArn": "",
        "privateDomainName": "signup-application.service.local",
        "url": "https://signup-application.me04fvc6dbk4e.eu-west-3.cs.amazonlightsail.com/"
    }
}

Notez le statut "state": "PENDING" (« état » : « EN ATTENTE »). Après quelques instants, l'état deviendra READY (PRÊT). Vous pouvez vérifier l'état de votre service de conteneur à l'aide de la commande suivante :

aws lightsail get-container-services  \
    --region eu-west-3                \
    --service-name signup-application \
    --query "containerServices[].state"
[
    "READY"
]

Vous pouvez modifier le nombre de nœuds et la taille du nœud à tout moment, en fonction de l'utilisation de votre application. Voici un exemple de modification d'échelle de un à deux :

aws lightsail update-container-service \
    --region eu-west-3                 \
    --service-name signup-application  \
    --scale 2   

Félicitations ! Votre service de conteneur est désormais prêt à héberger vos conteneurs.

Conclusion

Dans ce module, vous avez appris à créer un service de conteneur Amazon Lightsail. Dans le module suivant, vous apprendrez à déployer celui-ci vers le cloud et à mettre à jour votre appli lorsque des modifications sont apportées.

À suivre : déploiement d'un conteneur

Dites-nous si nous avons répondu à vos attentes.