

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Membuat SecureString parameter Parameter Store dan menggabungkan node ke Domain (PowerShell)
<a name="sysman-param-securestring-walkthrough"></a>

Panduan ini menunjukkan cara menggabungkan Windows Server node ke domain menggunakan AWS Systems Manager `SecureString` parameter dan. Run Command Panduan ini menggunakan parameter domain biasa, seperti nama domain dan nama pengguna domain. Nilai-nilai ini diteruskan sebagai nilai string tidak terenkripsi. Kata sandi domain dienkripsi menggunakan Kunci yang dikelola AWS dan diteruskan sebagai string terenkripsi. 

**Prasyarat**  
Panduan ini mengasumsikan bahwa Anda sudah menentukan nama domain dan alamat IP server DNS di opsi DHCP yang terkait dengan Amazon VPC Anda. Untuk informasi, lihat [Bekerja dengan Rangkaian Opsi DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html#DHCPOptionSet) dalam *Panduan Pengguna Amazon VPC*.

**Untuk membuat `SecureString` parameter dan menggabungkan node ke domain**

1. Masukkan parameter ke dalam sistem menggunakan AWS Tools for Windows PowerShell.

   Dalam perintah berikut, ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

   ```
   Write-SSMParameter -Name "domainName" -Value "DOMAIN-NAME" -Type String
   Write-SSMParameter -Name "domainJoinUserName" -Value "DOMAIN\USERNAME" -Type String
   Write-SSMParameter -Name "domainJoinPassword" -Value "PASSWORD" -Type SecureString
   ```
**penting**  
Hanya *nilai* dari parameter `SecureString` yang dienkripsi. Nama parameter, deskripsi, dan properti lainnya tidak dienkripsi.

1. Lampirkan kebijakan AWS Identity and Access Management (IAM) berikut ke izin peran IAM untuk node Anda: 
   + **Amazon SSMManaged InstanceCore** - Diperlukan. Kebijakan AWS terkelola ini memungkinkan node terkelola untuk menggunakan fungsionalitas inti layanan Systems Manager.
   + **Amazon SSMDirectory ServiceAccess** - Diperlukan. Kebijakan AWS terkelola ini memungkinkan SSM Agent untuk mengakses AWS Directory Service atas nama Anda untuk permintaan bergabung dengan domain oleh node terkelola.
   + **Kebijakan khusus untuk akses bucket S3** — Diperlukan. SSM Agent, yang ada di node Anda dan melakukan tugas Systems Manager, memerlukan akses ke bucket Amazon Simple Storage Service (Amazon S3) khusus milik Amazon. Dalam kebijakan kustom bucket S3 yang Anda buat, Anda juga menyediakan akses ke bucket S3 Anda sendiri yang diperlukan untuk operasi Systems Manager. 

     Contoh: Anda dapat menulis output untuk Run Command perintah atau Session Manager sesi ke bucket S3, lalu menggunakan output ini nanti untuk audit atau pemecahan masalah. Anda menyimpan script akses atau daftar dasar patch kustom dalam bucket S3, lalu mereferensi script atau daftar tersebut ketika Anda menjalankan sebuah perintah, atau ketika dasar patch diterapkan.

     Untuk informasi tentang membuat kebijakan kustom untuk akses bucket Amazon S3, lihat [Membuat kebijakan bucket S3 kustom untuk profil instans](setup-instance-permissions.md#instance-profile-custom-s3-policy)
**catatan**  
Menyimpan data log output dalam bucket S3 bersifat opsional, namun kami merekomendasikan untuk mengaturnya di awal proses konfigurasi Systems Manager jika Anda memutuskan untuk menggunakannya. Untuk informasi selengkapnya, lihat [Membuat Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.
   + **CloudWatchAgentServerPolicy** – Opsional. Kebijakan AWS terkelola ini memungkinkan Anda menjalankan CloudWatch agen pada node terkelola. Kebijakan ini memungkinkan untuk membaca informasi pada node dan menuliskannya ke Amazon CloudWatch. Profil instans Anda memerlukan kebijakan ini hanya jika Anda menggunakan layanan seperti Amazon EventBridge atau CloudWatch Log.
**catatan**  
Menggunakan CloudWatch dan EventBridge fitur adalah opsional, tetapi kami sarankan untuk mengaturnya di awal proses konfigurasi Systems Manager Anda jika Anda telah memutuskan untuk menggunakannya. Untuk informasi selengkapnya, lihat *[Panduan EventBridge Pengguna Amazon dan Panduan](https://docs.aws.amazon.com/eventbridge/latest/userguide/)* *[Pengguna CloudWatch Log Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*.

1. Edit peran IAM yang dilampirkan ke node dan tambahkan kebijakan berikut. Kebijakan ini memberikan izin node untuk memanggil API `kms:Decrypt` dan `ssm:CreateDocument` API. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "ssm:CreateDocument"
               ],
               "Resource": [
                   "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
               ]
           }
       ]
   }
   ```

------

1. Salin dan tempel teks json berikut ini ke editor teks dan simpan file sebagai `JoinInstanceToDomain.json` di lokasi berikut: `c:\temp\JoinInstanceToDomain.json`.

   ```
   {
       "schemaVersion": "2.2",
       "description": "Run a PowerShell script to securely join a Windows Server instance to a domain",
       "mainSteps": [
           {
               "action": "aws:runPowerShellScript",
               "name": "runPowerShellWithSecureString",
               "precondition": {
                   "StringEquals": [
                       "platformType",
                       "Windows"
                   ]
               },
               "inputs": {
                   "runCommand": [
                       "$domain = (Get-SSMParameterValue -Name domainName).Parameters[0].Value",
                       "if ((gwmi Win32_ComputerSystem).domain -eq $domain){write-host \"Computer is part of $domain, exiting\"; exit 0}",
                       "$username = (Get-SSMParameterValue -Name domainJoinUserName).Parameters[0].Value",
                       "$password = (Get-SSMParameterValue -Name domainJoinPassword -WithDecryption $True).Parameters[0].Value | ConvertTo-SecureString -asPlainText -Force",
                       "$credential = New-Object System.Management.Automation.PSCredential($username,$password)",
                       "Add-Computer -DomainName $domain -Credential $credential -ErrorAction SilentlyContinue -ErrorVariable domainjoinerror",
                       "if($?){Write-Host \"Instance joined to domain successfully. Restarting\"; exit 3010}else{Write-Host \"Instance failed to join domain with error:\" $domainjoinerror; exit 1 }"
                   ]
               }
           }
       ]
   }
   ```

1. Jalankan perintah berikut di Tools for Windows PowerShell untuk membuat dokumen SSM baru.

   ```
   $json = Get-Content C:\temp\JoinInstanceToDomain | Out-String
   New-SSMDocument -Name JoinInstanceToDomain -Content $json -DocumentType Command
   ```

1. Jalankan perintah berikut di Tools for Windows PowerShell untuk bergabung dengan node ke domain.

   ```
   Send-SSMCommand -InstanceId instance-id -DocumentName JoinInstanceToDomain 
   ```

   Jika perintah berhasil, sistem mengembalikan informasi seperti berikut ini. 

   ```
   WARNING: The changes will take effect after you restart the computer EC2ABCD-EXAMPLE.
   Domain join succeeded, restarting
   Computer is part of example.local, exiting
   ```

   Jika perintah gagal, sistem mengembalikan informasi seperti berikut ini. 

   ```
   Failed to join domain with error:
   Computer 'EC2ABCD-EXAMPLE' failed to join domain 'example.local'
   from its current workgroup 'WORKGROUP' with following error message:
   The specified domain either does not exist or could not be contacted.
   ```