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 keAWS Proton layanan.

  • Edit deskripsi layanan.

  • Edit layanan dengan menambahkan dan menghapus instance layanan.

Edit deskripsi layanan

Anda dapat menggunakan konsol atauAWS CLI untuk mengedit deskripsi layanan.

AWS Management Console

Edit layanan menggunakan konsol seperti yang penjelasan berikut ini.

Dalam daftar layanan.
  1. Di AWS Protonkonsol, 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 Konfigurasikan pengaturan khusus, pilih Berikutnya.

  6. Tinjau hasil edit Anda dan pilih Simpan perubahan.

Di halaman detail layanan.
  1. Di AWS Protonkonsol, 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 CLI contoh perintah berikut dan respon.

Perintah:

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

Jawaban:

{ "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

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

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

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

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

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

Untuk kuota instance layanan untuk suatu layanan, lihatAWS Proton kuota. Anda juga harus memelihara setidaknya 1 instans layanan untuk layanan Anda setelah dibuat. Selama proses pembaruan,AWS Proton menghitung instans layanan yang ada dan instans yang akan ditambahkan atau dihapus. Instans yang gagal penghapusan disertakan dalam hitungan ini dan Anda harus memperhitungkannya saat mengeditspec.

Menggunakan konsol atauAWS CLI untuk menambah atau menghapus instance layanan

AWS Management Console

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

Di AWS Protonkonsol

  1. Di panel navigasi, pilih Layanan.

  2. Pilih layanan yang ingin Anda edit.

  3. Pilih Edit.

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

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

  6. Pilih Selanjutnya.

  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

Menambah dan menghapus contoh layanan dengan dieditspec seperti yang ditunjukkan dalamAWS CLI contoh perintah berikut dan tanggapan.

Saat Anda menggunakan CLI, Andaspec harus mengecualikan instans layanan untuk menghapus dan menyertakan instans layanan yang akan ditambahkan dan instans layanan yang ada yang belum Anda tandai untuk dihapus.

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

Spek:

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 CLIlist-service-instances perintah dan respon menunjukkan contoh aktif sebelum menambahkan atau menghapus contoh layanan.

Perintah:

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

Jawaban:

{ "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 yang dieditspec digunakan untuk menghapus dan menambahkan instance. Contoh yangmy-instance ada bernama dihapus dan contoh baru bernamayet-another-instance ditambahkan.

Spek:

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 untuk melestarikan dari aslinyaspec, jika nilai-nilai ada dispec. Gunakanget-service untuk melihat aslispec untuk layanan, seperti yang dijelaskan dalamLihat data layanan.

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

Spek:

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"

Jawaban:

{ "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 menegaskan bahwa instance yangmy-instance ada bernama dihapus dan contoh baru bernamayet-another-instance ditambahkan.

Perintah:

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

Jawaban:

{ "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" } ] }

Hal yang akan terjadi jika Anda menambahkan atau menghapus instans layanan

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

  • Menetapkan layanan untukUPDATE_IN_PROGRESS.

  • Jika layanan memiliki pipa, tetapkan statusnyaIN_PROGRESS dan blok tindakan pipa.

  • Menetapkan setiap contoh layanan yang akan dihapus keDELETE_IN_PROGRESS.

  • Blok tindakan layanan.

  • Memblokir tindakan pada instance layanan yang ditandai untuk dihapus.

  • Membuat instance layanan baru.

  • Menghapus instance yang Anda cantumkan untuk dihapus.

  • Upaya untuk menghapus instans yang gagal dihapus.

  • Setelah penambahan dan penghapusan selesai, tentukan ulang pipeline layanan (jika ada), tetapkan layanan AndaACTIVE dan aktifkan tindakan servis dan pipeline.

AWS Protonmencoba untuk kembali memediasi mode kegagalan sebagai berikut.

  • Jika satu atau beberapa instance layanan gagal dibuat,AWS Proton coba hapus ketentuan semua instans layanan yang baru dibuat dan mengembalikanspec ke status sebelumnya. Itu tidak menghapus instance layanan apa pun dan tidak memodifikasi pipeline dengan cara apa pun.

  • Jika satu atau beberapa instance layanan gagal dihapus,AWS Proton ketentuan ulang pipeline tanpa instans yang dihapus. Diperbaruispec untuk menyertakan instance yang ditambahkan dan untuk mengecualikan instance yang ditandai untuk dihapus.

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

Penandaan dan pengeditan layanan

Ketika Anda menambahkan instance layanan sebagai bagian dari edit layanan Anda, tagAWS terkelola menyebar ke dan secara otomatis dibuat untuk instans baru dan sumber daya yang disediakan. Jika Anda membuat tag baru, tag tersebut hanya diterapkan ke instance baru. Tag yang dikelola pelanggan layanan yang ada juga menyebar ke instans baru. Untuk informasi selengkapnya, lihat AWS Protonsumber daya daya daya daya daya daya.