

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

# Menyiapkan infrastruktur Multi-AZ untuk SQL Server Always On FCI dengan menggunakan Amazon FSx
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx"></a>

*Manish Garg, TVRLPhani Kumar Dadi, Nishad Mankar, dan RAJNEESH TYAGI, Amazon Web Services*

## Ringkasan
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-summary"></a>

Jika Anda perlu memigrasi sejumlah besar Microsoft SQL Server Always On Failover Cluster Instances (FCIs) dengan cepat, pola ini dapat membantu Anda meminimalkan waktu penyediaan. Dengan menggunakan otomatisasi dan Amazon FSx untuk Windows File Server, ini mengurangi upaya manual, kesalahan buatan manusia, dan waktu yang diperlukan untuk menyebarkan sejumlah besar cluster.

Pola ini mengatur infrastruktur untuk SQL Server FCIs dalam penerapan Multi-Availability Zone (Multi-AZ) di Amazon Web Services (AWS). Penyediaan layanan AWS yang diperlukan untuk infrastruktur ini diotomatiskan dengan menggunakan templat [ CloudFormationAWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). Instalasi SQL Server dan pembuatan node cluster pada instans [Amazon Elastic Compute Cloud EC2 (Amazon)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) dilakukan dengan menggunakan PowerShell perintah.

Solusi ini menggunakan sistem file [Amazon Multi-AZ FSx untuk Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) yang sangat tersedia sebagai saksi bersama untuk menyimpan file database SQL Server. Sistem FSx file Amazon dan instance EC2 Windows yang menghosting SQL Server digabungkan ke domain AWS Directory Service untuk Microsoft Active Directory (AWS Managed Microsoft AD) yang sama.

## Prasyarat dan batasan
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ Pengguna AWS dengan izin yang memadai untuk menyediakan sumber daya menggunakan templat AWS CloudFormation 
+ AWS Directory Service untuk Microsoft Active Directory
+ Kredensil di AWS Secrets Manager untuk mengautentikasi ke AWS Managed Microsoft AD dalam pasangan nilai kunci:
  + `ADDomainName`: <Domain Name>
  + `ADDomainJoinUserName`: <Domain Username>
  + `ADDomainJoinPassword`: <Domain User Password>
  + `TargetOU`: <Target OU Value>
**catatan**  
Anda akan menggunakan nama kunci yang sama dalam otomatisasi AWS Systems Manager untuk aktivitas gabungan AWS Managed Microsoft AD.
+ File media SQL Server untuk instalasi SQL Server dan layanan Windows atau akun domain dibuat, yang akan digunakan selama pembuatan cluster
+ Virtual Private Cloud (VPC), dengan dua subnet publik di Availability Zones terpisah, dua subnet pribadi di Availability Zones, gateway internet, gateway NAT, asosiasi tabel rute, dan server lompat

**Versi produk**
+ Windows Server 2012 R2 dan Microsoft SQL Server 2016

## Arsitektur
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-architecture"></a>

**Tumpukan teknologi sumber**
+ SQL Server lokal dengan FCIs menggunakan drive bersama

**Tumpukan teknologi target**
+  EC2 Instans AWS
+ Amazon FSx untuk Server File Windows
+ Runbook AWS Systems Manager Automation
+ Konfigurasi jaringan (VPC, subnet, gateway internet, gateway NAT, server lompat, grup keamanan)
+ AWS Secrets Manager
+ AWS Dikelola Microsoft AD
+ Amazon EventBridge
+ AWS Identity and Access Management (IAM)

**Arsitektur target**

Diagram berikut menunjukkan akun AWS dalam satu Wilayah AWS, dengan VPC yang mencakup dua Availability Zone, dua subnet publik dengan gateway NAT, server lompat di subnet publik pertama, dua subnet pribadi, masing-masing dengan EC2 instance untuk node SQL Server dalam grup keamanan node, dan sistem FSx file Amazon yang terhubung ke masing-masing node SQL Server. AWS Directory Service, Amazon EventBridge, AWS Secrets Manager, dan AWS Systems Manager juga disertakan.

![\[Arsitektur multi-AZ dengan sumber daya di subnet publik dan pribadi, dengan grup keamanan node.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Otomatisasi dan skala**
+ Anda dapat menggunakan AWS Systems Manager untuk bergabung dengan AWS Managed Microsoft AD dan melakukan penginstalan SQL Server.

## Alat
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-tools"></a>

**Layanan AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) membantu Anda menyiapkan sumber daya AWS, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya di seluruh akun dan Wilayah AWS.
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) menyediakan beberapa cara untuk menggunakan Microsoft Active Directory (AD) dengan layanan AWS lainnya seperti Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) untuk SQL Server, dan FSx Amazon untuk Windows File Server.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 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.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data waktu nyata dari berbagai sumber. Misalnya, fungsi AWS Lambda, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di akun AWS lainnya.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
+ [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.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) membantu Anda mengelola aplikasi dan infrastruktur yang berjalan di AWS Cloud. Ini menyederhanakan manajemen aplikasi dan sumber daya, mempersingkat waktu untuk mendeteksi dan menyelesaikan masalah operasional, dan membantu Anda mengelola sumber daya AWS Anda dengan aman dalam skala besar.

