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)
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.
--Wählen Sie "EC2" als Lagerort für den Container (es gibt ein anderes Fargate) --Nennen Sie die Aufgabe
--Wählen Sie "EC2 Linux + Networking" als Clustertyp
Von diesen wird die Sicherheitsgruppe (Firewall-Einstellungen) später geändert.
--Wählen Sie "EC2" als Serviceunterkunft (es gibt ein anderes Fargate) --Wählen Sie eine Aufgabe, die bereits erstellt wurde
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.
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
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.
Nach der Änderung wurden sowohl die obere Seite als auch die Remote-Markdown-Datei erfolgreich angezeigt.
Written 2020/09/22
Recommended Posts