View a markdown version of this page

Menyiapkan 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.

Menyiapkan Pabrik Cetak Biru Perusahaan

Bagian ini membantu Anda mengatur Pabrik Cetak Biru Perusahaan di lingkungan Anda. AWS Ini mencakup instruksi terperinci untuk menyiapkan repositori yang diperlukan dan AWS sumber daya untuk Pabrik Cetak Biru Perusahaan.

Prasyarat

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

  • Berikut ini Akun AWS:

    • Akun yang digunakan untuk mengelola Enterprise Blueprint Factory dan untuk merilis produk

    • Satu atau lebih akun yang mengkonsumsi produk yang dirilis

  • Semua akun adalah:

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

  • Izin untuk menyebarkan AWS CloudFormation tumpukan yang membuat sumber daya berikut: AWS

    • Grup CloudWatch log Amazon Logs

    • AWS CodePipeline jaringan pipa

    • AWS CodeBuild proyek

    • Kebijakan dan aturan bus EventBridge acara Amazon

    • AWS Identity and Access Management (IAM) peran dan kebijakan

    • AWS Key Management Service (AWS KMS) kebijakan kunci dan kunci

    • AWS Service Catalog portofolio, produk, dan produk yang disediakan

    • Topik, kebijakan topik, dan langganan Amazon Simple Notification Service (Amazon SNS)

    • Ember Amazon Simple Storage Service (Amazon S3)

    • AWS Systems Manager Parameter Menyimpan parameter

    Untuk informasi selengkapnya tentang menyiapkan izin ini, lihat CloudFormation dokumentasi dan Kebijakan implementasi untuk izin hak istimewa paling sedikit. AWS CloudFormation

  • Sebuah GitHub akun

Praktik terbaik

Kami menyarankan Anda mengikuti praktik terbaik ini saat menyiapkan Pabrik Cetak Biru Perusahaan di lingkungan Anda: AWS

  • Saat mengonfigurasi izin yang diperlukan untuk menyebarkan Pabrik Cetak Biru Perusahaan, ikuti prinsip hak istimewa paling sedikit dan berikan izin minimum yang diperlukan. Untuk informasi selengkapnya, lihat Berikan hak istimewa terkecil dan praktik terbaik Keamanan dalam dokumentasi IAM.

  • Saat mengonfigurasi akses ke portofolio Service Catalog, ikuti prinsip hak istimewa paling sedikit dan berikan akses hanya ke peran, pengguna, atau administrator tertentu. Ikuti praktik terbaik keamanan untuk Service Catalog.

Membuat repositori

Bagian ini membantu Anda mengatur repositori konfigurasi dan repositori produk untuk Enterprise Blueprint Factory. Untuk mengatur repositori Anda, Anda melakukan fork pada repositori yang disediakan. GitHub Kemudian, Anda gunakan AWS CodeConnections untuk membuat koneksi ke GitHub repositori Anda. Kemudian, Anda mengkloning GitHub repositori ke mesin lokal Anda.

Untuk melakukan fork GitHub repositori
  1. Masuk ke GitHub.

  2. Arahkan ke GitHub repositori repo Konfigurasi.

  3. Pilih garpu.

  4. Pada halaman Buat garpu baru, di kotak nama Repositori, masukkan. ServiceCatalog-ConfigRepo

  5. (Opsional) Masukkan deskripsi.

  6. Pilih Salin cabang utama saja.

  7. Pilih Buat garpu.

  8. Ulangi langkah-langkah ini untuk melakukan fork pada GitHub repositori repo Kode. Masukkan nama ServiceCatalog-CodeRepo untuk repositori ini.

  9. Ulangi langkah-langkah ini untuk melakukan fork pada GitHub repositori repo Produk. Masukkan nama ServiceCatalog-BlueprintProductRepo untuk repositori ini.

Untuk membuat CodeConnections koneksi
  1. Di AWS CLI, masukkan perintah berikut untuk membuat CodeConnections koneksi ke: GitHub

    aws codeconnections create-connection --provider-type GitHub --connection-name <MyConnection>
  2. Gunakan konsol Alat AWS Pengembang untuk menyelesaikan koneksi. Untuk informasi selengkapnya, lihat Memperbarui sambungan yang tertunda.

