Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
In diesem Thema wird erklärt, wie Sie die PlanetsDemo Beispielanwendung mithilfe von AWS Blu Age Runtime auf einem Docker-Container einrichten und bereitstellen.
AWS Blu Age Runtime on Container ist für Amazon ECS, verwaltet von Amazon EC2, Amazon ECS verwaltet von und Amazon EKS AWS Fargate, verwaltet von Amazon, verfügbar EC2. Es ist nicht kompatibel mit Amazon EKS, verwaltet von AWS Fargate.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen.
-
Konfigurieren Sie das, AWS CLI indem Sie den Schritten unter Konfiguration der AWS-CLI folgen.
-
AWS Voraussetzungen für Blu Age RuntimeVollständig undEinführung in AWS Blu Age Runtime .
-
Laden Sie die AWS Blu Age Runtime-Binärdateien herunter. Detaillierte Anweisungen finden Sie unter Einführung in AWS Blu Age Runtime .
-
Laden Sie die Apache Tomcat 10-Binärdateien herunter.
-
Laden Sie das PlanetsDemoAnwendungsarchiv
herunter. -
Erstellen Sie eine Amazon Aurora PostgreSQL-Datenbank für JICS und führen Sie die
PlanetsDemo-v1/jics/sql/initJics.sql
Abfrage darauf aus. Informationen zum Erstellen einer Amazon Aurora PostgreSQL-Datenbank finden Sie unter Erstellen und Herstellen einer Verbindung zu einem Aurora PostgreSQL-DB-Cluster.
Einrichtung
Gehen Sie wie folgt vor, um die PlanetsDemo Beispielanwendung einzurichten.
-
Extrahieren Sie nach dem Herunterladen der Apache Tomcat-Binärdateien den Inhalt und wechseln Sie in den
conf
Ordner. Öffnen Sie die
Datei zur Bearbeitung und ersetzen Sie die Zeile, diecatalina.properties
mit der folgenden Zeile beginnt.common.loader
common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/shared","${catalina.home}/shared/*.jar","${catalina.home}/extra","${catalina.home}/extra/*.jar"
-
Komprimieren Sie den Apache Tomcat-Ordner, indem Sie den Befehl tar verwenden, um ein `tar.gz`-Archiv zu erstellen.
-
Bereiten Sie ein Dockerfile
vor, um Ihr benutzerdefiniertes Image auf der Grundlage der bereitgestellten Runtime-Binärdateien und der Apache Tomcat-Server-Binärdateien zu erstellen. Sehen Sie sich das folgende Dockerfile-Beispiel an. Das Ziel besteht darin, Apache Tomcat 10 zu installieren, gefolgt von AWS Blu Age Runtime (für Amazon ECS, verwaltet von AWS Fargate), die im Stammverzeichnis des Apache Tomcat 10-Installationsverzeichnisses extrahiert wurde, und dann die modernisierte Beispielanwendung mit dem Namen zu installieren. PlanetsDemo Anmerkung
Der Inhalt der Skripten install-gapwalk.sh und install-app.sh, die in diesem Dockerfile-Beispiel verwendet werden, wird nach dem Dockerfile aufgeführt.
FROM --platform=linux/x86_64 amazonlinux:2 RUN mkdir -p /workdir/apps WORKDIR /workdir COPY install-gapwalk.sh . COPY install-app.sh . RUN chmod +x install-gapwalk.sh RUN chmod +x install-app.sh # Install Java and AWS CLI v2-y RUN yum install sudo java-17-amazon-corretto unzip tar -y RUN sudo yum remove awscli -y RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" RUN sudo unzip awscliv2.zip RUN sudo ./aws/install # Installation dir RUN mkdir -p /usr/local/velocity/installation/gapwalk # Copy PlanetsDemo archive to a dedicated apps dir COPY PlanetsDemo-v1.zip /workdir/apps/ # Copy resources (tomcat, blu age runtime) to installation dir COPY tomcat.tar.gz /usr/local/velocity/installation/tomcat.tar.gz COPY aws-bluage-runtime-4.x.x.tar.gz /usr/local/velocity/installation/gapwalk/gapwalk.tar.gz # run relevant installation scripts RUN ./install-gapwalk.sh RUN ./install-app.sh EXPOSE 8080 EXPOSE 8081 # ... WORKDIR /bluage/tomcat.gapwalk/velocity # Run Command to start Tomcat server CMD ["sh", "-c", "sudo bin/catalina.sh run"]
Im Folgenden sind die Inhalte von
install-gapwalk.sh.
# Vars TEMP_DIR=/bluage-on-fargate/tomcat.gapwalk/temp # Install echo "Installing Gapwalk and Tomcat" sudo rm -rf /bluage-on-fargate mkdir -p ${TEMP_DIR} # Copy Blu Age runtime and tomcat archives to temporary extraction dir sudo cp /usr/local/velocity/installation/gapwalk/gapwalk.tar.gz ${TEMP_DIR} sudo cp /usr/local/velocity/installation/tomcat.tar.gz ${TEMP_DIR} # Create velocity dir mkdir -p /bluage/tomcat.gapwalk/velocity # Extract tomcat files tar -xvf ${TEMP_DIR}/tomcat.tar.gz -C ${TEMP_DIR} # Copy all tomcat files to velocity dir cp -fr ${TEMP_DIR}/apache-tomcat-10.x.x/* /bluage/tomcat.gapwalk/velocity # Remove default webapps of Tomcat rm -f /bluage-on-fargate/tomcat.gapwalk/velocity/webapps/* # Extract Blu Age runtime at velocity dir tar -xvf ${TEMP_DIR}/gapwalk.tar.gz -C /bluage/tomcat.gapwalk # Remove temporary extraction dir sudo rm -rf ${TEMP_DIR}
Das Folgende ist der Inhalt von
install-app.sh
.#!/bin/sh APP_DIR=/workdir/apps TOMCAT_GAPWALK_DIR=/bluage-on-fargate/tomcat.gapwalk unzip ${APP_DIR}/PlanetsDemo-v1.zip -d ${APP_DIR} cp -r ${APP_DIR}/webapps/* ${TOMCAT_GAPWALK_DIR}/velocity/webapps/ cp -r ${APP_DIR}/config/* ${TOMCAT_GAPWALK_DIR}/velocity/config/
-
Geben Sie die Verbindungsinformationen für die Datenbank, die Sie als Teil der Voraussetzungen im folgenden Codeausschnitt erstellt haben, in die
application-main.yml
Datei ein, die sich im Ordner befindet.{TOMCAT_GAPWALK_DIR}/config
Weitere Informationen finden Sie unter Erstellen eines Aurora PostgreSQL-DB-Clusters und Herstellen einer Verbindung zu diesem.datasource: jicsDs: driver-class-name : url: username: password: type :
-
Erstellen Sie das Image und übertragen Sie es in Ihr Amazon ECR-Repository. Anweisungen finden Sie unter Pushing a Docker-Image im Amazon Elastic Container Registry-Benutzerhandbuch. Erstellen Sie dann je nach Situation entweder einen Amazon EKS-Pod oder eine Amazon ECS-Aufgabendefinition mit Ihrem Amazon ECR-Image und stellen Sie es in Ihrem Cluster bereit. Beispiele für deren Erstellung finden Sie unter Erstellen einer Aufgabendefinition mithilfe der Konsole im Amazon Elastic Container Service (Amazon ECS) Developer Guide und Deploy a sample application im Amazon EKS-Benutzerhandbuch.
-
Insbesondere für Amazon ECS Managed by AWS Fargate Case sollten Sie bei der Erstellung der Aufgabendefinition die IAM-Rolle verwenden, die Sie im Rahmen der anfänglichen Einrichtung der Infrastruktur erstellt haben. Erweitern Sie dann bei der Erstellung des Dienstes den Abschnitt Netzwerk und konfigurieren Sie die VPC, die Subnetze und die Sicherheitsgruppe, die Sie im Rahmen der ersten Einrichtung der Infrastruktur erstellt haben. Weitere Informationen finden Sie unter Anforderungen für die Einrichtung der Infrastruktur für AWS Blu Age Runtime (nicht verwaltet).
Testen Sie die bereitgestellte Anwendung
Ein Beispiel für das Testen der PlanetsDemo Anwendung finden Sie unterTesten Sie die PlanetsDemo Anwendung.