Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai dengan AWS CLI
Untuk memulai dengan AWS Proton menggunakan AWS CLI, ikuti tutorial ini. Tutorial ini menunjukkan AWS Proton layanan load-balanced yang dihadapi publik berdasarkan. AWS Fargate Tutorial ini juga menyediakan pipa CI/CD yang menyebarkan situs web statis dengan gambar yang ditampilkan.
Sebelum Anda mulai, pastikan Anda sudah diatur dengan benar. Untuk detailnya, lihat Prasyarat.
Langkah 1: Daftarkan template lingkungan
Pada langkah ini, sebagai administrator, Anda mendaftarkan contoh template lingkungan, yang berisi cluster Amazon Elastic Container Service (AmazonECS) dan Amazon Virtual Private Cloud (AmazonVPC) dengan dua subnet publik/pribadi.
Untuk mendaftarkan template lingkungan
-
Garpu repositori CloudFormation Template AWS Proton Sample
ke GitHub akun atau organisasi Anda. Repositori ini mencakup template lingkungan dan layanan yang kita gunakan dalam tutorial ini. Kemudian, daftarkan repositori bercabang Anda dengan. AWS Proton Untuk informasi selengkapnya, lihat Buat tautan ke repositori Anda.
-
Buat template lingkungan.
Sumber daya template lingkungan melacak versi template lingkungan.
$
aws proton create-environment-template \ --name "fargate-env" \ --display-name "Public VPC Fargate" \ --description "VPC with public access and ECS cluster"
-
Buat konfigurasi sinkronisasi templat.
AWS Proton mengatur hubungan sinkronisasi antara repositori dan template lingkungan Anda. Kemudian membuat template versi 1.0 dalam
DRAFT
status.$
aws proton create-template-sync-config \ --template-name "fargate-env" \ --template-type "ENVIRONMENT" \ --repository-name "
your-forked-repo
" \ --repository-provider "GITHUB" \ --branch "your-branch
" \ --subdirectory "environment-templates/fargate-env" -
Tunggu hingga versi template lingkungan berhasil didaftarkan.
Ketika perintah ini kembali dengan status keluar dari
0
, pendaftaran versi selesai. Ini berguna dalam skrip untuk memastikan Anda berhasil menjalankan perintah di langkah berikutnya.$
aws proton wait environment-template-version-registered \ --template-name "fargate-env" \ --major-version "1" \ --minor-version "0"
-
Publikasikan versi template lingkungan agar tersedia untuk pembuatan lingkungan.
$
aws proton update-environment-template-version \ --template-name "fargate-env" \ --major-version "1" \ --minor-version "0" \ --status "PUBLISHED"
Langkah 2: Daftarkan template layanan
Pada langkah ini, sebagai administrator, Anda mendaftarkan contoh templat layanan, yang berisi semua sumber daya yang diperlukan untuk menyediakan layanan Amazon ECS Fargate di belakang penyeimbang beban dan pipeline CI/CD yang digunakan. AWS CodePipeline
Untuk mendaftarkan template layanan
-
Buat template layanan.
Sumber daya template layanan melacak versi template layanan.
$
aws proton create-service-template \ --name "load-balanced-fargate-svc" \ --display-name "Load balanced Fargate service" \ --description "Fargate service with an application load balancer"
-
Buat konfigurasi sinkronisasi templat.
AWS Proton mengatur hubungan sinkronisasi antara repositori dan template layanan Anda. Kemudian membuat template versi 1.0 dalam
DRAFT
status.$
aws proton create-template-sync-config \ --template-name "load-balanced-fargate-svc" \ --template-type "SERVICE" \ --repository-name "
your-forked-repo
" \ --repository-provider "GITHUB" \ --branch "your-branch
" \ --subdirectory "service-templates/load-balanced-fargate-svc" -
Tunggu hingga versi template layanan berhasil didaftarkan.
Ketika perintah ini kembali dengan status keluar dari
0
, pendaftaran versi selesai. Ini berguna dalam skrip untuk memastikan Anda berhasil menjalankan perintah di langkah berikutnya.$
aws proton wait service-template-version-registered \ --template-name "load-balanced-fargate-svc" \ --major-version "1" \ --minor-version "0"
-
Publikasikan versi template layanan untuk membuatnya tersedia untuk pembuatan layanan.
$
aws proton update-service-template-version \ --template-name "load-balanced-fargate-svc" \ --major-version "1" \ --minor-version "0" \ --status "PUBLISHED"
Langkah 3: Menyebarkan lingkungan
Pada langkah ini, sebagai administrator, Anda membuat instance AWS Proton lingkungan dari template lingkungan.
Untuk menyebarkan lingkungan
-
Dapatkan contoh file spesifikasi untuk template lingkungan yang Anda daftarkan.
Anda dapat mengunduh file
environment-templates/fargate-env/spec/spec.yaml
dari repositori contoh template. Atau, Anda dapat mengambil seluruh repositori secara lokal dan menjalankan create-environment perintah dari direktori.environment-templates/fargate-env
-
Buat lingkungan.
AWS Proton membaca nilai input dari spesifikasi lingkungan Anda, menggabungkannya dengan template lingkungan Anda, dan menyediakan sumber daya lingkungan di AWS akun Anda menggunakan peran AWS Proton layanan Anda.
$
aws proton create-environment \ --name "fargate-env-prod" \ --template-name "fargate-env" \ --template-major-version 1 \ --proton-service-role-arn "arn:aws:iam::
123456789012
:role/AWS ProtonServiceRole
" \ --spec "file://spec/spec.yaml" -
Tunggu hingga lingkungan berhasil diterapkan.
$
aws proton wait environment-deployed --name "fargate-env-prod"
Langkah 4: Menyebarkan layanan [pengembang aplikasi]
Pada langkah sebelumnya, administrator mendaftarkan dan menerbitkan template layanan dan menerapkan lingkungan. Sebagai pengembang aplikasi, Anda sekarang dapat membuat AWS Proton layanan dan menyebarkannya ke lingkungan AWS Proton
Untuk menyebarkan layanan
-
Dapatkan contoh file spesifikasi untuk template layanan yang didaftarkan administrator.
Anda dapat mengunduh file
service-templates/load-balanced-fargate-svc/spec/spec.yaml
dari repositori contoh template. Atau, Anda dapat mengambil seluruh repositori secara lokal dan menjalankan create-service perintah dari direktori.service-templates/load-balanced-fargate-svc
-
Memindahkan repositori Layanan AWS Proton Sampel
ke GitHub akun atau organisasi Anda. Repositori ini mencakup kode sumber aplikasi yang kita gunakan dalam tutorial ini. -
Buat sebuah layanan.
AWS Proton membaca nilai input dari spesifikasi layanan Anda, menggabungkannya dengan templat layanan Anda, dan menyediakan sumber daya layanan di AWS akun Anda di lingkungan yang ditentukan dalam spesifikasi. AWS CodePipeline Pipeline menyebarkan kode aplikasi Anda dari repositori yang Anda tentukan dalam perintah.
$
aws proton create-service \ --name "static-website" \ --repository-connection-arn \ "arn:aws:codestar-connections:us-east-1:
123456789012
:connection/your-codestar-connection-id
" \ --repository-id "your-GitHub-account
/aws-proton-sample-services" \ --branch-name "main
" \ --template-major-version 1 \ --template-name "load-balanced-fargate-svc" \ --spec "file://spec/spec.yaml" -
Tunggu hingga layanan berhasil diterapkan.
$
aws proton wait service-created --name "static-website"
-
Ambil output dan lihat situs web baru Anda.
Jalankan perintah berikut:
$
aws proton list-service-instance-outputs \ --service-name "static-website" \ --service-instance-name load-balanced-fargate-svc-prod
Output perintah harus mirip dengan yang berikut ini:
{ "outputs": [ { "key": "ServiceURL", "valueString": "http://
your-service-endpoint
.us-east-1.elb.amazonaws.com" } ] }Nilai output
ServiceURL
instance adalah titik akhir ke situs web layanan baru Anda. Gunakan browser Anda untuk menavigasi ke sana. Anda akan melihat grafik berikut pada halaman statis:
Langkah 5: Bersihkan (opsional)
Pada langkah ini, ketika Anda selesai menjelajahi AWS sumber daya yang Anda buat sebagai bagian dari tutorial ini, dan untuk menghemat biaya yang terkait dengan sumber daya ini, Anda menghapusnya.
Untuk menghapus sumber daya tutorial
-
Untuk menghapus layanan, jalankan perintah berikut:
$
aws proton delete-service --name "static-website"
-
Untuk menghapus lingkungan, jalankan perintah berikut:
$
aws proton delete-environment --name "fargate-env-prod"
-
Untuk menghapus template layanan, jalankan perintah berikut:
$
aws proton delete-template-sync-config \ --template-name "load-balanced-fargate-svc" \ --template-type "SERVICE"
$
aws proton delete-service-template --name "load-balanced-fargate-svc"
-
Untuk menghapus template lingkungan, jalankan perintah berikut:
$
aws proton delete-template-sync-config \ --template-name "fargate-env" \ --template-type "ENVIRONMENT"
$
aws proton delete-environment-template --name "fargate-env"