Mengedit layanan - AWS Proton

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengedit layanan

Anda dapat melakukan pengeditan berikut ke AWS Proton layanan.

  • Edit deskripsi layanan.

  • Edit layanan dengan menambahkan dan menghapus instance layanan.

Edit deskripsi layanan

Anda dapat menggunakan konsol atau AWS CLI untuk mengedit deskripsi layanan.

AWS Management Console

Edit layanan menggunakan konsol seperti yang dijelaskan dalam langkah-langkah berikut.

Dalam daftar layanan.
  1. Di AWS Proton konsol, pilih Layanan.

  2. Dalam daftar layanan, pilih tombol radio di sebelah kiri layanan yang ingin Anda perbarui.

  3. Pilih Edit.

  4. Di halaman Konfigurasi layanan, isi formulir dan pilih Berikutnya.

  5. Di halaman Konfigurasi pengaturan kustom, pilih Berikutnya.

  6. Tinjau hasil edit Anda dan pilih Simpan perubahan.

Di halaman detail layanan.
  1. Di AWS Proton konsol, pilih Layanan.

  2. Dalam daftar layanan, pilih nama layanan yang ingin Anda edit.

  3. Di halaman detail layanan, pilih Edit.

  4. Di halaman Konfigurasi layanan, isi formulir dan pilih Berikutnya.

  5. Di halaman Konfigurasi pengaturan khusus, isi formulir dan pilih Berikutnya.

  6. Tinjau hasil edit Anda dan pilih Simpan perubahan.

AWS CLI

Mengedit deskripsi seperti yang ditunjukkan dalam contoh CLI berikut perintah dan respon.

Perintah:

$ aws proton update-service \ --name "MySimpleService" \ --description "Edit by updating description"

Respons:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "branchName": "main", "createdAt": "2021-03-12T22:39:42.318000+00:00", "description": "Edit by updating description", "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "my-repository/myorg-myapp", "status": "ACTIVE", "templateName": "fargate-service" } }

Mengedit layanan untuk menambah atau menghapus instance layanan

Untuk AWS Proton layanan, Anda dapat menambahkan atau menghapus instance layanan dengan mengirimkan spesifikasi yang telah diedit. Ketentuan berikut harus dipenuhi untuk permintaan yang berhasil:

  • Layanan dan pipeline Anda belum diedit atau dihapus saat Anda mengirimkan permintaan edit.

  • Spesifikasi Anda yang telah diedit tidak menyertakan pengeditan yang mengubah pipeline layanan atau pengeditan ke instance layanan yang ada yang tidak akan dihapus.

  • Spesifikasi Anda yang telah diedit tidak menghapus instance layanan yang ada yang memiliki komponen terlampir. Untuk menghapus instance layanan seperti itu, Anda harus memperbarui komponen terlebih dahulu untuk melepaskannya dari instance layanannya. Untuk informasi selengkapnya tentang komponen, lihatAWS Proton komponen.

Instans yang gagal penghapusan adalah instance layanan di negara bagian. DELETE_FAILED Saat Anda meminta pengeditan layanan, AWS Proton upaya menghapus instans yang gagal dihapus untuk Anda, sebagai bagian dari proses pengeditan. Jika salah satu instance layanan Anda gagal dihapus, mungkin masih ada sumber daya yang terkait dengan instans, meskipun tidak terlihat dari konsol atau. AWS CLI Periksa sumber daya infrastruktur instans yang gagal dihapus dan bersihkan sehingga AWS Proton dapat menghapusnya untuk Anda.

Untuk kuota instans layanan untuk layanan, lihat. AWS Proton kuota Anda juga harus menyimpan setidaknya 1 instance layanan untuk layanan Anda setelah dibuat. Selama proses pembaruan, AWS Proton hitung instance layanan yang ada dan instance yang akan ditambahkan atau dihapus. Instans yang gagal penghapusan disertakan dalam hitungan ini dan Anda harus memperhitungkannya saat mengedit. spec

Gunakan konsol atau AWS CLI untuk menambah atau menghapus instance layanan

AWS Management Console

Edit layanan Anda untuk menambah atau menghapus instance layanan menggunakan konsol.

Di AWS Proton konsol

  1. Pada panel navigasi, silakan pilih Layanan.

  2. Pilih layanan yang ingin Anda edit.

  3. Pilih Edit.

  4. (Opsional) Pada halaman Konfigurasi layanan, edit nama atau deskripsi layanan, lalu pilih Berikutnya.

  5. Pada halaman Konfigurasi pengaturan kustom, pilih Hapus untuk menghapus instance layanan dan pilih Tambahkan instance baru untuk menambahkan instance layanan dan mengisi formulir.

  6. Pilih Berikutnya.

  7. Tinjau pembaruan Anda dan pilih Simpan perubahan.

  8. Modal meminta Anda untuk memverifikasi penghapusan instance layanan. Ikuti instruksi dan pilih Ya, hapus.

  9. Pada halaman detail layanan, lihat detail status untuk layanan Anda.

AWS CLI

Tambahkan dan hapus instance layanan dengan diedit spec seperti yang ditunjukkan pada AWS CLI contoh perintah dan tanggapan berikut.

Saat Anda menggunakan CLI, Anda spec harus mengecualikan instance layanan untuk dihapus dan menyertakan instance layanan yang akan ditambahkan dan instance layanan yang ada yang belum Anda tandai untuk dihapus.

