

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

# Menerapkan instance cluster failover SQL Server di Amazon EC2 dan Amazon FSx dengan menggunakan Terraform
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx"></a>

*Mark Hudson dan Matt Burgess, Amazon Web Services*

## Ringkasan
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-summary"></a>

Pola ini menggunakan Terraform untuk menyebarkan instance cluster failover SQL Server () di seluruh node Windows Server Failover Cluster (WSFCFCIs) di Amazon Elastic Compute Cloud (Amazon). EC2 Selain itu, pola menggunakan penyimpanan FSx bersama Amazon untuk data dan file log. 

Ketika database SQL Server dimigrasikan ke AWS, pilihan pertama adalah Amazon RDS for SQL Server. Namun, terkadang Amazon RDS for SQL Server tidak cocok dan SQL Server harus digunakan di EC2 Amazon dalam arsitektur yang sangat tersedia. Dalam solusi ini, SQL Server FCIs diinstal di seluruh node WSFC.

Modul Terraform yang disertakan dengan pola ini menyediakan hingga dua instance Amazon EC2 SQL Server. Sistem file Amazon FSx untuk Windows File Server bertindak sebagai saksi kuorum dan menyimpan data bersama dan file log. Terlepas dari jumlah instance yang dikonfigurasi, node instance SQL Server akan selalu membuat dan bergabung dengan cluster FCI untuk memastikan paritas lingkungan. (Biasanya, satu instance dikonfigurasi untuk pengembangan dan dua instance untuk lingkungan produksi.) Untuk konfigurasi yang menggunakan dua node untuk ketersediaan tinggi, Network Load Balancer internal disediakan. Network Load Balancer menggunakan probe kesehatan yang dikonfigurasi pada cluster FCI untuk mengidentifikasi node mana yang utama. 

