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:
-
Dikelola sebagai organisasi di AWS Organizations
-
Terletak di unit organisasi yang sama (OU)
-
Organisasi mengikuti account-per-tenant model
-
-
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
Untuk melakukan fork GitHub repositori
-
Masuk ke GitHub
. -
Arahkan ke GitHub repositori repo Konfigurasi
. -
Pilih garpu.
-
Pada halaman Buat garpu baru, di kotak nama Repositori, masukkan.
ServiceCatalog-ConfigRepo -
(Opsional) Masukkan deskripsi.
-
Pilih Salin cabang utama saja.
-
Pilih Buat garpu.
-
Ulangi langkah-langkah ini untuk melakukan fork pada GitHub repositori repo Kode
. Masukkan nama ServiceCatalog-CodeRepountuk repositori ini. -
Ulangi langkah-langkah ini untuk melakukan fork pada GitHub repositori repo Produk
. Masukkan nama ServiceCatalog-BlueprintProductRepountuk repositori ini.
Untuk membuat CodeConnections koneksi
-
Di AWS CLI, masukkan perintah berikut untuk membuat CodeConnections koneksi ke: GitHub
aws codeconnections create-connection --provider-type GitHub --connection-name <MyConnection> -
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
-
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" } } -
Masukkan perintah berikut untuk membuat peran
ServiceCatalogEndUserRoleIAM: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 ServiceCatalogEndUserRolecatatan
Pengembang menggunakan
ServiceCatalogEndUserRoleperan 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. -
Buat kebijakan kepercayaan berikut dan kemudian simpan sebagai
sc-launchconstraintrole-trust-policy.json:{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" } } -
Masukkan perintah berikut untuk membuat peran
ServiceCataloglogLaunchConstraintRoleIAM: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 -
Tambahkan kebijakan berikut ke peran
ServiceCataloglogLaunchConstraintRoleIAM. 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.
-
Buat kebijakan kepercayaan berikut, lalu simpan sebagai
sc-codebuild-trust-policy.json:{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } } -
Masukkan perintah berikut untuk membuat peran
codebuild-servicecatalog-admin-roleIAM: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-rolecatatan
CodeBuild Pekerjaan di pipeline konfigurasi menggunakan peran ini.
Untuk mengatur ember Amazon S3
-
Untuk membuat bucket Amazon Simple Storage Service (Amazon S3) yang digunakan untuk menyimpan CodePipeline artefak, ikuti petunjuk dalam Membuat bucket di dokumentasi Amazon S3. Ikuti praktik terbaik Keamanan untuk 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_idString Parameter yang menyimpan ID target virtual private cloud (VPC). /blueprints/resources/subnetsStringList Parameter yang IDs menyimpan subnet target. /blueprints/resources/securitygroupsStringList Parameter yang IDs menyimpan kelompok keamanan target. /blueprints/resources/artifacts-bucket-nameString Parameter yang menyimpan nama bucket Amazon S3 yang digunakan untuk CodePipeline artefak. /blueprints/resources/BlueprintRepoString 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/CodeRepoString Parameter yang menyimpan GitHub repo tempat kode pipa konfigurasi Enterprise Blueprint Factory dan kode disimpan. Bootstrapping-Admin-ProductNilai default-nya adalah<user>/aws-enterprise-blueprint-factory-code-repo./blueprints/resources/ConfigRepoString 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
-
Di repositori kode (
ServiceCatalog-CodeRepo), buka file ServiceCatalog-pipeline.yml. -
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-ProductNilai 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 adalahmain. -
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 adalahDEV. -
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
-
-
Simpan dan tutup file ServiceCatalog-Pipeline.yml.
-
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 -
Di repositori konfigurasi (
ServiceCatalog-ConfigRepo), buka file bp_config.yml. -
Perbarui nilai di bagian portofolio sesuai kebutuhan untuk organisasi Anda. Misalnya, perbarui
share_to_ouatributportfolio_access_rolesdan. Untuk informasi selengkapnya, lihat File konfigurasi dalam panduan ini. -
Simpan dan tutup file bp_config.yml.
-
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
-
Masuk ke akun administratif Enterprise Blueprint Factory.
-
Beralih ke peran IAM yang memiliki izin administratif.
-
Buka konsol CloudFormation
. -
Pada bilah navigasi di bagian atas layar, pilih target Wilayah AWS.
-
Pada halaman Stacks, pilih Buat tumpukan di kanan atas, lalu pilih Dengan sumber daya baru (standar).
-
Untuk Siapkan templat, pilih Templat sudah siap.
-
Di bawah Tentukan templat, pilih Unggah file templat.
-
Pilih Pilih File, navigasikan ke
ServiceCatalog-CodeRepofolder, lalu pilih ServiceCatalog-Pipeline.yl. -
Pilih Berikutnya untuk melanjutkan dan memvalidasi template.
-
Untuk nama Stack, masukkan nama untuk tumpukan.
-
Di bagian Parameter, jangan ubah nilai default.
-
Pilih Berikutnya.
-
Pada halaman Configure stack options, jangan ubah nilai default, lalu pilih Next.
-
Pada halaman Tinjau dan buat, verifikasi detail templat dan tumpukan, lalu pilih Kirim.
-
Pantau kemajuan penerapan tumpukan. Lihat informasi yang lebih lengkap dalam dokumentasi CloudFormation.
-
Tunggu statusnya berubah
CREATE_COMPLETE.
Untuk memvalidasi penerapan
-
Di panel navigasi, pilih Produk.
-
Konfirmasikan bahwa ServiceCatalog-Pipeline tersedia dalam daftar produk.
-
Buka konsol AWS CodePipeline
. -
Di Nama, pilih pipeline konfigurasi. Secara default, nama pipeline adalah
ServiceCatalog-Pipeline. -
Pilih Lihat riwayat.
-
Lihat status pipa dan eksekusi panggung. Untuk informasi selengkapnya tentang status, lihat Melihat status eksekusi di CodePipeline dokumentasi.
-
Tunggu hingga status pipeline konfigurasi
Succeeded. -
Buka konsol Service Catalog
. -
Di panel navigasi, pilih Produk.
-
Konfirmasikan bahwa produk BP-S3 dan produk BP-SNS tersedia. Ini menunjukkan bahwa pipa pelepasan produk untuk cetak biru sampel berhasil diselesaikan.
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
-
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 -
Hapus CloudFormation tumpukan untuk Enterprise Blueprint Factory. Untuk petunjuk, lihat Menghapus tumpukan dari CloudFormation konsol atau Menghapus tumpukan dari AWS CLI.
-
Hapus bucket Amazon S3 yang digunakan untuk menyimpan artefak. CodePipeline Untuk petunjuknya, lihat Menghapus bucket di dokumentasi Amazon S3.
-
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.
-