Daftar berikut menunjukkan contoh spec sebelum pengeditan dan daftar instance layanan yang digunakan oleh spesifikasi. Spesifikasi ini digunakan dalam contoh sebelumnya untuk mengedit deskripsi layanan.

Spesifikasi:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "abc" my_sample_pipeline_required_input: "123" instances: - name: "my-instance" environment: "simple-env" spec: my_sample_service_instance_optional_input: "def" my_sample_service_instance_required_input: "456" - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

Contoh berikut CLI list-service-instances perintah dan respon menunjukkan instance aktif sebelum menambahkan atau menghapus instance layanan.

Perintah:

$ aws proton list-service-instances \ --service-name "MySimpleService"

Respons:

{ "serviceInstances": [ { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00", "name": "my-other-instance", "serviceName": "example-svc", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" }, { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.160000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:39:43.160000+00:00", "name": "my-instance", "serviceName": "example-svc", "serviceTemplateArn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" } ] }

Daftar berikut menunjukkan contoh diedit yang spec digunakan untuk menghapus dan menambahkan instance. Instance yang my-instance ada bernama dihapus dan instance baru bernama yet-another-instance ditambahkan.

Spesifikasi:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "abc" my_sample_pipeline_required_input: "123" instances: - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789" - name: "yet-another-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

Anda dapat menggunakan "${Proton::CURRENT_VAL}" untuk menunjukkan nilai parameter mana yang harus dipertahankan dari aslinyaspec, jika nilainya ada dispec. Gunakan get-service untuk melihat yang asli spec untuk layanan, seperti yang dijelaskan dalamLihat data layanan.

Daftar berikut menunjukkan cara yang dapat Anda gunakan "${Proton::CURRENT_VAL}" untuk memastikan bahwa Anda spec tidak menyertakan perubahan nilai parameter agar instance layanan yang ada tetap ada.

Spesifikasi:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}" my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}" instances: - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}" - name: "yet-another-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

Daftar berikutnya menunjukkan perintah CLI dan respons untuk mengedit layanan.

Perintah:

$ aws proton update-service --name "MySimpleService" \ --description "Edit by adding and deleting a service instance" \ --spec "file://spec.yaml"

Respons:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "branchName": "main", "createdAt": "2021-03-12T22:39:42.318000+00:00", "description": "Edit by adding and deleting a service instance", "lastModifiedAt": "2021-03-12T22:55:48.169000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "my-repository/myorg-myapp", "status": "UPDATE_IN_PROGRESS", "templateName": "fargate-service" } }

list-service-instancesPerintah dan respons berikut mengonfirmasi bahwa instance yang my-instance ada bernama dihapus dan instance baru bernama yet-another-instance ditambahkan.

Perintah:

$ aws proton list-service-instances \ --service-name "MySimpleService"

Respons:

{ "serviceInstances": [ { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/yet-another-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:56:01.565000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:56:01.565000+00:00", "name": "yet-another-instance", "serviceName": "MySimpleService", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" }, { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00", "name": "my-other-instance", "serviceName": "MySimpleService", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" } ] }

Apa yang terjadi ketika Anda menambahkan atau menghapus instance layanan

Setelah Anda mengirimkan suntingan layanan untuk menghapus dan menambahkan instance layanan, AWS Proton lakukan tindakan berikut.

  • Menetapkan layanan keUPDATE_IN_PROGRESS.

  • Jika layanan memiliki pipeline, tetapkan statusnya ke IN_PROGRESS dan blokir tindakan pipeline.

  • Menetapkan instance layanan apa pun yang akan dihapus. DELETE_IN_PROGRESS

  • Memblokir tindakan layanan.

  • Memblokir tindakan pada instance layanan yang ditandai untuk dihapus.

  • Membuat instance layanan baru.

  • Menghapus instance yang Anda cantumkan untuk dihapus.

  • Mencoba untuk menghapus instance deletion-failed.

  • Setelah penambahan dan penghapusan selesai, berikan kembali jalur pipa layanan (jika ada), atur layanan Anda ACTIVE dan aktifkan tindakan layanan dan saluran pipa.

AWS Proton mencoba untuk menengahi kembali mode kegagalan sebagai berikut.

  • Jika satu atau beberapa instance layanan gagal dibuat, AWS Proton coba hapus penyediaan semua instance layanan yang baru dibuat dan kembalikan spec ke status sebelumnya. Itu tidak menghapus instance layanan apa pun dan tidak mengubah pipeline dengan cara apa pun.

  • Jika satu atau beberapa instance layanan gagal dihapus, berikan AWS Proton kembali pipeline tanpa instans yang dihapus. specIni diperbarui untuk menyertakan instance yang ditambahkan dan untuk mengecualikan instance yang ditandai untuk dihapus.

  • Jika pipeline gagal dalam penyediaan, rollback tidak dicoba dan layanan dan pipeline mencerminkan status pembaruan yang gagal.

Penandaan dan pengeditan layanan

Saat Anda menambahkan instance layanan sebagai bagian dari pengeditan layanan, tag AWS terkelola menyebar ke dan secara otomatis dibuat untuk instance baru dan sumber daya yang disediakan. Jika Anda membuat tag baru, tag tersebut hanya diterapkan ke instance baru. Tag terkelola pelanggan layanan yang ada juga menyebar ke instance baru. Untuk informasi selengkapnya, lihat AWS Proton sumber daya dan penandaan.