View a markdown version of this page

Menggunakan Pabrik Cetak Biru Perusahaan - AWS Panduan Preskriptif

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

Menggunakan Pabrik Cetak Biru Perusahaan

Bagian ini membantu Anda membuat, memperbarui, atau menghapus cetak biru di lingkungan Anda. Ini memberikan instruksi terperinci untuk mengelola cetak biru sepanjang siklus hidupnya.

Untuk membuat atau memperbarui cetak biru khusus, Anda harus memiliki pemahaman tentang cara membuat templat IAC, seperti AWS CloudFormation templat atau konstruksi. AWS Cloud Development Kit (AWS CDK) Panduan ini tidak menyertakan informasi atau instruksi tentang cara menentukan cetak biru yang Anda rilis melalui Pabrik Cetak Biru Perusahaan.

Prasyarat

Berikut ini adalah prasyarat untuk menggunakan Pabrik Cetak Biru Perusahaan di lingkungan Anda: AWS

  • AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi

  • Izin untuk mengambil peran ServiceCatalogEndUserRole AWS Identity and Access Management (IAM)

  • CloudFormation Template atau AWS CDK konstruksi

Membuat cetak biru

Pipeline Enterprise Blueprint Factory menyebarkan cetak biru yang Anda tentukan dalam file konfigurasi. Pengembang memulai pipeline konfigurasi dengan menggabungkan file konfigurasi ke dalam repositori konfigurasi. Kemudian, Enterprise Blueprint Factory menggunakan ServiceCatalogLaunchConstraintRole untuk menyebarkan cetak biru sebagai produk di Service Catalog. Untuk informasi selengkapnya tentang tindakan yang dilakukan pipeline konfigurasi dan pipeline rilis saat Anda membuat cetak biru, lihat Pembuatan cetak biru dalam panduan ini.

Untuk menambahkan cetak biru ke repositori produk
  1. Pastikan Anda telah menyiapkan Pabrik Cetak Biru Perusahaan Anda sesuai dengan petunjuk dalam Menyiapkan Pabrik Cetak Biru Perusahaan dalam panduan ini.

  2. Konfirmasikan bahwa kebijakan untuk ServiceCataloglogLaunchConstraintRole peran tersebut memungkinkan Anda menyediakan sumber daya yang ditentukan dalam cetak biru.

  3. Di repositori produk (ServiceCatalog-BlueprintProductRepo), buat folder untuk cetak biru baru.

  4. Tempelkan template IAC (CloudFormation template atau AWS CDK konstruksi) ke dalam folder yang Anda buat.

  5. Buat file bernama product_config.json di folder yang Anda buat.

  6. Buka file product_config.json, dan rekatkan yang berikut ini ke dalam file:

    { "SchemaVersion": "1.0", "ProductVersionName": "1.0.1", "Deprecated_Versions" : [], "ProductVersionDescription": "<description>", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "./<folder name>/<file name>" } }

    Di mana:

    • <description>adalah deskripsi singkat dari versi cetak biru

    • <folder name>adalah nama folder yang Anda buat di repositori produk

    • <file name>adalah nama template IAc

    catatan

    Anda dapat memperbarui versi skema atau nama versi produk agar sesuai dengan kebijakan organisasi Anda.

  7. Simpan dan tutup file product_config.json.

  8. Masukkan perintah berikut untuk menggabungkan perubahan ke dalam repositori produk:

    cd ServiceCatalog-BlueprintProductRepo git add <folder name>/<file name> <folder name>\product_config.json git commit -m "The first version of <file name> blueprint" git push origin main
Untuk memperbarui file konfigurasi
  1. Di repositori konfigurasi (ServiceCatalog-ConfigRepo), buka file config.yml.

  2. Edit portfolios bagian dan products bagian sesuai kebutuhan untuk cetak biru baru. Untuk informasi selengkapnya, lihat File konfigurasi dalam panduan ini.

  3. Simpan dan tutup file config.yml.

  4. Masukkan perintah berikut untuk menggabungkan perubahan ke dalam repositori konfigurasi:

    cd ServiceCatalog-ConfigRepo git add config.yml git commit -m "<description of change>" git push origin main

    Persetujuan permintaan tarik ini memulai pipeline konfigurasi. Pipa konfigurasi membuat pipa rilis untuk produk.

