

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

# Bangun AWS landing zone yang mencakup MongoDB Atlas
<a name="build-aws-landing-zone-that-includes-mongodb-atlas"></a>

*Igor Alekseev, Amazon Web Services*

*Anuj Panchal, MongoDB*

## Ringkasan
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-summary"></a>

Pola ini menjelaskan cara membangun AWS landing zone yang terintegrasi dengan cluster MongoDB Atlas. Infrastruktur secara otomatis digunakan dengan menggunakan skrip Terraform. 

 AWS Lingkungan multi-akun yang terstruktur dengan baik, yang disebut [landing zone](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-migration/aws-landing-zone.html), menawarkan skalabilitas dan keamanan, terutama untuk perusahaan. Ini berfungsi sebagai fondasi untuk penyebaran cepat beban kerja dan aplikasi, dan membantu memastikan kepercayaan dalam keamanan dan infrastruktur. Membangun landing zone memerlukan pertimbangan yang cermat terhadap faktor teknis dan bisnis, termasuk struktur akun, jaringan, keamanan, dan manajemen akses. Pertimbangan ini harus selaras dengan pertumbuhan masa depan dan tujuan bisnis organisasi Anda.

Kasus penggunaan untuk pola ini meliputi yang berikut ini.
+ **Platform SaaS dan PaaS Perusahaan: Perangkat lunak** multitenant as a service (SaaS) aplikasi dan platform sebagai layanan (PaaS) platform yang berjalan AWS dapat menggunakan pengaturan ini untuk membantu menyediakan akses pribadi yang aman ke MongoDB Atlas tanpa mengekspos data melalui internet publik.
+ **Industri yang sangat diatur**: Perbankan, jasa keuangan, perawatan kesehatan, dan beban kerja pemerintah yang memerlukan kepatuhan ketat terhadap standar seperti Health Insurance Portability and Accountability Act (HIPAA), Payment Card Industry Data Security Standard (PCI DSS), System and Organization Controls 2 (), dan General Data Protection Regulation (GDPRSOC2) mendapat manfaat dari:
  + Konektivitas pribadi terenkripsi melalui AWS PrivateLink
  + Multi-AZ ketersediaan tinggi set replika MongoDB
+ ** AI/ML Beban kerja yang aman**: Saluran pipa pelatihan atau inferensi di Amazon Bedrock, SageMaker Amazon AI, atau model AI khusus dapat mengambil dan menyimpan data dengan aman di MongoDB Atlas. PrivateLink
+ **Pemulihan bencana dan kelangsungan bisnis**: Desain multi-AZ memastikan bahwa tidak ada satu pun kegagalan Availability Zone yang mengganggu beban kerja. Replika Atlas yang disetel di seluruh Availability Zones memastikan failover otomatis. Ini sangat penting untuk layanan yang selalu aktif seperti aplikasi teknologi keuangan (fintech), perbankan digital, atau pemantauan kesehatan.

## Prasyarat dan batasan
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-prereqs"></a>

