Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan AWS Blu Age Runtime pada kontainer
Topik ini menjelaskan cara menyiapkan dan menerapkan aplikasi PlanetsDemo sampel menggunakan AWS Blu Age Runtime pada wadah docker.
AWS Blu Age Runtime pada container tersedia untuk Amazon ECS yang dikelola oleh Amazon, EC2 Amazon ECS yang dikelola oleh, AWS Fargate dan Amazon EKS yang dikelola oleh Amazon. EC2 Ini tidak kompatibel dengan Amazon EKS yang dikelola oleh AWS Fargate.
Prasyarat
Sebelum Anda mulai, pastikan Anda menyelesaikan prasyarat berikut.
-
Konfigurasikan AWS CLI dengan mengikuti langkah-langkah dalam Mengonfigurasi AWS CLI.
-
Lengkap AWS Prasyarat Blu Age Runtime danOrientasi AWS Blu Age Runtime .
-
Unduh binari AWS Blu Age Runtime. Untuk petunjuk, lihat Orientasi AWS Blu Age Runtime .
-
Unduh binari Apache Tomcat 10.
-
Unduh arsip PlanetsDemo aplikasi
. -
Buat database Amazon Aurora PostgreSQL untuk JICS, dan jalankan kueri di atasnya.
PlanetsDemo-v1/jics/sql/initJics.sql
Untuk informasi tentang cara membuat database PostgreSQL Amazon Aurora, lihat, Membuat dan menghubungkan ke klaster DB PostgreSQL Aurora.
Pengaturan
Untuk mengatur aplikasi PlanetsDemo sampel, selesaikan langkah-langkah berikut.
-
Setelah mengunduh binari Apache Tomcat, ekstrak isinya, dan buka folder.
conf
Buka
file untuk diedit dan ganti baris yang dimulaicatalina.properties
dengan baris berikut.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"
-
Kompres folder Apache Tomcat dengan menggunakan perintah tar untuk membangun arsip `tar.gz`.
-
Siapkan Dockerfile
untuk membangun gambar kustom Anda berdasarkan binari runtime yang disediakan dan binari server Apache Tomcat. Lihat contoh berikut Dockerfile. Tujuannya adalah untuk menginstal Apache Tomcat 10, diikuti oleh AWS Blu Age Runtime (untuk Amazon ECS dikelola oleh AWS Fargate) diekstraksi di root direktori instalasi Apache Tomcat 10, dan kemudian untuk menginstal contoh aplikasi modern bernama. PlanetsDemo catatan
Isi skrip install-gapwalk.sh dan install-app.sh, yang digunakan dalam contoh ini Dockerfile, terdaftar setelah Dockerfile.
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"]
Berikut ini adalah isi dari
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}
Berikut ini adalah isi dari
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/
-
Berikan informasi koneksi untuk database yang Anda buat sebagai bagian dari prasyarat dalam cuplikan berikut dalam
application-main.yml
file, yang terletak di folder.{TOMCAT_GAPWALK_DIR}/config
Untuk informasi selengkapnya lihat, Membuat dan menghubungkan ke klaster DB PostgreSQL Aurora.datasource: jicsDs: driver-class-name : url: username: password: type :
-
Buat dan dorong gambar ke repositori Amazon ECR Anda. Untuk petunjuknya, lihat Mendorong gambar Docker di Panduan Pengguna Amazon Elastic Container Registry. Kemudian, tergantung pada situasi Anda, buat pod Amazon EKS atau definisi tugas Amazon ECS menggunakan image Amazon ECR Anda, dan terapkan ke cluster Anda. Misalnya saat membuat ini, lihat Membuat definisi tugas menggunakan konsol di Panduan Pengembang Amazon Elastic Container Service (Amazon ECS) Container Service (Amazon ECS) dan Menerapkan contoh aplikasi di Panduan Pengguna Amazon EKS.
-
Khususnya, untuk Amazon ECS yang dikelola berdasarkan AWS Fargate kasus, saat membuat definisi Tugas, gunakan peran IAM yang Anda buat sebagai bagian dari penyiapan Infrastruktur awal. Kemudian, saat membuat layanan, perluas bagian Jaringan, dan konfigurasikan VPC, subnet, dan grup keamanan yang Anda buat sebagai bagian dari penyiapan Infrastruktur awal. Lihat, Persyaratan penyiapan infrastruktur untuk AWS Blu Age Runtime (tidak dikelola).
Uji aplikasi yang digunakan
Untuk contoh cara menguji PlanetsDemo aplikasi, lihatUji PlanetsDemo aplikasinya.