Untuk meninjau log penerapan
  1. Masuk ke akun administratif Enterprise Blueprint Factory.

  2. Buka konsol AWS CodePipeline.

  3. Di Name, pilih pipeline rilis untuk produk. Secara default, nama pipeline adalahBluePrint_<Product-Name>-<CloudFormation-Stack-Name>.

  4. Pilih Lihat riwayat.

  5. Lihat status pipa dan eksekusi panggung. Untuk informasi selengkapnya tentang status, lihat Melihat status eksekusi di CodePipeline dokumentasi.

  6. Jika pipa gagal, tinjau penyebab kegagalan. Untuk petunjuk tentang cara mengonfigurasi pemantauan untuk saluran pipa Anda, lihat Memantau saluran pipa dalam dokumentasi. CodePipeline Jika pipeline rilis gagal karena pemeriksaan cfn-lint atau cfn_nag, perbaiki kesalahan dalam templat. Kirim permintaan tarik lain ke repo produk. Ini memulai ulang pipa rilis. Untuk informasi selengkapnya tentang memperbaiki kesalahan templat, lihat bagian Pemecahan Masalah dalam panduan ini.

  7. Tunggu hingga status pipeline rilisSucceeded.

Untuk memvalidasi penerapan
  1. Masuk ke akun konsumen di organisasi.

  2. Asumsikan peran ServiceCatalogEndUserRole IAM.

  3. Buka konsol Service Catalog.

  4. Di panel navigasi, pilih Produk.

  5. Konfirmasikan bahwa produk baru tersedia dalam daftar produk.

Memperbarui cetak biru

Untuk informasi selengkapnya tentang tindakan yang dilakukan pipeline konfigurasi dan pipeline rilis saat Anda membuat cetak biru, lihat Pembaruan cetak biru dalam panduan ini.

Untuk memperbarui cetak biru
  1. Di repositori produk, navigasikan ke folder untuk produk.

  2. Tempel template IAc yang diperbarui. Pastikan nama file sama dengan versi sebelumnya.

  3. Buka file product_config.json.

  4. UntukProductVersionName, perbarui nomor versi.

  5. Jika Anda ingin mencegah versi produk sebelumnya diterapkan di masa mendatang, untukDeprecated_Versions, masukkan nomor versi sebelumnya dalam daftar yang dipisahkan koma.

  6. Masukkan perintah berikut untuk menggabungkan perubahan ke dalam repositori produk:

    cd ServiceCatalog-BlueprintProductRepo git add <folder name>/<file name> <folder name>\product_config.json git commit -m "Version <number> of <file name> blueprint" git push origin main

    Persetujuan permintaan tarik ini memulai jalur rilis untuk produk.

Untuk meninjau log penerapan
  1. Masuk ke akun administratif Enterprise Blueprint Factory.

  2. Buka konsol AWS CodePipeline.

  3. Di Nama, pilih pipeline rilis. Secara default, nama pipeline adalahBluePrint_<Product-Name>-<CloudFormation-Stack-Name>.

  4. Pilih Lihat riwayat.

  5. Lihat status pipa dan eksekusi panggung. Untuk informasi selengkapnya tentang status, lihat Melihat status eksekusi di CodePipeline dokumentasi.

  6. Jika pipa gagal, tinjau penyebab kegagalan. Untuk petunjuk tentang cara mengonfigurasi pemantauan untuk saluran pipa Anda, lihat Memantau saluran pipa dalam dokumentasi. CodePipeline Jika pipeline rilis gagal karena pemeriksaan cfn-lint atau cfn_nag, perbaiki kesalahan dalam templat. Kirim permintaan tarik lain ke repo produk. Ini memulai ulang pipa rilis. Untuk informasi selengkapnya tentang memperbaiki kesalahan templat, lihat bagian Pemecahan Masalah dalam panduan ini.

  7. Tunggu hingga status pipeline rilisSucceeded.