**Prasyarat**
+ Pemilik organisasi mengakses MongoDB Atlas sehingga Anda dapat membuat kunci Atlas API. Untuk informasi tentang persyaratan ini, lihat [Mengelola Akses Organisasi](https://www.mongodb.com/docs/atlas/tutorial/manage-organizations/) dalam dokumentasi MongoDB.
+ Aktif [Akun AWS](https://aws.amazon.com/resources/create-account/).
+ [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli), diinstal dan dikonfigurasi.
+ Cluster MongoDB Atlas, dibuat dengan MongoDB versi 6.0 atau yang lebih baru.
+ Keakraban dengan MongoDB dan MongoDB Atlas. Untuk informasi selengkapnya, lihat dokumentasi [MongoDB Atlas](https://www.mongodb.com/docs/atlas/).

**Batasan**
+ Beberapa Layanan AWS tidak tersedia di semua AWS Region. Untuk ketersediaan Wilayah, lihat [Layanan AWS berdasarkan Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Untuk titik akhir tertentu, lihat [Titik akhir dan kuota layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

## Arsitektur
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-architecture"></a>

Diagram arsitektur referensi berikut menggambarkan pengaturan penyebaran untuk AWS landing zone yang terintegrasi dengan titik akhir pribadi MongoDB Atlas. Arsitektur referensi ini menunjukkan bagaimana membangun AWS landing zone yang aman, terukur, dan sangat tersedia yang terintegrasi dengan MongoDB Atlas. Dengan menggabungkan praktik AWS terbaik seperti penyebaran multi-AZ, kontrol keamanan dengan hak istimewa, dan konektivitas pribadi, desain ini memungkinkan organisasi untuk menyediakan lingkungan yang kuat untuk aplikasi modern.

![Arsitektur multi-AZ untuk AWS landing zone yang terintegrasi dengan MongoDB Atlas.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/72d335b9-b5b1-4fe2-9972-65edbec60ab1/images/82a8cc98-6f22-4e28-a236-57a809930055.png)


Arsitektur ini terdiri dari yang berikut:

**VPC**
+ Satu virtual private cloud (VPC) mencakup tiga Availability Zone.
+ VPC dibagi lagi menjadi subnet yang selaras dengan setiap Availability Zone. Subnet ini mendistribusikan beban kerja untuk ketersediaan tinggi.

**Akses internet**
+ Gateway internet menyediakan konektivitas internet outbound untuk sumber daya yang membutuhkannya, seperti host aplikasi atau bastion.
+ Subnet publik dapat menampung gateway NAT, yang memungkinkan beban kerja subnet pribadi untuk mengunduh pembaruan, tambalan, dan paket lain yang diperlukan tanpa memaparkannya langsung ke internet publik.

**Subnet pribadi dan tabel rute**
+ Komponen aplikasi, layanan mikro, atau sumber daya sensitif lainnya biasanya berada di subnet pribadi.
+ Tabel rute khusus mengontrol arus lalu lintas. Rutekan lalu lintas keluar langsung dari subnet pribadi ke gateway NAT untuk akses internet yang aman dan hanya jalan keluar.
+ Permintaan masuk dari aliran internet melalui penyeimbang beban elastis atau host benteng (jika digunakan) di subnet publik, dan kemudian rute dengan tepat ke sumber daya subnet pribadi.

**Konektivitas MongoDB Atlas melalui PrivateLink**
+ Arsitektur menggunakan PrivateLink (melalui titik akhir VPC) untuk terhubung dengan aman ke MongoDB Atlas tanpa mengekspos data Anda ke internet publik.
+ Permintaan tetap ada di jaringan AWS backbone. Data dalam perjalanan mendapat manfaat dari PrivateLink enkripsi dan tidak pernah dialihkan melalui internet publik.
+ VPC khusus MongoDB Atlas menghosting node primer dan sekunder Anda, dan menyediakan lingkungan yang aman dan terisolasi untuk cluster database terkelola Anda.

**Deployment Multi-AZ**
+ Komponen infrastruktur penting (seperti gateway NAT dan subnet aplikasi) didistribusikan di setidaknya tiga Availability Zone. Jika Availability Zone mengalami pemadaman, arsitektur ini memastikan bahwa beban kerja di Availability Zone yang tersisa tetap beroperasi.
+ MongoDB Atlas, secara default, menawarkan ketersediaan tinggi melalui set replika dan memastikan bahwa lapisan database Anda tetap toleran terhadap kesalahan. Infrastruktur kritis tersebar di setidaknya tiga Availability Zone untuk ketahanan.

## Alat
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-tools"></a>

**Layanan AWS**
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)membantu Anda mengganti kredensi hardcode dalam kode Anda, termasuk kata sandi, dengan panggilan API untuk mengambil rahasia secara terprogram.

**Produk dan alat lainnya**
+ [MongoDB](https://www.mongodb.com/atlas) Atlas adalah database yang dikelola sepenuhnya sebagai layanan (dBaaS) untuk menyebarkan dan mengelola database MongoDB di cloud.
+ [Terraform](https://www.terraform.io/) adalah alat infrastruktur sebagai kode (IAc) HashiCorp yang membantu Anda membuat dan mengelola sumber daya cloud dan lokal. Dalam pola ini, Anda menggunakan Terraform untuk menjalankan skrip untuk memfasilitasi penerapan sumber daya yang diperlukan di dan AWS MongoDB Atlas.

**Repositori kode**

Kode untuk pola ini tersedia di repositori [AWS dan MongoDB Atlas](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone) Landing Zone. GitHub 

## Epik
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-epics"></a>

### Penemuan dan penilaian lengkap
<a name="complete-discovery-and-assessment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Identifikasi pemangku kepentingan utama. | Identifikasi semua pemangku kepentingan utama dan anggota tim yang terlibat dalam proyek landing zone Anda. Ini dapat mencakup peran seperti:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-aws-landing-zone-that-includes-mongodb-atlas.html) | Pimpin migrasi | 
| Buat cetak biru struktural. | Buat cetak biru yang menguraikan struktur yang diinginkan dari landing zone berkemampuan Atlas Anda dan AWS MongoDB. | Pimpin migrasi | 
| Buat rencana arsitektur. | Bekerja dengan arsitek aplikasi Anda untuk menganalisis persyaratan dan merancang arsitektur yang tahan terhadap kesalahan dan tangguh. Pola ini menyediakan template arsitektur starter untuk referensi Anda. Anda dapat menyesuaikan template ini untuk memenuhi kebutuhan keamanan dan infrastruktur organisasi Anda. | Arsitek awan | 
| Rencanakan penyiapan dan penerapan. | Tentukan, dengan semua pemangku kepentingan, bagaimana arsitektur akan diterapkan, bagaimana langkah-langkah keamanan akan diterapkan, dan aspek lainnya untuk memastikan keselarasan dengan kepentingan organisasi dan tim yang meminta. | Pimpinan migrasi, DevOps insinyur, DBA | 

### Siapkan lingkungan MongoDB Atlas
<a name="set-up-the-mongodb-atlas-environment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning repositori. | Kloning kode dari [GitHub repositori](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone) dengan menjalankan perintah:<pre>git clone https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone</pre> | Pengembang aplikasi, DevOps insinyur | 
| Dapatkan ID organisasi Atlas Anda. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-aws-landing-zone-that-includes-mongodb-atlas.html) | DBA | 
| Hasilkan kunci API tingkat organisasi Atlas. | [Untuk membuat kunci API tingkat organisasi Anda di Atlas, ikuti petunjuk dalam dokumentasi MongoDB.](https://www.mongodb.com/docs/atlas/configure-api-access/#grant-programmatic-access-to-an-organization) | DBA | 
| Buat rahasia di AWS Secrets Manager. | Simpan kunci MongoDB Atlas API yang dihasilkan pada langkah sebelumnya sebagai rahasia nilai kunci di Secrets Manager. Untuk petunjuk, lihat [dokumentasi Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). | DevOps insinyur | 
| Pilih tingkat cluster Atlas. | Untuk memilih tingkat cluster Atlas yang benar, ikuti petunjuk dalam dokumentasi [MongoDB](https://www.mongodb.com/docs/atlas/sizing-tier-selection/). | DBA | 

### Mengatur AWS lingkungan
<a name="set-up-the-aws-environments"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Ubah skrip Terraform. | Di salinan GitHub repositori lokal Anda, perbarui nama rahasia di [modules/mongodb-atlas/mainfile.tf](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/3748350730ec2ac7ab64662d536b67b4840c667c/modules/mongodb-atlas/main.tf#L12) (baris 12), sehingga Terraform dapat mengambil kredensil dari Secrets Manager selama penerapan. | DevOps insinyur | 
| Buat ID kunci AWS akses dan kunci rahasia. | Untuk membuat ID kunci AWS akses dan kunci rahasia, ikuti petunjuk di artikel AWS re:Post [Bagaimana cara membuat kunci AWS akses?](https://repost.aws/knowledge-center/create-access-key)<br />Ini adalah praktik terbaik untuk menetapkan kebijakan dengan hak istimewa paling sedikit yang diperlukan, tetapi untuk kasus ini, pilih kebijakan. `AdministratorAccess`<br />Setelah Anda membuat kunci akses, tinjau [praktik terbaik Keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) untuk mempelajari praktik terbaik dalam mengelola kunci akses. | DevOps insinyur | 
| Alokasikan alamat IP elastis. | Alokasikan setidaknya dua alamat IDs IP elastis. Untuk petunjuknya, lihat [dokumentasi Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithEIPs.html). | DevOps insinyur | 
| Buat ember S3. | Buat bucket S3 untuk menyimpan status penerapan Terraform Anda dengan mengikuti petunjuk di dokumentasi Amazon [Simple Storage Service (Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) S3). | DevOps insinyur | 
| Perbarui bucket S3 untuk penyimpanan. | Perbarui informasi bucket S3 di versi lokal [environments/development/main.tf](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/83e0b52cc4a8c12b24b54edeecbae496880d3615/environments/development/main.tf#L16) agar sesuai dengan nama dan Wilayah bucket yang Anda buat pada langkah sebelumnya, dan tentukan awalan key. Contoh:<pre>terraform {<br />       ...<br />  backend "s3" {<br />    bucket = "startup-name-product-terraform"<br />    key    = "network/dev"<br />    region = "ap-southeast-1"<br />  }<br />}</pre><br />Untuk contoh ini, Anda dapat mengonfigurasi Terraform untuk menggunakan `network/dev` awalan key untuk mengatur file status Terraform. Anda dapat mengubah nilai ke `prod` atau `staging` mencocokkan lingkungan yang ingin Anda buat. Untuk informasi tentang menggunakan beberapa lingkungan, lihat langkah terakhir di bagian ini.<br />Untuk informasi selengkapnya tentang awalan kunci Amazon S3, lihat [Mengatur objek menggunakan awalan dalam](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) dokumentasi Amazon S3. | DevOps insinyur | 
| Tetapkan variabel Terraform. | Sample landing zone mendefinisikan nilai variabel input dengan menggunakan file definisi [variabel Terraform](https://www.terraform.io/docs/language/values/variables.html#variable-definitions-tfvars-files).<br />File variabel terletak di [environments/development/variables.tf.](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/environments/development/variables.tf) Anda dapat mengatur nilai variabel dalam [environments/development/terraformfile.tfvars](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/environments/development/terraform.tfvars). Konfigurasikan variabel-variabel ini seperti yang dijelaskan dalam [file Readme](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/README.md#terraform-variables) untuk GitHub repositori. | DevOps insinyur | 
| Mengatur variabel lingkungan. | Jika Anda berencana untuk menjalankan skrip Terraform di mesin lokal Anda, siapkan variabel lingkungan berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/build-aws-landing-zone-that-includes-mongodb-atlas.html)<br />Untuk informasi selengkapnya tentang pengaturan variabel lingkungan, lihat [dokumentasi AWS Command Line Interface (AWS CLI).](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set) | DevOps insinyur | 
| Periksa konfigurasi VPC. | Untuk mengikuti praktik terbaik yang direkomendasikan oleh AWS, konfigurasikan pengaturan untuk VPC dan subnet CIDRs, gateway NAT, rute, dan tabel rute dalam skrip Terraform untuk memenuhi kebutuhan organisasi Anda. Untuk spesifik, lihat [file Readme](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/README.md#vpc-configurations) untuk repositori. GitHub  | DevOps insinyur | 
| Sumber daya tag. | Anda dapat menandai AWS sumber daya Anda untuk memantaunya saat digunakan oleh skrip Terraform. Sebagai contoh, lihat [file Readme](https://github.com/mongodb-partners/AWS-MongoDB-Atlas-Landing-Zone/blob/main/README.md#resource-taggings) untuk GitHub repositori. Untuk informasi tentang pemantauan sumber daya melalui tag untuk biaya, penggunaan, dan sebagainya, lihat [Mengaktifkan tag alokasi biaya yang ditentukan pengguna](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) dalam dokumentasi. AWS Billing  | DevOps insinyur | 
| Gunakan beberapa lingkungan. |  GitHub Repositori menyediakan folder `development` lingkungan. Anda juga dapat menambahkan lingkungan Anda sendiri di folder lingkungan.<br />Untuk menambahkan lingkungan, salin `development` folder ke folder baru (misalnya, `prod` atau`staging`) di bawah`environments`. Anda kemudian dapat memperbarui `terraform.tfvars` file dengan nilai baru. | DevOps insinyur | 

### Menyebarkan landing zone
<a name="deploy-the-landing-zone"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Inisialisasi direktori kerja Terraform. | Untuk menginisialisasi direktori kerja dan mengunduh paket yang diperlukan, jalankan perintah:<pre>terraform init</pre> | DevOps insinyur | 
| Buat rencana eksekusi. | Untuk membuat rencana eksekusi dan memvisualisasikan perubahan yang akan dilakukan Terraform pada infrastruktur Anda, jalankan perintah:<pre>terraform plan</pre> | DevOps insinyur | 
| Menyebarkan perubahan. | Untuk mengimplementasikan perubahan pada infrastruktur Anda seperti yang dijelaskan dalam kode, jalankan perintah:<pre>terraform apply</pre> | DevOps insinyur | 
| Validasi penerapan. | Validasi komponen yang dibuat atau dimodifikasi Terraform di infrastruktur Anda.<br />Untuk menguji penyiapan, sediakan sumber daya komputasi (misalnya, EC2 instans atau AWS Lambda fungsi Amazon) di dalam atau dilampirkan ke VPC. | DevOps insinyur, Pengembang aplikasi | 

### Hapus sumber daya
<a name="remove-resources"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Bersihkan. | Setelah Anda selesai menguji, jalankan perintah berikut untuk menghancurkan sumber daya yang diterapkan Terraform di infrastruktur Anda:<pre>terraform destroy</pre> | DevOps insinyur | 

## Sumber daya terkait
<a name="build-aws-landing-zone-that-includes-mongodb-atlas-resources"></a>

**Penemuan dan penilaian**
+ [Kiat administratif untuk pengaturan landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/tips-for-admin-setup.html) (AWS Control Tower dokumentasi)
+ [Harapan untuk konfigurasi landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-configure.html) (AWS Control Tower dokumentasi)
+ [Praktik terbaik untuk pembaruan landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/lz-update-best-practices.html) (AWS Control Tower dokumentasi)

**Menyiapkan MongoDB Atlas dan lingkungan AWS **
+ [Mendapatkan MongoDB Atlas](https://aws.amazon.com/marketplace/pp/prodview-pp445qepfdy34) ()AWS Marketplace
+ [Memori](https://docs.atlas.mongodb.com/sizing-tier-selection/#memory) (dokumentasi MongoDB Atlas)
+ [Contoh ukuran dengan kumpulan data sampel Atlas](https://www.mongodb.com/docs/atlas/sizing-tier-selection/#example--the-service-sample-data-sets) (dokumentasi MongoDB Atlas)
+ [Contoh ukuran untuk aplikasi seluler](https://www.mongodb.com/docs/atlas/sizing-tier-selection/#example--mobile-app) (dokumentasi MongoDB Atlas)
+ [Lalu lintas jaringan](https://docs.atlas.mongodb.com/sizing-tier-selection/#network-traffic) (dokumentasi MongoDB Atlas)
+ [Cluster auto-scaling](https://www.mongodb.com/docs/atlas/sizing-tier-selection/#cluster-auto-scaling) (dokumentasi MongoDB Atlas)
+ [Template ukuran Atlas (dokumentasi](https://www.mongodb.com/docs/atlas/sizing-tier-selection/) MongoDB Atlas)
+ [Siapkan koneksi peering jaringan](https://docs.atlas.mongodb.com/security-vpc-peering/) (dokumentasi MongoDB Atlas)
+ [Titik akhir pribadi di Atlas](https://docs.atlas.mongodb.com/security-private-endpoint/) (dokumentasi MongoDB Atlas)
+ [Enkripsi tingkat bidang sisi klien (dokumentasi basis data](https://docs.mongodb.com/manual/core/security-client-side-encryption) MongoDB)
+ [Enkripsi otomatis](https://docs.mongodb.com/manual/core/security-automatic-client-side-encryption) (dokumentasi database MongoDB)
+ [Memilih tingkat cluster (dokumentasi](https://www.mongodb.com/docs/atlas/manage-clusters/#select-cluster-tier) MongoDB Atlas)

**Menyebarkan landing zone**
+ [Terraform aktif AWS(*CI/CD untuk Jaringan 5G* di](https://docs.aws.amazon.com/whitepapers/latest/cicd_for_5g_networks_on_aws/terraform.html) whitepaper) AWS
+ [MongoDB Atlas dengan Terraform (dokumentasi MongoDB](https://www.mongodb.com/developer/products/atlas/mongodb-atlas-with-terraform/))