

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan mengakhiri dukungan untuk AWS Proton. Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses AWS Proton konsol atau AWS Proton sumber daya. Infrastruktur yang Anda gunakan akan tetap utuh. Untuk informasi selengkapnya, lihat Panduan [AWS Proton Pengakhiran Layanan dan Migrasi](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

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

# Membuat layanan
<a name="ag-create-svc"></a>

Untuk menyebarkan aplikasi dengan AWS Proton, sebagai pengembang, Anda membuat layanan dan memberikan masukan berikut.

1. Nama template AWS Proton layanan yang diterbitkan oleh tim platform.

1. Sebuah nama untuk layanan.

1. Jumlah instance layanan yang ingin Anda terapkan.

1. Pilihan lingkungan yang ingin Anda gunakan.

1. Koneksi ke repositori kode Anda jika Anda menggunakan template layanan yang menyertakan pipeline layanan (opsional).

## Apa yang ada dalam layanan?
<a name="ag-create-svc.info"></a>

Saat Anda membuat AWS Proton layanan, Anda dapat memilih dari dua jenis templat layanan yang berbeda:
+ Template layanan yang menyertakan pipeline layanan (default).
+ Template layanan yang *tidak* menyertakan pipeline layanan.

Anda harus membuat setidaknya satu contoh layanan ketika Anda membuat layanan Anda.

Sebuah instance layanan dan pipa opsional dikaitkan dengan layanan. Anda hanya dapat membuat atau menghapus pipeline dalam konteks tindakan *membuat* dan *menghapus* layanan. Untuk mempelajari cara menambah dan menghapus instance dari layanan, lihat[Mengedit layanan](ag-svc-update.md).

**catatan**  
Lingkungan Anda dikonfigurasi untuk penyediaan AWS- atau yang dikelola sendiri. AWS Proton menyediakan layanan di lingkungan menggunakan metode penyediaan yang sama seperti yang digunakan lingkungan. Pengembang yang membuat atau memperbarui instance layanan tidak melihat perbedaannya dan pengalaman mereka sama dalam kedua kasus tersebut.  
Untuk informasi selengkapnya tentang metode penyediaan, lihat. [Bagaimana AWS Proton ketentuan infrastruktur](ag-works-prov-methods.md)

## Templat layanan
<a name="ag-create-svc.templates"></a>

Baik versi utama dan minor dari template layanan tersedia. Saat Anda menggunakan konsol, Anda memilih versi `Recommended` mayor dan minor terbaru dari template layanan. Bila Anda menggunakan AWS CLI dan Anda hanya menentukan versi utama dari template layanan, Anda secara implisit menentukan versi `Recommended` minor terbarunya.

Berikut ini menjelaskan perbedaan antara versi template mayor dan minor dan penggunaannya.
+ Versi baru template menjadi `Recommended` segera setelah disetujui oleh anggota tim platform. Ini berarti bahwa layanan baru dibuat menggunakan versi itu, dan Anda diminta untuk memperbarui layanan yang ada ke versi baru.
+ Melalui AWS Proton, tim platform dapat secara otomatis memperbarui instance layanan ke versi minor baru dari template layanan. Versi minor harus kompatibel ke belakang. 
+ Karena versi utama mengharuskan Anda untuk memberikan input baru sebagai bagian dari proses pembaruan, Anda perlu memperbarui layanan Anda ke versi utama dari template layanannya. Versi utama *tidak* kompatibel ke belakang.

## Membuat layanan
<a name="ag-create-svc.procedure"></a>

Prosedur berikut menunjukkan cara menggunakan AWS Proton konsol atau AWS CLI membuat layanan dengan atau tanpa pipa layanan.

------
#### [ Konsol Manajemen AWS ]

**Buat layanan seperti yang ditunjukkan pada langkah-langkah konsol berikut.**

1. Di [AWS Proton konsol](https://console.aws.amazon.com//proton/), pilih **Layanan**.

1. Pilih **Buat layanan**.

1. Di halaman **Pilih templat layanan**, pilih templat dan pilih **Konfigurasi**.

   Jika Anda *tidak* ingin menggunakan pipeline yang diaktifkan, pilih templat yang ditandai dengan *pipeline Excludes* untuk layanan Anda.

1. Di halaman **Konfigurasi Layanan**, di bagian **Pengaturan layanan**, masukkan **nama Layanan**.

1. (Opsional) Masukkan deskripsi untuk layanan.

1. 

**Di bagian **Pengaturan Repositori Layanan**:**

   1. Untuk **CodeStar Koneksi**, pilih koneksi Anda dari daftar.

   1. Untuk **ID Repositori**, pilih nama repositori kode sumber Anda dari daftar.

   1. Untuk **nama Branch**, pilih nama cabang repositori kode sumber Anda dari daftar.

1. (Opsional) Di bagian **Tag**, pilih **Tambahkan tag baru** dan masukkan kunci dan nilai untuk membuat tag terkelola pelanggan.

1. Pilih **Berikutnya**.

1. Di halaman **Konfigurasi pengaturan kustom**, di bagian **Instans layanan**, di bagian **Instans baru**. Anda harus memasukkan nilai untuk `required` parameter. Anda dapat memasukkan nilai untuk `optional` parameter atau menggunakan default saat diberikan.

1. Di bagian **input Pipeline**, Anda harus memasukkan nilai untuk `required` parameter. Anda dapat memasukkan nilai untuk `optional` parameter atau menggunakan default saat diberikan.

1. Pilih **Berikutnya** dan tinjau masukan Anda.

1. Pilih **Buat**.

   Lihat detail dan status layanan, serta tag AWS terkelola dan tag terkelola pelanggan untuk layanan Anda.

1. Pada panel navigasi, silakan pilih **Layanan**.

   Halaman baru menampilkan daftar layanan Anda bersama dengan status dan detail layanan lainnya.

------
#### [ AWS CLI ]

Saat Anda menggunakan AWS CLI, Anda menentukan input layanan dalam `spec` file berformat YAMAL`.aws-proton/service.yaml`, yang terletak di direktori kode sumber Anda.

Anda dapat menggunakan `get-service-template-minor-version` perintah CLI untuk melihat skema yang diperlukan dan parameter opsional yang Anda berikan nilai dalam file spesifikasi Anda.

Jika Anda ingin menggunakan template layanan yang memiliki`pipelineProvisioning: "CUSTOMER_MANAGED"`, *jangan* sertakan `pipeline:` bagian dalam spesifikasi Anda dan *jangan* sertakan`-repository-connection-arn`,`-repository-id`, dan `-branch-name` parameter dalam `create-service` perintah Anda.

**Buat layanan dengan pipeline layanan seperti yang ditunjukkan pada langkah-langkah CLI berikut.**

1. **Siapkan [peran layanan](security_iam_service-role-policy-examples.md#codepipeline-proton-svc-role) untuk pipeline seperti yang ditunjukkan pada perintah contoh CLI berikut.**

   Perintah:

   ```
   $ aws proton update-account-settings \
           --pipeline-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole"
   ```

1. Daftar berikut menunjukkan contoh spesifikasi, berdasarkan skema template layanan, yang mencakup pipeline layanan dan input instance.

   Spesifikasi:

   ```
   proton: ServiceSpec
   
   pipeline:
     my_sample_pipeline_required_input: "hello"
     my_sample_pipeline_optional_input: "bye"
   
   instances:
     - name: "acme-network-dev"
       environment: "ENV_NAME"
       spec:
         my_sample_service_instance_required_input: "hi"
         my_sample_service_instance_optional_input: "ho"
   ```

   **Buat layanan dengan pipeline seperti yang ditunjukkan pada contoh perintah dan respons CLI berikut.**

   Perintah:

   ```
   $ aws proton create-service \
           --name "MySimpleService" \
           --branch-name "mainline" \
           --template-major-version "1" \
           --template-name "fargate-service" \
           --repository-connection-arn "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \
           --repository-id "myorg/myapp" \
           --spec "file://spec.yaml"
   ```

   Respons:

   ```
   {
       "service": {
           "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
           "createdAt": "2020-11-18T19:50:27.460000+00:00",
           "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
           "name": "MySimpleService",
           "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
           "repositoryId": "myorg/myapp",
           "status": "CREATE_IN_PROGRESS",
           "templateName": "fargate-service"
       }
   }
   ```

**Buat layanan tanpa pipeline layanan seperti yang ditunjukkan pada contoh perintah dan respons CLI berikut.**

Berikut ini menunjukkan contoh spesifikasi yang *tidak menyertakan input* pipeline layanan.

Spesifikasi:

```
proton: ServiceSpec

instances:
  - name: "acme-network-dev"
    environment: "ENV_NAME"
    spec:
      my_sample_service_instance_required_input: "hi"
      my_sample_service_instance_optional_input: "ho"
```

**Untuk membuat layanan *tanpa* pipeline layanan yang disediakan, Anda menyediakan jalur ke a `spec.yaml` dan Anda *tidak* menyertakan parameter repositori seperti yang ditunjukkan pada perintah dan respons contoh CLI berikut.**

Perintah:

```
$ aws proton create-service \
        --name "MySimpleServiceNoPipeline" \
        --template-major-version "1" \
        --template-name "fargate-service" \
        --spec "file://spec-no-pipeline.yaml"
```

Respons:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline",
        "createdAt": "2020-11-18T19:50:27.460000+00:00",
        "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
        "name": "MySimpleServiceNoPipeline",
        "status": "CREATE_IN_PROGRESS",
        "templateName": "fargate-service-no-pipeline"
    }
}
```

------