Untuk memvalidasi pembaruan
  1. Masuk ke akun konsumen di organisasi.

  2. Asumsikan peran ServiceCatalogEndUserRole IAM.

  3. Buka konsol Service Catalog.

  4. Di panel navigasi, pilih Produk.

  5. Konfirmasikan bahwa versi produk baru tersedia dalam daftar produk.

Menghapus cetak biru

Saat Anda menghapus produk, Service Catalog menghapus semua versi produk dari setiap portofolio yang berisi produk. Untuk informasi selengkapnya, lihat Menghapus produk dalam dokumentasi Service Catalog. Untuk informasi selengkapnya tentang tindakan yang dilakukan pipeline konfigurasi dan pipeline rilis saat Anda membuat cetak biru, lihat Penghapusan cetak biru dalam panduan ini.

Untuk menghapus cetak biru
  1. Di repositori konfigurasi, buka file config.yml.

  2. Edit bagian produk, hapus atau komentari produk yang ingin Anda hapus.

  3. Simpan dan tutup file config.yml.

  4. Masukkan perintah berikut untuk menggabungkan perubahan ke dalam repositori konfigurasi:

    cd ServiceCatalog-ConfigRepo git add config.yml git commit -m "<description of change>" git push origin main

    Persetujuan permintaan tarik ini memulai pipeline konfigurasi. Pipa konfigurasi menghapus produk dan pipa pelepasannya.

  5. Di repositori produk, hapus folder untuk produk, termasuk isinya.

  6. Masukkan perintah berikut untuk menggabungkan perubahan ke dalam repositori produk:

    cd ServiceCatalog-BlueprintProductRepo git add . git commit -m "Delete <file name> blueprint" git push origin main
Untuk memvalidasi penghapusan
  1. Masuk ke akun konsumen di organisasi.

  2. Asumsikan peran ServiceCatalogEndUserRole IAM.

  3. Buka konsol Service Catalog.

  4. Di panel navigasi, pilih Produk.

  5. Konfirmasikan bahwa produk yang dihapus tidak lagi tersedia.

Pemecahan Masalah

Saat Anda membuat atau memperbarui cetak biru, alat cfn-lint dan cfn-nag memvalidasi cetak biru. Untuk informasi selengkapnya tentang validasi di pipeline rilis, lihat Rilis pipeline dalam panduan ini. Sintaks atau kesalahan keamanan yang dilaporkan menyebabkan pipeline gagal. Agar berhasil menyebarkan cetak biru melalui pipeline rilis, Anda harus memperbaiki kesalahan dalam cetak biru.

Berikut ini adalah contoh output yang menunjukkan dua kesalahan terkait keamanan, kegagalan dan peringatan.

BP-SNS.yml --------------------------------------------------- BP-SNS.yml --------------------------------------------------- | WARN W47 | | Resource: ["ExampleTopic"] | Line numbers: [5] | | SNS Topic should specify KmsMasterKeyId property --------------------------------------------------- | FAIL F18 | | Resource: ["ExampleTopicPolicy"] | Line numbers: [10] | | SNS topic policy should not allow * principal Failures count: 1 Warnings count: 1

Untuk memperbaiki kesalahan ini, dalam file cetak biru, Anda akan mengganti * prinsipal dalam kebijakan topik Amazon Simple Notification Service (Amazon SNS) dan mengaitkan kunci () AWS Key Management Service dengan AWS KMS topik. Contoh kode berikut menunjukkan pembaruan ini.

ExampleTopic: Type: AWS::SNS::Topic Properties: TopicName: ExampleTopic ExampleTopicPolicy: Type: AWS::SNS::TopicPolicy Properties: KmsMasterKeyId: alias/aws/sns # Added KMS key PolicyDocument: Id: Id1 Version: '2012-10-17' Statement: - Sid: Sid2 Effect: Allow Principal: "Service" : "s3.amazonaws.com" # Replaced "AWS": '*' Action: 'sns:Publish' Resource: !Ref ExampleTopic Topics: - !Ref ExampleTopic