[Participation] Création d'un conteneur Docker qui fournit Markdown au format HTML dans Apache / Pandoc - conteneur AWS

L'autre jour, j'ai présenté un conteneur Docker qui intègre Apache et Pandoc. Nous avons introduit deux versions, l'une est lorsque la source Markdown est obtenue à partir du dossier local sur l'hôte du conteneur, et l'autre est lorsqu'elle est obtenue à distance.

Dans cet article, j'ai exécuté la version distante sur Amazon ECS (Elastic Container Service), l'un des services de conteneur Docker fournis par le cloud public, je vais donc vous expliquer la procédure.

AWS ECS

Il existe différents types de services de conteneur Amazon Docker.

Parmi ceux-ci, l'ECS utilisé cette fois-ci configure un cluster de conteneurs à l'aide de machines virtuelles AWS (instances EC2) et exécute un service qui collecte des conteneurs Docker appelés tâches.

Voici un état d'exécution d'un service contenant une tâche dans un cluster composé d'une instance EC2. L'image Docker utilisée est une version distante enregistrée avec Docker Hub.

Pour utiliser les services AWS, vous pouvez utiliser la console Web ou la ligne de commande à partir du terminal où l'AWS CLI est installée. Ce qui suit a utilisé la console.

Si vous faites de même, procédez comme suit:

--Créez un compte AWS (la plupart des services sont gratuits pendant un an) → Inscription --Créer un utilisateur IAM (car il est préférable de créer un utilisateur de console différent de l'utilisateur root du compte)

Entrez dans le service conteneur

Connectez-vous à la console AWS

→ https://account-id.signin.aws.amazon.com/console/

Sélectionnez le service ECS et créez les éléments suivants dans l'ordre.

--Tâche --Allocation de conteneurs Docker --Grappe --Création d'une instance EC2 --Un service --Spécifier une tâche

J'ai effectué toutes les sélections par défaut, sauf celles indiquées ci-dessous. J'expliquerai principalement les parties qui devaient être spécifiées ou modifiées.

Créer une tâche

1-task-create

--Sélectionnez "EC2" comme emplacement de stockage du conteneur (il existe un autre Fargate)

2-task-create

Créer un cluster

3-cluster-create

--Sélectionnez "EC2 Linux + Networking" comme type de cluster

Parmi ceux-ci, le groupe de sécurité (paramètres du pare-feu) sera modifié ultérieurement.

Créer un service

4-service-create

--Sélectionnez "EC2" comme hébergement de service (il existe un autre Fargate) --Choisissez une tâche qui a déjà été créée

Identifier l'adresse IP

Vous devez connaître l'adresse IP pour vous connecter au service de conteneur créé. AWS EC2 attribue un nom d'hôte DNS à cette adresse IP, vous pouvez donc l'utiliser.

C'est difficile à comprendre, mais vous pouvez vérifier les attributs de l'instance de conteneur en sélectionnant le cluster, en sélectionnant l'instance EC2 et en consultant l'onglet Détails.

5-public-ip

Affichage de la page supérieure:

$ curl ec2-nnnnnnnn.ap-northeast-1.compute.amazonaws.com/

Afficher les fichiers Markdown distants:

$ curl ec2-nnnnnnnn.ap-northeast-1.compute.amazonaws.com/foo.md

Changer de groupe de sécurité

Lorsque j'ai testé avec les paramètres jusqu'à présent, la connexion a expiré. Quand j'ai recherché, j'ai dû changer le "groupe de sécurité" pour ouvrir le port de la machine virtuelle.

Cela est également difficile à comprendre, mais si vous sélectionnez un cluster, sélectionnez une instance EC2 et allez de plus en plus loin, vous passerez au service EC2, où vous pourrez modifier le groupe de sécurité.

5-edit-security-group

Après la modification, la page d'accueil et le fichier Markdown distant ont été affichés avec succès.


environnement d'utilisation

Lien de référence

Exemple de ressource

Page relative à Yokohama Kobunsha

Written 2020/09/22

Recommended Posts

[Participation] Création d'un conteneur Docker qui fournit Markdown au format HTML dans Apache / Pandoc - conteneur AWS
[Partie 1] Création d'un conteneur Docker qui fournit Markdown en HTML avec Apache / Pandoc
[Partie 2] Création d'un conteneur Docker qui fournit Markdown au format HTML dans la version Apache / Pandoc-remote
Création d'un environnement Java léger qui s'exécute sur Docker