Untuk mengkloning repositori bercabang
  • Masukkan perintah berikut untuk mengkloning GitHub repositori ke workstation lokal Anda:

    git clone git@github.com:<user>/aws-enterprise-blueprint-factory-config-repo ServiceCatalog-ConfigRepo git clone git@github.com:<user>/aws-enterprise-blueprint-factory-blueprint-repo ServiceCatalog-BlueprintProductRepo git clone git@github.com:<user>/aws-enterprise-blueprint-factory-code-repo ServiceCatalog-CodeRepo

Menyiapkan Pabrik Cetak Biru Perusahaan

Petunjuk di bagian ini menjelaskan cara menyiapkan Pabrik Cetak Biru Perusahaan di akun target Anda. Repo produk yang Anda kloning GitHub berisi dua contoh CloudFormation template, BP-S3 dan. BP-SNS Dengan mengikuti petunjuk ini, Anda menerapkan dua contoh cetak biru ini sebagai produk di Service Catalog.

Untuk mengatur peran
  1. Di akun Pengembang Blueprint, buat kebijakan kepercayaan berikut, lalu simpan sebagai: sc-enduserrole-trust-policy.json

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ServiceCatalogEndUserRole" }, "Action": "sts:AssumeRole" } }
  2. Masukkan perintah berikut untuk membuat peran ServiceCatalogEndUserRole IAM:

    aws iam create-role \ --role-name ServiceCatalogEndUserRole \ --assume-role-policy-document file://sc-enduserrole-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogEndUserFullAccess \ -- role-name ServiceCatalogEndUserRole
    catatan

    Pengembang menggunakan ServiceCatalogEndUserRole peran tersebut untuk menyediakan produk Service Catalog. Peran ini tidak memerlukan izin untuk membuat sumber daya yang ditentukan dalam cetak biru. Ini mengikuti praktik terbaik dari izin yang paling tidak memiliki hak istimewa dan pemisahan tugas.

  3. Buat kebijakan kepercayaan berikut dan kemudian simpan sebagaisc-launchconstraintrole-trust-policy.json:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  4. Masukkan perintah berikut untuk membuat peran ServiceCataloglogLaunchConstraintRole IAM:

    aws iam create-role \ --role-name ServiceCataloglogLaunchConstraintRole \ --assume-role-policy-document file://sc-launchconstraintrole-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole
  5. Tambahkan kebijakan berikut ke peran ServiceCataloglogLaunchConstraintRole IAM. Sertakan izin lain yang diperlukan untuk sumber daya produk, seperti yang dijelaskan dalam Mengonfigurasi Peran Peluncuran dalam dokumentasi Service Catalog:

    { "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } ] }
    catatan

    Service Catalog menggunakan peran ini untuk menyebarkan CloudFormation tumpukan sebagai produk di Service Catalog. Kebijakan kepercayaan untuk peran ini memastikan bahwa hanya Service Catalog yang dapat mengasumsikan peran tersebut. Pengguna atau layanan lain tidak dapat mengambil peran ini. Ini mengikuti praktik terbaik pemisahan tugas.

  6. Buat kebijakan kepercayaan berikut, lalu simpan sebagaisc-codebuild-trust-policy.json:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  7. Masukkan perintah berikut untuk membuat peran codebuild-servicecatalog-admin-role IAM:

    aws iam create-role \ --role-name codebuild-servicecatalog-admin-role \ --assume-role-policy-document file://sc-codebuild-trust-policy.json aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess \ --role-name codebuild-servicecatalog-admin-role
    catatan

    CodeBuild Pekerjaan di pipeline konfigurasi menggunakan peran ini.

Untuk mengatur ember Amazon S3
Untuk mengatur AWS Systems Manager parameter
  • Ikuti petunjuk dalam Membuat parameter Parameter Store di Systems Manager untuk membuat parameter Systems Manager dalam tabel berikut. Parameter ini digunakan dalam CloudFormation template yang menyebarkan pipeline konfigurasi.

    Nama parameter Jenis Deskripsi
    /blueprints/resources/vpc_id String Parameter yang menyimpan ID target virtual private cloud (VPC).
    /blueprints/resources/subnets StringList Parameter yang IDs menyimpan subnet target.
    /blueprints/resources/securitygroups StringList Parameter yang IDs menyimpan kelompok keamanan target.
    /blueprints/resources/artifacts-bucket-name String Parameter yang menyimpan nama bucket Amazon S3 yang digunakan untuk CodePipeline artefak.
    /blueprints/resources/BlueprintRepo String Parameter yang menyimpan GitHub repo tempat cetak biru Enterprise Blueprint Factory disimpan. Nilai default-nya adalah <user>/aws-enterprise-blueprint-factory-blueprint-repo.
    /blueprints/resources/CodeRepo String Parameter yang menyimpan GitHub repo tempat kode pipa konfigurasi Enterprise Blueprint Factory dan kode disimpan. Bootstrapping-Admin-Product Nilai default-nya adalah <user>/aws-enterprise-blueprint-factory-code-repo.
    /blueprints/resources/ConfigRepo String Parameter yang menyimpan GitHub repo tempat file konfigurasi Enterprise Blueprint Factory disimpan. Nilai default-nya adalah <user>/aws-enterprise-blueprint-factory-config-repo.
Untuk memperbarui CloudFormation template
  1. Di repositori kode (ServiceCatalog-CodeRepo), buka file ServiceCatalog-pipeline.yml.

  2. Edit nilai default untuk parameter berikut dalam file ini:

    • ConfigRepositoryNameadalah parameter Systems Manager yang menyimpan GitHub repo tempat file konfigurasi Enterprise Blueprint Factory disimpan. Nilai default-nya adalah /blueprints/resources/ConfigRepo.

    • CodeRepositoryNameadalah parameter Systems Manager yang menyimpan GitHub repo tempat kode pipa konfigurasi Enterprise Blueprint Factory dan kode disimpan. Bootstrapping-Admin-Product Nilai default-nya adalah /blueprints/resources/CodeRepo.

    • BlueprintRepositoryNameadalah parameter Systems Manager yang menyimpan GitHub repo tempat cetak biru Enterprise Blueprint Factory disimpan. Nilai default-nya adalah /blueprints/resources/BlueprintRepo.

    • BranchNameadalah cabang dari repositori konfigurasi tempat file konfigurasi disimpan. Nilai default-nya adalah main.

    • VPCIDadalah parameter Systems Manager yang menyimpan ID dari VPC target. Nilai default-nya adalah /blueprints/resources/vpc_id.

    • Subnetsadalah parameter Systems Manager yang IDs menyimpan subnet target. Nilai default-nya adalah /blueprints/resources/subnets.

    • SecurityGroupIdsadalah parameter Systems Manager IDs yang menyimpan kelompok keamanan target. Nilai default-nya adalah /blueprints/resources/securitygroups.

    • IamRoleNameadalah nama peran IAM yang digunakan CodeBuild pekerjaan. Nilai defaultnya adalahcodebuild-servicecatalog-admin-role.

    • EnvironmentTypeadalah lingkungan tempat Anda menerapkan Pabrik Cetak Biru Perusahaan. Nilai default-nya adalah DEV.

    • ArtifactBucketadalah parameter Systems Manager yang menyimpan bucket Amazon S3 tempat CodePipeline menyimpan artefak. Nilai defaultnya adalah/blueprints/resources/artifacts-bucket-name.

    • CodeConnectionArnadalah Nama Sumber Daya Amazon (ARN) dari CodeConnections koneksi ke. GitHub

  3. Simpan dan tutup file ServiceCatalog-Pipeline.yml.

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

    cd ServiceCatalog-CodeRepo git add ServiceCatalog-Pipeline.yml git commit -m "<description of change>" git push origin main
  5. Di repositori konfigurasi (ServiceCatalog-ConfigRepo), buka file bp_config.yml.

  6. Perbarui nilai di bagian portofolio sesuai kebutuhan untuk organisasi Anda. Misalnya, perbarui share_to_ou atribut portfolio_access_roles dan. Untuk informasi selengkapnya, lihat File konfigurasi dalam panduan ini.

  7. Simpan dan tutup file bp_config.yml.

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

    cd ServiceCatalog-ConfigRepo git add bp_config.yml git commit -m "<description of change>" git push origin main
Untuk menyebarkan tumpukan CloudFormation
  1. Masuk ke akun administratif Enterprise Blueprint Factory.

  2. Beralih ke peran IAM yang memiliki izin administratif.

  3. Buka konsol CloudFormation.

  4. Pada bilah navigasi di bagian atas layar, pilih target Wilayah AWS.

  5. Pada halaman Stacks, pilih Buat tumpukan di kanan atas, lalu pilih Dengan sumber daya baru (standar).

  6. Untuk Siapkan templat, pilih Templat sudah siap.

  7. Di bawah Tentukan templat, pilih Unggah file templat.

  8. Pilih Pilih File, navigasikan ke ServiceCatalog-CodeRepo folder, lalu pilih ServiceCatalog-Pipeline.yl.

  9. Pilih Berikutnya untuk melanjutkan dan memvalidasi template.

  10. Untuk nama Stack, masukkan nama untuk tumpukan.

  11. Di bagian Parameter, jangan ubah nilai default.

  12. Pilih Berikutnya.

  13. Pada halaman Configure stack options, jangan ubah nilai default, lalu pilih Next.

  14. Pada halaman Tinjau dan buat, verifikasi detail templat dan tumpukan, lalu pilih Kirim.

  15. Pantau kemajuan penerapan tumpukan. Lihat informasi yang lebih lengkap dalam dokumentasi CloudFormation.

  16. Tunggu statusnya berubahCREATE_COMPLETE.

Untuk memvalidasi penerapan
  1. Buka konsol AWS Service Catalog.

  2. Di panel navigasi, pilih Produk.

  3. Konfirmasikan bahwa ServiceCatalog-Pipeline tersedia dalam daftar produk.

  4. Buka konsol AWS CodePipeline.

  5. Di Nama, pilih pipeline konfigurasi. Secara default, nama pipeline adalahServiceCatalog-Pipeline.

  6. Pilih Lihat riwayat.

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

  8. Tunggu hingga status pipeline konfigurasiSucceeded.

  9. Buka konsol Service Catalog.

  10. Di panel navigasi, pilih Produk.

  11. Konfirmasikan bahwa produk BP-S3 dan produk BP-SNS tersedia. Ini menunjukkan bahwa pipa pelepasan produk untuk cetak biru sampel berhasil diselesaikan.

  12. Jika Anda ingin menghapus contoh cetak biru yang Anda gunakan saat menyiapkan Pabrik Cetak Biru Perusahaan, ikuti petunjuk di Menghapus cetak biru.

Hapus Pabrik Cetak Biru Perusahaan

Jika Anda tidak menggunakan Pabrik Cetak Biru Perusahaan, Anda dapat menghapusnya untuk menghentikan biaya yang terkait dengan sumber dayanya. AWS

Untuk menghapus sumber daya
  1. Masukkan perintah berikut untuk menghapus peran IAM yang digunakan di akun administratif Enterprise Blueprint Factory:

    aws iam detach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogEndUserFullAccess \ --role-name ServiceCatalogEndUserRole aws iam delete-role --role-name ServiceCatalogEndUserRole aws iam detach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess \ --role-name ServiceCataloglogLaunchConstraintRole aws iam delete-role --role-name ServiceCataloglogLaunchConstraintRole
  2. Hapus CloudFormation tumpukan untuk Enterprise Blueprint Factory. Untuk petunjuk, lihat Menghapus tumpukan dari CloudFormation konsol atau Menghapus tumpukan dari AWS CLI.

  3. Hapus bucket Amazon S3 yang digunakan untuk menyimpan artefak. CodePipeline Untuk petunjuknya, lihat Menghapus bucket di dokumentasi Amazon S3.

  4. Hapus parameter Systems Manager berikut dari Parameter Store:

    • /blueprints/resources/vpc_id

    • /blueprints/resources/subnets

    • /blueprints/resources/securitygroups

    • /blueprints/resources/artifacts-bucket-name

    • /blueprints/resources/BlueprintRepo

    • /blueprints/resources/CodeRepo

    • /blueprints/resources/ConfigRepo

    Untuk petunjuk, lihat Menghapus parameter dari Parameter Store dalam dokumentasi Systems Manager.