[Teilnahme] Erstellen eines Docker-Containers, der Markdown als HTML in Apache / Pandoc - AWS-Container liefert

Neulich habe ich einen Docker-Container vorgestellt, der Apache und Pandoc enthält. Wir haben zwei Versionen eingeführt, eine, wenn die Markdown-Quelle aus dem lokalen Ordner auf dem Container-Host abgerufen wird, und die andere, wenn sie remote abgerufen wird.

In diesem Artikel habe ich die Remote-Version auf Amazon ECS (Elastic Container Service) ausgeführt, einem der Docker-Containerdienste, die von der öffentlichen Cloud bereitgestellt werden. Daher werde ich das Verfahren erläutern.

AWS ECS

Es gibt verschiedene Arten von Amazon Docker-Containerdiensten.

Von diesen konfiguriert das diesmal verwendete ECS einen Cluster von Containern mithilfe von virtuellen AWS-Maschinen (EC2-Instanzen) und führt einen Dienst aus, der Docker-Container sammelt, die als Tasks bezeichnet werden.

Im Folgenden wird der Status ausgeführt, in dem ein Dienst ausgeführt wird, der eine Aufgabe in einem Cluster enthält, der aus einer EC2-Instanz besteht. Das verwendete Docker-Image ist eine bei Docker Hub registrierte Remote-Version.

Um AWS-Services zu verwenden, können Sie entweder die Webkonsole oder die Befehlszeile des Terminals verwenden, auf dem die AWS-CLI installiert ist. Im Folgenden wurde die Konsole verwendet.

Wenn Sie dasselbe tun, gehen Sie wie folgt vor:

--Erstellen Sie ein AWS-Konto (die meisten Dienste sind ein Jahr lang kostenlos) → Anmelden --Erstellen Sie einen IAM-Benutzer (da es besser ist, einen Konsolenbenutzer zu erstellen, der sich vom Root-Benutzer des Kontos unterscheidet)

Geben Sie den Containerservice ein

Melden Sie sich bei der AWS-Konsole an

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

Wählen Sie den ECS-Dienst aus und erstellen Sie die folgenden in der angegebenen Reihenfolge.

--Aufgabe --Docker Container Zuordnung

Ich habe standardmäßig alle Auswahlen getroffen, außer den unten gezeigten. Ich werde hauptsächlich die Teile erklären, die spezifiziert oder geändert werden mussten.

Eine Aufgabe erstellen

1-task-create

--Wählen Sie "EC2" als Lagerort für den Container (es gibt ein anderes Fargate) --Nennen Sie die Aufgabe

2-task-create

Cluster erstellen

3-cluster-create

--Wählen Sie "EC2 Linux + Networking" als Clustertyp

Von diesen wird die Sicherheitsgruppe (Firewall-Einstellungen) später geändert.

Einen Service erstellen

4-service-create

--Wählen Sie "EC2" als Serviceunterkunft (es gibt ein anderes Fargate) --Wählen Sie eine Aufgabe, die bereits erstellt wurde

Identifizieren der IP-Adresse

Sie müssen die IP-Adresse kennen, um eine Verbindung zum erstellten Containerdienst herzustellen. AWS EC2 weist dieser IP-Adresse einen DNS-Hostnamen zu, sodass Sie diesen verwenden können.

Es ist schwer zu verstehen, aber Sie können die Attribute der Containerinstanz überprüfen, indem Sie den Cluster auswählen, die EC2-Instanz auswählen und die Registerkarte Details anzeigen.

5-public-ip

Anzeige der oberen Seite:

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

Remote-Markdown-Dateien anzeigen:

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

Sicherheitsgruppe ändern

Als ich bisher mit den Einstellungen getestet habe, ist die Verbindung abgelaufen. Als ich nachgeschlagen habe, musste ich die "Sicherheitsgruppe" ändern, um den Port der virtuellen Maschine zu öffnen.

Dies ist ebenfalls schwer zu verstehen. Wenn Sie jedoch einen Cluster auswählen, eine EC2-Instanz auswählen und immer tiefer gehen, gelangen Sie zum EC2-Dienst, in dem Sie die Sicherheitsgruppe ändern können.

5-edit-security-group

Nach der Änderung wurden sowohl die obere Seite als auch die Remote-Markdown-Datei erfolgreich angezeigt.


Nutzungsumgebung

Referenzlink

Beispielressource

Verwandte Seite von Yokohama Kobunsha

Written 2020/09/22

Recommended Posts

[Teilnahme] Erstellen eines Docker-Containers, der Markdown als HTML in Apache / Pandoc - AWS-Container liefert
[Teil 1] Erstellen eines Docker-Containers, der mit Apache / Pandoc Markdown in HTML liefert
[Teil 2] Erstellen eines Docker-Containers, der Markdown als HTML in der Apache / Pandoc-Remote-Version liefert
Erstellen einer kompakten Java-Umgebung, die unter Docker ausgeführt wird