## Prasyarat dan batasan
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS.
+ Amazon Virtual Private Cloud (Amazon VPC) dengan dua subnet di Availability Zone terpisah.
+ Set opsi Amazon VPC [DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/DHCPOptionSet.html). Konfigurasikan nama domain untuk menyelesaikan nama domain Active Directory Anda dan domain dan server nama NetBIOS untuk menunjuk ke pengontrol domain Active Directory Anda. Untuk informasi selengkapnya, lihat *Konfigurasi VPC* di Informasi [tambahan](#deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-additional).
+ AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD).
+ Gambar Mesin Amazon Kustom (AMI). Untuk detail selengkapnya, lihat *konfigurasi AMI* di [Informasi tambahan](#deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-additional).
+ Bucket Amazon Simple Storage Service (Amazon S3) yang berisi image ISO SQL Server. Prasyarat ini hanya diperlukan jika menggunakan [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) dengan `component.yaml` file yang disediakan untuk membuat AMI kustom.
+ AWS Key Management Service (AWS KMS) kunci enkripsi.
+ Secara default, SQL Server diinstal menggunakan kunci produk edisi pengembang. Sistem produksi diharapkan menggunakan kunci produk yang valid yang diteruskan ke modul oleh variabel yang relevan.

**Batasan**
+ Solusi ini membutuhkan AWS Managed Microsoft AD. Namun, jika Anda mau, Anda dapat menggunakan implementasi Active Directory yang dikelola sendiri sebagai gantinya. Untuk melakukannya, ubah modul Amazon FSx Terraform yang disertakan untuk menghapus atribut. `active_directory_id` Kemudian, tambahkan empat atribut yang diperlukan untuk Active Directory yang dikelola sendiri seperti yang ditunjukkan dalam dokumentasi [Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_windows_file_system).
+ SQL Server diatur untuk menggunakan otentikasi mode campuran. Jika mau, Anda dapat menggunakan otentikasi khusus Windows. Untuk melakukannya, dalam skrip data pengguna yang disediakan, hapus `/SECURITYMODE` dan `/SAPWD` parameter yang disediakan ke `setup.exe` perintah. Anda dapat menghapus `sql_accounts.tf` file, dan Anda dapat memodifikasi `instances.tf` file untuk menghapus `sql_sa_password` entri.
+ Saat menghapus cluster yang digunakan, Anda harus menghapus objek komputer virtual yang sesuai dan objek komputer individual di Active Directory. Untuk menghapus objek, gunakan alat administratif Direktori Aktif.
+ Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [AWS Layanan menurut 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.

**Versi produk**

Solusi ini diuji dengan versi berikut:
+ Windows Server 2019
+ SQL Server 2019
+ [Terraform v0.13.0](https://developer.hashicorp.com/terraform/language/v1.1.x/upgrade-guides/0-13)

## Arsitektur
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-architecture"></a>

**Tumpukan teknologi sumber**
+ SQL Server

**Tumpukan teknologi target**
+ SQL Server FCI pada node WSFC menggunakan Amazon EC2
+ Amazon FSx untuk Server File Windows
+ Buket Amazon S3
+ AWS Secrets Manager
+ AWS Managed Microsoft AD
+ AWS KMS
+ AWS Identity and Access Management (IAM)

**Arsitektur target**

Diagram berikut menunjukkan arsitektur untuk solusi ini.

![\[Arsitektur untuk menyebarkan instance cluster failover SQL Server di seluruh node Windows Server Failover Cluster di Amazon. EC2\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/45f3ab19-d240-4353-ab6e-f6e565f537a4/images/0bff16f2-94e7-4e86-91ea-7ab5f3725620.png)


Diagram menunjukkan yang berikut:
+ Peran IAM yang menyediakan akses EC2 instans ke AWS KMS dan Secrets Manager
+ Dua node SQL Server digunakan pada EC2 instans Amazon dalam subnet pribadi di dua Availability Zone
+ Network Load Balancer untuk memfasilitasi koneksi ke instance SQL Server aktif (tidak digunakan saat menyiapkan cluster node tunggal)
+ Amazon FSx untuk sistem file Windows File Server digunakan di kedua subnet pribadi untuk penyimpanan bersama oleh node SQL Server
+ Secrets Manager untuk menyimpan kredensil dan konfigurasi Active Directory dan SQL Server
+ Bucket Amazon S3 untuk menyimpan gambar instalasi SQL Server
+ AWS Managed Microsoft AD untuk otentikasi Windows
+ AWS KMS untuk membuat kunci enkripsi

**Otomatisasi dan skala**

[Anda dapat mengotomatiskan penerapan arsitektur target dengan menggunakan modul Terraform yang ada di repositori. GitHub ](https://github.com/aws-samples/cluster-amazon-elastic-compute-cloud-amazon-fsx-microsoft-sql-server) Anda harus memodifikasi `terraform.tfvars` file untuk menyertakan nilai variabel yang spesifik untuk lingkungan Anda. Bucket Amazon S3, AWS Managed Microsoft AD komponen, kunci AWS KMS enkripsi, dan beberapa rahasia adalah prasyarat untuk penerapan ini dan tidak termasuk dalam kode Terraform. 

## Alat
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-tools"></a>

**Layanan AWS**
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)memungkinkan beban kerja dan sumber daya yang sadar direktori Anda AWS untuk menggunakan Microsoft Active Directory di file. AWS Cloud Dalam pola ini, AWS Managed Microsoft AD digunakan untuk otentikasi Windows Server dan SQL Server dan untuk DNS.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah. Dalam pola ini, instance cluster failover SQL Server diinstal pada instans Amazon. EC2 
+ [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) membantu Anda mengotomatiskan pembuatan, pengelolaan, dan penyebaran gambar server yang disesuaikan.
+ [Amazon FSx untuk Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) menyediakan penyimpanan bersama yang dikelola sepenuhnya di Windows Server. Dalam pola ini, FSx untuk Windows File Server menyediakan penyimpanan bersama untuk data SQL Server dan file log dan saksi kuorum.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda. Dalam pola ini, ini digunakan untuk mengenkripsi rahasia Secrets Manager, penyimpanan SQL Server pada volume Amazon Elastic Block Store (Amazon EBS), dan FSx sistem file untuk Windows File Server.
+ [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 ke Secrets Manager untuk mengambil rahasia secara terprogram. Dalam pola ini, kredensi Active Directory untuk menginstal dan menjalankan SQL Server, kredensi `sa` pengguna, dan informasi koneksi database disimpan di Secrets Manager.
+ [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data. Pola ini menggunakan bucket Amazon S3 untuk menyimpan image instalasi SQL Server.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) membantu Anda meluncurkan AWS sumber daya ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur yang dapat diskalakan. AWS

******Alat-alat lainnya**
+ [Microsoft SQL Server FCIs](https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server?view=sql-server-ver15) diinstal di seluruh node cluster Windows Server. Selain itu, mereka dapat diinstal di beberapa subnet. Dalam pola ini, instance SQL Server FCI diinstal di seluruh node WSFC.
+ [Terraform](https://www.terraform.io/) adalah alat infrastruktur sebagai kode (IAc) yang membantu Anda menggunakan kode untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud. Dalam pola ini, Terraform digunakan untuk membuat sumber daya dan mengkonfigurasi instance SQL Server FCI.
+ [Windows Server Failover Clustering](https://learn.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/windows-server-failover-clustering-wsfc-with-sql-server?view=sql-server-ver15) menyediakan fitur infrastruktur yang mendukung ketersediaan tinggi aplikasi server yang dihosting seperti SQL Server. Dalam pola ini, node FCI menggunakan fungsionalitas WSFC untuk menyediakan ketersediaan tinggi lokal melalui redundansi di tingkat instans.

**Repositori kode**

Kode untuk pola ini tersedia di repositori GitHub [cluster-amazon-elastic-compute- cloud-amazon-fsx-microsoft -sql-server](https://github.com/aws-samples/cluster-amazon-elastic-compute-cloud-amazon-fsx-microsoft-sql-server). Sumber daya berikut tersedia di repositori:
+ `README.md`File yang memberikan gambaran umum tentang solusi dan informasi instalasi dan penggunaan tambahan
+ Kumpulan dasar file konfigurasi Terraform dan modul FSx khusus Amazon untuk menyediakan komponen untuk pola ini
+ Skrip penyiapan instans yang dijalankan sebagai skrip data EC2 pengguna Amazon
+ File `component.yam` l yang dapat digunakan Image Builder untuk membuat AMI kustom

## Praktik terbaik
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-best-practices"></a>

**Keamanan dan penambalan**
+ Instalasi dan konfigurasi prasyarat AMI adalah persyaratan minimum untuk menerapkan cluster SQL Server FCI. Perangkat lunak dan konfigurasi tambahan mungkin diperlukan untuk mematuhi standar dan persyaratan keamanan organisasi Anda.
+ Setelah penerapan, tambal Windows secara berkelanjutan. Baik langsung menambal instance yang sedang berjalan, atau buat AMI baru dengan tambalan Windows terbaru dan ganti instance (satu per satu) menggunakan AMI baru. AWS merilis Windows baru AMIs setiap bulan yang berisi patch sistem operasi terbaru, driver, dan agen peluncuran. Kami menyarankan Anda memeriksa AMI terbaru saat meluncurkan instans baru, atau saat Anda membuat gambar kustom Anda sendiri.
+  EC2 Instans Amazon dikonfigurasi untuk memungkinkan semua lalu lintas keluar. Ketika diterapkan di lingkungan produksi, aturan keluar dalam kelompok keamanan harus diberlakukan untuk membatasi lalu lintas ini ke tujuan yang diperlukan.
+ Sistem file FSx untuk Windows File Server dapat secara otomatis merekam log audit untuk berbagi file dan akses file dan folder dan mengirimkannya ke tujuan yang Anda inginkan jika ini adalah persyaratan di lingkungan Anda.
+ Putar rahasia Secrets Manager secara otomatis secara teratur. Untuk key pair EC2 instans Amazon, pertimbangkan solusi rotasi otomatis seperti yang dijelaskan dalam [Cara menggunakan AWS Secrets Manager untuk menyimpan dan memutar pasangan kunci SSH dengan aman](https://aws.amazon.com/blogs/security/how-to-use-aws-secrets-manager-securely-store-rotate-ssh-key-pairs/). Untuk kredensi Active Directory dan `sa` rahasia kredensi SQL Server, siapkan rotasi otomatis sesuai dengan kebijakan Anda untuk pengelolaan kata sandi.

**Manajemen Direktori Aktif**
+ Sebagai bagian dari cluster FCI, Windows menghasilkan Computer Name Object (CNO) di Active Directory. CNO merespons permintaan DNS dan meneruskan lalu lintas ke node SQL aktif. Kami *tidak* menyarankan menggunakan DNS yang disediakan Direktori Aktif ini. TTL terlalu tinggi untuk memberikan waktu failover yang masuk akal dan seringkali membutuhkan waktu lebih dari 5 menit untuk mencerminkan alamat IP utama yang baru. Sebaliknya, untuk instalasi yang sangat tersedia, Network Load Balancer internal dikonfigurasi untuk failover dalam 30 detik.
+ Administrator domain Active Directory diperlukan untuk membuat cluster. Persyaratan ini karena izin tinggi yang diperlukan untuk membuat objek cluster dan memodifikasi izin di Active Directory. Namun, layanan SQL Server tidak perlu dijalankan sebagai administrator domain. Oleh karena itu, kami menyarankan Anda membuat pengguna Active Directory kedua untuk tujuan ini. Namun, Anda dapat menghilangkan pengguna ini jika layanan akan berjalan sebagai pengguna administrator domain. Dalam hal ini, pengguna administrator domain harus ditambahkan ke grup administrator Direktori Aktif yang dibuat sebagai bagian dari pola ini. 

## Epik
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-epics"></a>

### Siapkan kredenal cluster
<a name="set-up-cluster-credentials"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat grup Active Directory. | Di AWS Managed Microsoft AD, buat grup berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.html)Untuk detail selengkapnya, lihat [Membuat AWS Managed Microsoft AD grup](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_create_group.html) dalam AWS dokumentasi. | Administrator AD | 
| Buat pengguna Active Directory. | Di AWS Managed Microsoft AD, buat pengguna berikut[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.html)Untuk detail selengkapnya, lihat [Membuat AWS Managed Microsoft AD pengguna](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups_create_user.html) dalam AWS dokumentasi. | Administrator AD | 
| Tambahkan kredensil Active Directory ke rahasia. | Gunakan Secrets Manager untuk membuat empat rahasia untuk menyimpan informasi berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.html)Untuk detail selengkapnya, lihat [Membuat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) di AWS dokumentasi. | Administrator AWS | 

### Siapkan lingkungan
<a name="prepare-the-environment"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat AMI Windows. | Buat AMI Windows kustom yang mencakup perangkat lunak dan konfigurasi prasyarat. Untuk detail selengkapnya, lihat [Informasi Tambahan](#deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-additional). | Administrator AWS, AWS DevOps | 
| Instal Terraform. | Untuk menginstal Terraform, ikuti instruksi di situs web [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli). | AWS DevOps | 
| Kloning repositori. | Kloning [repositori](https://github.com/aws-samples/cluster-amazon-elastic-compute-cloud-amazon-fsx-microsoft-sql-server) pola ini. Untuk detail selengkapnya, lihat [Mengkloning repositori](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) di situs web. GitHub  | AWS DevOps | 

### Instal cluster
<a name="install-the-cluster"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Ubah variabel Terraform. | Perbarui `terraform.tfvars` file yang disediakan untuk mengatur semua variabel ke nilai yang sesuai untuk lingkungan Anda.Misalnya, perbarui `domain_group_rdp_users` variabel `domain_group_administrators` dan untuk menggunakan nama domain Active Directory dan nama grup Active Directory yang dibuat sebelumnya. | AWS DevOps | 
| Inisialisasi Terraform. | Untuk melihat penerapan yang diusulkan, arahkan ke root repositori. Gunakan antarmuka baris perintah Terraform (CLI) untuk menjalankan dan kemudian menjalankan`terraform init`. `terraform plan` | AWS DevOps | 
| Menyebarkan sumber daya. | Untuk menerapkan cluster SQL dan sumber daya terkait, gunakan Terraform CLI untuk menjalankannya. `terraform apply` | AWS DevOps, administrator AWS | 
| Validasi penerapan. | Untuk memvalidasi penerapan, gunakan langkah-langkah berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.html) | DBA, administrator sistem AWS | 

## Pemecahan masalah
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Penyediaan Terraform selesai tetapi Windows Failover Cluster Manager tidak menunjukkan cluster telah dibuat atau cluster dalam keadaan tidak dapat dioperasikan. | Seluruh instalasi sumber daya dan konfigurasi cluster dapat memakan waktu 45-60 menit. Setelah Terraform selesai, skrip data pengguna harus berjalan hingga selesai, yang memerlukan beberapa reboot. Untuk memantau kemajuan, Anda dapat menggunakan `Checkpoints` direktori di `C:\` drive dan log instalasi SQL Server. `C:\Program Data\Microsoft SQL Server\150\Log` Setelah selesai, pesan **Instalasi Lengkap** tersedia dalam `C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log` file. | 
| Setelah menyediakan cluster yang berfungsi, menggunakan Terraform untuk menghapus dan membuat ulang cluster tidak berhasil. Terraform selesai, tetapi cluster tidak diatur dengan benar. | Bagian dari proses penyediaan melibatkan mendaftarkan mesin dan objek virtual ke Active Directory dan Active Directory DNS. Ketika nama komputer ada untuk node EC2 cluster Amazon dan node cluster, FCI tidak dapat menginisialisasi dengan benar dan akan gagal penyediaan.Untuk memperbaiki masalah ini, lakukan langkah-langkah berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.html) | 

## Sumber daya terkait
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-resources"></a>

**AWS dokumentasi**
+ [Buat gambar kustom dengan Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/create-images.html)
+ [Buat kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
+ [Membuat ember tujuan umum](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)
+ [Membuat kebijakan utama](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)
+ [Menciptakan AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html)

## Informasi tambahan
<a name="deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-additional"></a>

**Informasi modul Terraform**

Modul ini menggunakan campuran konfigurasi AMI dan konfigurasi data pengguna untuk mendapatkan perpaduan yang baik antara waktu penyediaan dan stabilitas. Selama penyediaan, Windows memerlukan beberapa restart dan menunggu. Metode pos pemeriksaan telah diterapkan untuk melindungi terhadap loop tak terbatas selama restart data pengguna persisten. Data pengguna dikonfigurasi agar persisten. Oleh karena itu, skrip konfigurasi data pengguna memiliki, dan harus melanjutkan, untuk dikembangkan menjadi idempoten. Idempotency merampingkan proses pembaruan, memungkinkan instance ditukar selama siklus pembaruan tanpa konfigurasi manual untuk bergabung kembali atau membuat ulang cluster FCI.

**String koneksi SQL Server dan pengelompokan failover**

Modul akan menerbitkan rahasia yang berisi alamat titik akhir yang harus digunakan dalam string koneksi untuk database ini. Nama rahasia mengikuti format`{environment_name}/sqlserver/{cluster_name}/endpoint`. Untuk instalasi di mana hanya satu node yang digunakan, Anda dapat mengharapkan ini menjadi alamat IP dari antarmuka SQL Server Amazon EC2 instance. Untuk instalasi ketersediaan tinggi (dua contoh), Anda dapat mengharapkan ini menjadi nama DNS dari Network Load Balancer internal.

Virtual pengelompokan failover IPs tidak didukung dalam modul ini. IP virtual harus tetap berada di subnet yang sama agar dapat berfungsi. Di AWS, satu subnet tidak dapat menjangkau beberapa Availability Zone. Oleh karena itu, penggunaan virtual IPs akan menghilangkan kemampuan modul ini untuk dianggap sangat tersedia.

Setiap EC2 instans Amazon diberikan tiga alamat IP pribadi. USAI mereka sebagai berikut:
+ **IP utama untuk lalu lintas jaringan** — IP sumber untuk lalu lintas keluar.
+ **Komunikasi FCI** — Digunakan untuk mempertahankan status dan sinkronisasi cluster failover.
+ **SQL Server (port TCP 1433)** - Pendengar dan juga mendengarkan lalu lintas detak jantung untuk menentukan instance mana yang utama.

**Konfigurasi VPC**

[Prasyarat](#deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx-prereqs) mencantumkan set opsi DHCP yang dikonfigurasi untuk menggunakan Active Directory untuk resolusi DNS. Namun, prasyarat ini bukanlah persyaratan yang sulit. Persyaratan yang sulit adalah bahwa EC2 instance harus dapat menyelesaikan nama domain Active Directory Anda. Memenuhi persyaratan ini dapat dicapai dengan cara lain, seperti dengan menggunakan titik Amazon Route 53 Resolver akhir. Untuk informasi selengkapnya, lihat [Mengintegrasikan resolusi DNS Layanan Direktori Anda dengan Amazon Route 53 Resolvers](https://aws.amazon.com/blogs/networking-and-content-delivery/integrating-your-directory-services-dns-resolution-with-amazon-route-53-resolvers/) (AWS posting Blog).

**Konfigurasi AMI**

AMI yang digunakan dalam pola ini harus berisi perangkat lunak dan konfigurasi prasyarat berikut:

1. Unduh dan perluas file instalasi SQL Server 2019 ke dalam`C:\SQL_Install_media`.

1. Instal fitur Windows berikut:
   + `Install-WindowsFeature Failover-Clustering`
   + `Install-WindowsFeature RSAT-AD-PowerShell`
   + `Install-WindowsFeature RSAT-AD-Tools`
   + `Install-WindowsFeature RSAT-Clustering-Mgmt`
   + `Install-WindowsFeature RSAT-Clustering-PowerShell`
   + `Install-WindowsFeature RSAT-Clustering-CmdInterface`

1. Nonaktifkan firewall Windows sebagai berikut:
   + `Get-NetFirewallProfile | Set-NetFirewallProfile -Enabled False`

1. Aktifkan metode otentikasi CredSSP (ganti `<domain>` dengan nama domain Windows organisasi Anda) sebagai berikut:
   + `Enable-WSManCredSSP -Role "Server" -Force`
   + `Enable-WSManCredSSP -Role "Client" -DelegateComputer *.<domain>.com -Force`

1. Mengatur kunci registri berikut:
   + Izinkan kredensi otentikasi NTLM:
     + `HKLM:\Software\Policies\Microsoft\Windows\CredentialsDelegation`
       + Nama: `AllowFreshCredentialsWhenNTLMOnly`
       + Nilai: 1
       + Tipe: `REG_DWORD`
   + Izinkan komputer domain lokal menggunakan NTLM dari: PowerShell
     + Jalan: `HKLM:\Software\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly`
       + Nama: `1`
       + Nilai: `wsman/*.<domain>.com`
       + Tipe: `REG_SZ`

1. Siapkan [PowerShell Galeri](https://learn.microsoft.com/en-us/powershell/gallery/overview?view=powershellget-3.x) sebagai berikut:
   + `[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12`
   + `Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force`
   + `Set-PSRepository -Name PSGallery -InstallationPolicy Trusted`

1. Instal PowerShell modul Windows berikut`*`:
   + `Install-Module -Name ComputerManagementDsc`
   + `Install-Module -Name FailOverClusterDsc`
   + `Install-Module -Name PSDscResources`
   + `Install-Module -Name xSmbShare`
   + `Install-Module -Name xActiveDirectory`
   + `Install-Module -Name SqlServer`

Untuk menggunakan Image Builder untuk membuat AMI, ikuti petunjuk di [Membuat pipeline gambar menggunakan wizard EC2 Image Builderconsole](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html) dalam dokumentasi Image Builder. Untuk membuat komponen resep dengan prasyarat sebelumnya, gunakan langkah-langkah berikut:

1. [Unduh file [component.yaml](https://github.com/aws-samples/cluster-amazon-elastic-compute-cloud-amazon-fsx-microsoft-sql-server/blob/main/ami/component.yaml) dari `ami ` folder repositori. GitHub ](https://github.com/aws-samples/cluster-amazon-elastic-compute-cloud-amazon-fsx-microsoft-sql-server)

1. Salin konten ke komponen Image Builder baru.

1. Perbarui placeholder berikut dengan informasi Anda:
   + `<domain>`— Nama domain Direktori Aktif Anda
   + `<bucket_name>`— Nama bucket Amazon S3 yang berisi gambar SQL Server