**Alat-alat lainnya**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)adalah program manajemen otomatisasi dan konfigurasi Microsoft yang berjalan di Windows, Linux, dan macOS. Pola ini menggunakan PowerShell skrip.

**Repositori kode**

Kode untuk pola ini tersedia di repositori GitHub [aws-windows-failover-cluster-automation](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Praktik terbaik
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ Peran IAM yang digunakan untuk menerapkan solusi ini harus mematuhi prinsip hak istimewa paling sedikit. Untuk informasi selengkapnya, lihat [dokumentasi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Ikuti [praktik CloudFormation terbaik AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

## Epik
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-epics"></a>

### Menyebarkan infrastruktur
<a name="deploy-the-infrastructure"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Menyebarkan CloudFormation tumpukan Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps insinyur | 
| Menyebarkan tumpukan infrastruktur. | Setelah berhasil menyebarkan tumpukan Systems Manager, buat `infra` tumpukan, yang mencakup node EC2 instance, grup keamanan, sistem file Amazon FSx untuk Windows File Server, dan peran IAM.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps insinyur | 

### Mengatur Windows SQL Server Selalu Di FCI
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal alat Windows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps insinyur, DBA | 
| Prestage objek komputer cluster di Active Directory Domain Services. | [Untuk melakukan prestage objek nama cluster (CNO) di Active Directory Domain Services (AD DS) dan prestage objek komputer virtual (VCO) untuk peran berkerumun, ikuti instruksi dalam dokumentasi Windows Server.](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds) | AWS DevOps, DBA, DevOps insinyur | 
| Buat WSFC. | Untuk membuat cluster Windows Server Failover Clustering (WSFC), lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DBA, DevOps insinyur | 
| Instal cluster failover SQL Server. | Setelah cluster WSFC diatur, instal cluster SQL Server pada instance utama (node1).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<pre>D:\setup.exe /Q  `<br />/ACTION=InstallFailoverCluster `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/FEATURES="SQL,IS,BC,Conn"  `<br />/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"  `<br />/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"  `<br />/RSINSTALLMODE="FilesOnlyMode"  `<br />/INSTANCEID="MSSQLSERVER" `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)"  `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node1>;Cluster Network 1;<subnet mask>"  `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>"  `<br />/INSTANCEDIR="C:\Program Files\Microsoft SQL Server"  `<br />/ENU="True"  `<br />/ERRORREPORTING=0  `<br />/SQMREPORTING=0  `<br />/SAPWD="<Domain User password>" `<br />/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"  `<br />/SQLSYSADMINACCOUNTS="<domain\username>" `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="<domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/ISSVCACCOUNT="<domain\username>" /ISSVCPASSWORD="<Domain User password>"  `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher"  `<br />/INSTALLSQLDATADIR="\\<FSX DNS name>\share\Program Files\Microsoft SQL Server"  `<br />/SQLUSERDBDIR="\\<FSX DNS name>\share\data"  `<br />/SQLUSERDBLOGDIR="\\<FSX DNS name>\share\log" `<br />/SQLTEMPDBDIR="T:\tempdb"  `<br />/SQLTEMPDBLOGDIR="T:\log"  `<br />/SQLBACKUPDIR="\\<FSX DNS name>\share\SQLBackup" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, DevOps insinyur | 
| Tambahkan simpul sekunder ke cluster. | Untuk menambahkan SQL Server ke node sekunder (node 2), jalankan PowerShell perintah berikut.<pre>D:\setup.exe /Q  `<br />/ACTION=AddNode `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)" `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node2>;Cluster Network 2;<subnet mask>" `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>" `<br />/CONFIRMIPDEPENDENCYCHANGE=1 `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, DevOps insinyur | 
| Uji SQL Server FCI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, DevOps insinyur | 

### Pembersihan sumber daya
<a name="clean-up-resources"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Pembersihan sumber daya  | Untuk membersihkan sumber daya, gunakan proses penghapusan CloudFormation tumpukan AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)Setelah penghapusan tumpukan selesai, tumpukan akan berada dalam status. `DELETE_COMPLETE` Tumpukan dalam `DELETE_COMPLETE` status tidak ditampilkan di CloudFormation konsol secara default. Untuk menampilkan tumpukan yang dihapus, Anda harus mengubah filter tampilan tumpukan seperti yang dijelaskan dalam [Melihat tumpukan yang dihapus di konsol CloudFormation AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html).Jika penghapusan gagal, tumpukan akan berada dalam status. `DELETE_FAILED` Untuk solusi, lihat [Menghapus tumpukan gagal](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) dalam CloudFormation dokumentasi. | AWS DevOps, DBA, DevOps insinyur | 

## Pemecahan masalah
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Kegagalan CloudFormation template AWS | Jika CloudFormation template gagal selama penerapan, lakukan hal berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Kegagalan bergabung dengan Microsoft AD yang Dikelola AWS | Untuk memecahkan masalah bergabung, ikuti langkah-langkah berikut:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Sumber daya terkait
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Sederhanakan penerapan ketersediaan tinggi Microsoft SQL Server Anda menggunakan FSx Amazon untuk Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Menggunakan FSx untuk Windows File Server dengan Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)