Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan aplikasi Java lokal ke AWS menggunakan AWS App2Container
Dhananjay Karanjkar, Amazon Web Services
Ringkasan
Pemberitahuan: AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan AWS yang sudah ada CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
AWS App2Container (A2C) adalah alat baris perintah yang membantu mengubah aplikasi yang ada yang berjalan di mesin virtual menjadi wadah, tanpa perlu perubahan kode apa pun. A2C menemukan aplikasi yang berjalan di server, mengidentifikasi dependensi, dan menghasilkan artefak yang relevan untuk penyebaran tanpa batas ke Amazon Elastic Container Service (Amazon ECS) Container Service (Amazon ECS) dan Amazon Elastic Kubernetes Service (Amazon EKS).
Pola ini menyediakan langkah-langkah untuk memigrasikan aplikasi Java lokal dari jarak jauh yang diterapkan pada server aplikasi ke AWS Fargate atau Amazon EKS dengan menggunakan App2Container melalui mesin pekerja.
Mesin pekerja dapat digunakan dalam kasus penggunaan berikut:
Instalasi Docker tidak diperbolehkan atau tidak tersedia di server aplikasi tempat aplikasi Java berjalan.
Anda harus mengelola migrasi beberapa aplikasi yang digunakan pada server fisik atau virtual yang berbeda.
Pola ini menggunakan AWS CodeCommit AWS CodePipeline,, dan AWS CodeBuild.
Prasyarat dan batasan
Prasyarat
Server aplikasi dengan aplikasi Java yang berjalan di server Linux
Mesin pekerja dengan sistem operasi Linux
Mesin pekerja dengan setidaknya 20 GB ruang disk yang tersedia
Batasan
Tidak semua aplikasi didukung. Untuk informasi selengkapnya, lihat Aplikasi yang didukung untuk Linux.
Arsitektur
Tumpukan teknologi sumber
Aplikasi Java berjalan di server Linux
Tumpukan teknologi target
AWS CodeBuild
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
Amazon Elastic Container Registry
AWS Fargate
Arsitektur target

Alat
Alat
AWS App2Container — AWS App2Container (A2C) adalah alat baris perintah untuk membantu Anda mengangkat dan memindahkan aplikasi yang berjalan di pusat data lokal atau di mesin virtual, sehingga mereka berjalan dalam wadah yang dikelola oleh Amazon ECS atau Amazon EKS.
AWS CodeBuild — AWS CodeBuild adalah layanan build yang dikelola sepenuhnya di cloud. CodeBuild mengkompilasi kode sumber Anda, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.
AWS CodeCommit — AWS CodeCommit adalah layanan kontrol versi yang dihosting oleh Amazon Web Services yang dapat Anda gunakan untuk menyimpan dan mengelola aset secara pribadi (seperti dokumen, kode sumber, dan file biner) di cloud.
AWS CodePipeline — AWS CodePipeline adalah layanan pengiriman berkelanjutan yang dapat Anda gunakan untuk memodelkan, memvisualisasikan, dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perangkat lunak Anda.
Amazon ECS — Amazon Elastic Container Service (Amazon ECS) adalah layanan manajemen kontainer yang sangat skalabel dan cepat untuk menjalankan, menghentikan, dan mengelola kontainer di klaster.
Amazon ECR — Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri gambar kontainer terkelola AWS yang aman, terukur, dan andal.
Amazon EKS — Amazon Elastic Kubernetes Service (Amazon EKS) adalah layanan terkelola yang dapat Anda gunakan untuk menjalankan Kubernetes di AWS tanpa perlu menginstal, mengoperasikan, dan memelihara control plane atau node Kubernetes Anda sendiri.
AWS Fargate — AWS Fargate adalah teknologi yang dapat Anda gunakan dengan Amazon ECS untuk menjalankan container tanpa harus mengelola server atau cluster instans Amazon Elastic Compute Cloud (Amazon). EC2 Dengan Fargate, Anda tidak perlu menyediakan, mengonfigurasi, atau menskalakan klaster mesin virtual untuk menjalankan kontainer.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat rahasia untuk mengakses server aplikasi. | Untuk mengakses server aplikasi dari jarak jauh dari mesin pekerja, buat rahasia di AWS Secrets Manager. Untuk rahasia Anda, Anda dapat menggunakan kunci pribadi SSH atau Sertifikat dan kunci pribadi SSH. Untuk informasi selengkapnya, lihat Mengelola rahasia untuk AWS App2Container. | DevOps, Pengembang |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Instal file tar. | Jalankan | DevOps, Pengembang |
Instal AWS CLI. | Untuk menginstal Amazon Command Line Interface (AWS CLI), jalankan. Buka ritsleting Jalankan | DevOps, Pengembang |
Instal App2Container. | Jalankan perintah berikut:
| DevOps, Pengembang |
Konfigurasikan profil. | Untuk mengonfigurasi profil default AWS, jalankan Untuk mengonfigurasi profil default AWS bernama, jalankan | DevOps, Pengembang |
Pasang Docker. | Jalankan perintah berikut.
| |
Inisialisasi App2Container. | Untuk menginisialisasi App2Container, Anda memerlukan informasi berikut:
Jalankan | DevOps, Pengembang |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Konfigurasikan mesin pekerja untuk menghubungkan dan menjalankan perintah App2Container dari jarak jauh di server aplikasi. | Untuk mengkonfigurasi mesin pekerja, informasi berikut diperlukan:
Jalankan | DevOps, Pengembang |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Temukan aplikasi Java lokal. | Untuk menemukan semua aplikasi yang berjalan di server aplikasi dari jarak jauh, jalankan perintah berikut.
Perintah ini menghasilkan daftar aplikasi yang digunakan di | Pengembang, DevOps |
Analisis aplikasi yang ditemukan. | Untuk menganalisis setiap aplikasi dari jarak jauh dengan menggunakan id aplikasi yang diperoleh pada tahap inventaris, jalankan perintah berikut.
Ini menghasilkan | Pengembang, DevOps |
Ekstrak aplikasi yang dianalisis. | Untuk menghasilkan arsip aplikasi untuk aplikasi yang dianalisis, jalankan perintah berikut dari jarak jauh, yang akan menghasilkan bundel tar di lokasi ruang kerja.
Artefak yang diekstraksi dapat dihasilkan pada mesin pekerja lokal. | Pengembang, DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kontainerisasi artefak yang diekstraksi. | Kontainerisasi artefak yang diekstraksi pada langkah sebelumnya dengan menjalankan perintah berikut.
| Pengembang, DevOps |
Selesaikan target. | Untuk menyelesaikan target, buka | Pengembang, DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hasilkan artefak penerapan AWS di mesin pekerja. | Untuk menghasilkan artefak penyebaran, jalankan perintah berikut.
Ini menghasilkan CloudFormation template | DevOps |
Menyediakan artefak. | Untuk menyediakan lebih lanjut artefak yang dihasilkan, terapkan CloudFormation template AWS dengan menjalankan perintah berikut.
| DevOps |
Hasilkan pipa. | Modifikasi | DevOps |