

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Managed Microsoft AD 最佳實務
<a name="ms_ad_best_practices"></a>

以下是您應該考慮的一些建議和指導方針，以避免問題並充分利用 AWS Managed Microsoft AD。

**Topics**
+ [設定 AWS Managed Microsoft AD 的最佳實務](#ms_ad_best_practices_set_up)
+ [使用 AWS Managed Microsoft AD 目錄時的最佳實務](#ms_ad_bp_using_directory)
+ [程式設計 AWS Managed Microsoft AD 應用程式時的最佳實務](#program_apps)

## 設定 AWS Managed Microsoft AD 的最佳實務
<a name="ms_ad_best_practices_set_up"></a>

以下是設定 AWS Managed Microsoft AD 時的一些建議和準則：

**Topics**
+ [先決條件](#ms_ad_best_practices_prereq)
+ [建立 AWS Managed Microsoft AD](#ms_ad_best_practices_create)

### 先決條件
<a name="ms_ad_best_practices_prereq"></a>

建立目錄之前，請考量這些準則。

#### 確認目錄類型是否正確
<a name="choose_right_type"></a>

Directory Service 提供多種方式可Microsoft Active Directory與其他 AWS 服務搭配使用。您可以依所需功能及成本預算，選擇目錄服務：
+ **AWS Directory Service for Microsoft Active Directory** 是一種功能豐富的受Microsoft Active Directory管 AWS 雲端託管。如果您有超過 5，000 名使用者，且需要在託管目錄和內部部署目錄之間 AWS 設定信任關係，則 AWS 受管 Microsoft AD 是您的最佳選擇。
+ **AD Connector** 只會將您現有的內部部署 Active Directory 連線到 AWS。如果您想要將現有的內部部署目錄用於 AWS 服務，AD Connector 會是您的最佳選擇。
+ **Simple AD** 是與基本 Active Directory 相容的低規模兼低成本目錄。它支援最多 5,000 名使用者、Samba 4 相容應用程式，以及 LDAP 感知應用程式的 LDAP 相容性。

如需 Directory Service 選項的更詳細比較，請參閱 [該選擇哪種](what_is.md#choosing_an_option)。

#### 確認已正確設定您的 VPC 和執行個體
<a name="vpc_config"></a>

為了連線、管理及使用您的目錄，您必須正確設定與目錄相關聯的 VPC。如需 VPC 安全與聯網需求的資訊，請參閱「[建立 AWS Managed Microsoft AD 的先決條件](ms_ad_getting_started.md#ms_ad_getting_started_prereqs) 」、「[AD Connector 事前準備](ad_connector_getting_started.md#prereq_connector) 」或「[Simple AD 先決條件](simple_ad_getting_started.md#prereq_simple)」。

如果您想要將執行個體新增至網域，請確定您具備連線能力並可遠端存取您的執行個體，如「[將 Amazon EC2 執行個體加入 AWS Managed Microsoft AD 的方法](ms_ad_join_instance.md)」中所述。

#### 留意您的限制
<a name="aware_of_limits"></a>

了解特定目錄類型的不同限制。您可以在目錄中儲存的物件數量僅受限於可用儲存空間和物件的彙總大小。有關所選目錄的詳細資訊，請參閱「[AWS Managed Microsoft AD 配額](ms_ad_limits.md)」、「[AD Connector 配額](ad_connector_limits.md)」或「[Simple AD 配額](simple_ad_limits.md)」。

#### 了解目錄 AWS 的安全群組組態和使用
<a name="understandsecuritygroup"></a>

AWS 會建立[安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule)，並將其連接至目錄的網域控制器[彈性網路介面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)。此安全群組會封鎖網域控制器不必要的流量，並允許 Active Directory 通訊所需的流量。 會將安全群組 AWS 設定為僅開啟 Active Directory 通訊所需的連接埠。在預設組態中，安全群組接受從 AWS Managed Microsoft AD VPC IPv4 CIDR 地址到這些連接埠的流量。 會將安全群組 AWS 連接到您的網域控制器界面，這些界面可從對等或調整大小[VPCs](https://aws.amazon.com/vpc/) 內存取。這些界面無法從網際網路存取，縱使您修改路由表、變更到 VPC 的網路連線與設定 [NAT 閘道服務](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)。因此，只有包含 VPC 網路路徑的執行個體和電腦才能存取目錄。由於您不需要設定特定地址範圍，因此簡化了設定作業。反之，您會設定在 VPC 的路由和安全群組，只允許來自信任執行個體和電腦的流量。

##### 修改目錄安全群組
<a name="modifyingsecuritygroup"></a>

如果您想要提高目錄安全群組的安全性，您可以修改它們以接受來自更嚴格 IP 地址清單的流量。例如，您可以將 VPC IPv4 CIDR 範圍中接受的地址變更為單一子網路或電腦專屬的 CIDR 範圍。同樣地，您可以選擇將目標地址限制為您的網域控制站可通訊的地址。請只在您完全了解安全群組篩選的運作方式時才進行這類變更。如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的[適用於 Linux 執行個體的 Amazon EC2 安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)一節。不當變更可能會導致與預期電腦和執行個體的通訊中斷。 AWS 建議您不要嘗試開啟網域控制器的其他連接埠，因為這會降低目錄的安全性。請仔細檢閱 [AWS 共同的責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)。

**警告**  
就技術而言，您可以將目錄所使用的安全群組與您所建立的其他 EC2 執行個體產生關聯。不過，針對此實務 AWS 的建議。 AWS 可能有理由修改安全群組，而不另行通知，以解決受管目錄的功能或安全需求。這類變更會影響任何與目錄安全群組相關聯的執行個體。此外，將目錄安全群組與您的 EC2 執行個體產生關聯可能會對您的 EC2 執行個體帶來安全風險。目錄安全群組接受來自 AWS Managed Microsoft AD VPC IPv4 CIDR 地址之必要 Active Directory 連接埠上的流量。如果您將此安全群組與具有連接到網際網路之公有 IP 地址的 EC2 執行個體產生關聯，則網際網路上的任何電腦都可以透過已開啟的連接埠與 EC2 執行個體通訊。

### 建立 AWS Managed Microsoft AD
<a name="ms_ad_best_practices_create"></a>

以下是您在建立 AWS Managed Microsoft AD 時需要考慮的一些建議。

**Topics**
+ [記住您的管理員 ID 和密碼](#ms_ad_remember_pw)
+ [建立 DHCP 選項集](#bp_create_dhcp_options_set)
+ [啟用條件式轉寄站設定](#bp_conditional_forwarder_settings)
+ [部署其他網域控制器](#bp_create_additional_dcs)
+ [了解 AWS 應用程式的使用者名稱限制](#usernamerestrictions)

#### 記住您的管理員 ID 和密碼
<a name="ms_ad_remember_pw"></a>

在您設定目錄時，您會提供管理員帳戶的密碼。該帳戶 ID 是 AWS Managed Microsoft AD 的 *Admin*。請記住您為此帳戶建立的密碼，否則您將無法新增物件至目錄。

#### 建立 DHCP 選項集
<a name="bp_create_dhcp_options_set"></a>

建議您為 Directory Service 目錄建立 DHCP 選項集，並將 DHCP 選項集指派給目錄所在的 VPC。如此一來，該 VPC 中的任何執行個體可以指向指定的網域，而且 DNS 伺服器可以解析其網域名稱。

如需 DHCP 選項集的詳細資訊，請參閱「[建立或變更 AWS Managed Microsoft AD 的 DHCP 選項集](dhcp_options_set.md)」。

#### 啟用條件式轉寄站設定
<a name="bp_conditional_forwarder_settings"></a>

 下列條件式轉送設定 *將此條件式轉送器存放在 Active Directory 中，複寫如下：*應啟用。當節點因基礎設施故障或過載故障而遭到取代時，啟用這些設定將確保條件式轉寄站設定是持久的。

條件式轉送器應在已啟用先前設定的網域控制站上建立。這將允許複寫到其他網域控制站。

#### 部署其他網域控制器
<a name="bp_create_additional_dcs"></a>

根據預設， 會 AWS 建立存在於不同可用區域中的兩個網域控制站。如此可在軟體修補期間，以及可能讓一個網域控制器無法連線或無法使用的其他事件期間，提供錯誤復原力。我們建議[部署其他網域控制器](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_deploy_additional_dcs.html)，以進一步增加復原力，並在影響網域控制器或可用區域存取的長期事件發生時，確保向外擴展效能。

如需詳細資訊，請參閱[使用 Windows DC 定位器服務](#program_dc_locator)。

#### 了解 AWS 應用程式的使用者名稱限制
<a name="usernamerestrictions"></a>

Directory Service 支援可用於建構使用者名稱的大多數字元格式。不過，在用於登入 AWS 應用程式的使用者名稱上會強制執行字元限制，例如 WorkSpaces、WorkDocs、Amazon WorkMail 或 Quick。這些限制要求不使用下列字元：
+ 空格
+ 多位元組字元
+ \$1"\$1\$1%&'()\$1\$1,/:;<=>?@[\$1]^`\$1\$1\$1\$1

**注意**  
@ 符號只可位於 UPN 尾碼之前。

## 使用 AWS Managed Microsoft AD 目錄時的最佳實務
<a name="ms_ad_bp_using_directory"></a>

以下是使用 AWS Managed Microsoft AD 時需要記住的一些建議。

**Topics**
+ [請勿改變預先定義的使用者、群組和組織單位](#predefined_groups)
+ [自動加入域](#auto_join_domains)
+ [正確設定信任](#setup_trust_correctly)
+ [追蹤域控制站效能](#bp_scale_dcs)
+ [仔細規劃結構描述延伸](#manage_schema_extensions)
+ [關於負載平衡器](#manage_load_balancer)
+ [備份您的執行個體](#make_backups)
+ [設定 SNS 簡訊](#use_sns)
+ [應用程式目錄服務設定](#ds-settings)
+ [刪除目錄前先移除 Amazon 企業應用程式](#remove_rds)
+ [存取 SYSVOL 和 NETLOGON 共用時，請使用 SMB 2.x 用戶端](#use_smbv2)

### 請勿改變預先定義的使用者、群組和組織單位
<a name="predefined_groups"></a>

當您使用 Directory Service 啟動目錄時， AWS 會建立組織單位 (OU)，其中包含您目錄的所有物件。此 OU 有您在建立目錄時所輸入的 NetBIOS 名稱，位於根網域中。網域根由 擁有和管理 AWS。這也會建立數個群組和管理使用者。

請勿移動、刪除或透過其他方式來改變這些預先定義的物件。這樣做會使您自己和 無法存取您的目錄 AWS。如需詳細資訊，請參閱[使用 AWS Managed Microsoft AD 建立的內容](ms_ad_getting_started_what_gets_created.md)。

### 自動加入域
<a name="auto_join_domains"></a>

啟動要成為 Directory Service 網域一部分的 Windows 執行個體時，通常最容易將網域加入執行個體建立程序，而不是稍後手動新增執行個體。若要自動加入網域，只要在啟動新的執行個體時，針對 **Domain join directory** (網域加入目錄) 選取正確的目錄即可。您可以在「[將 Amazon EC2 Windows 執行個體加入 AWS Managed Microsoft AD Active Directory](launching_instance.md)」中找到詳細資訊。

### 正確設定信任
<a name="setup_trust_correctly"></a>

在 AWS Managed Microsoft AD 目錄和另一個目錄之間設定信任關係時，請記住下列準則：
+ 信任類型必須在雙方比對 (樹系或外部)
+ 如果使用單向信任 (信任網域上的外寄、可信任網域上的傳入)，請確定已正確設定信任方向
+ 完整網域名稱 (FQDN) 和 NetBIOS 名稱在樹系/網域之間必須是唯一的

如需設定信任關係的詳細資訊與特定說明，請參閱「[在 AWS Managed Microsoft AD 和自我管理 AD 之間建立信任關係](ms_ad_setup_trust.md)」。

### 追蹤域控制站效能
<a name="bp_scale_dcs"></a>

為了協助最佳化擴展決策，並提高目錄彈性和效能，我們建議您使用 CloudWatch 指標。如需詳細資訊，請參閱[使用 CloudWatch 監控 AWS Managed Microsoft AD 網域控制站的效能](ms_ad_monitor_dc_performance.md)。

如需如何使用 CloudWatch 主控台設定網域控制器指標的指示，請參閱 安全部落格中的 AWS [如何根據使用率指標自動化 AWS Managed Microsoft AD 擴展](https://aws.amazon.com/blogs/security/how-to-automate-aws-managed-microsoft-ad-scaling-based-on-utilization-metrics/)。

### 仔細規劃結構描述延伸
<a name="manage_schema_extensions"></a>

經仔細考量後，套用結構描述延伸以建立目錄索引，供重要及頻繁查詢。請小心避免建立過多索引，因為索引會佔用目錄空間，而快速變更索引值會導致效能問題。若要新增索引，您必須建立輕量型目錄存取協定 (LDAP) 目錄交換格式 (LDIF) 檔案，並延伸您的結構描述變更。如需詳細資訊，請參閱[擴展您的 AWS Managed Microsoft AD 結構描述](ms_ad_schema_extensions.md)。

### 關於負載平衡器
<a name="manage_load_balancer"></a>

請勿在 AWS Managed Microsoft AD 端點前面使用負載平衡器。 Microsoft設計的 Active Directory (AD) 可與網域控制站 (DC) 探索演算法搭配使用，該演算法會尋找反應最靈敏的操作 DC，無需外部負載平衡。外部網路負載平衡器會錯誤偵測作用中的 DC，進而將您的應用程式傳送到尚未投入使用的 DC。如需詳細資訊，請參閱 Microsoft TechNet 上的[負載平衡器和 Active Directory](https://social.technet.microsoft.com/wiki/contents/articles/33547.load-balancers-and-active-directory.aspx)，其建議修正應用程式以正確使用 Active Directory，而不是實作外部負載平衡器。

### 備份您的執行個體
<a name="make_backups"></a>

如果您決定手動將執行個體新增至現有 Directory Service 網域，請先備份或拍攝該執行個體的快照。這在加入 Linux 執行個體時特別重要。某些用來新增執行個體的程序若未正確執行，可能會導致您的執行個體無法連線或無法使用。如需詳細資訊，請參閱[使用快照還原 AWS Managed Microsoft AD](ms_ad_snapshots.md)。

### 設定 SNS 簡訊
<a name="use_sns"></a>

使用 Amazon Simple Notification Service (Amazon SNS)，當目錄狀態有所變更時，您便可以收到電子郵件或文字 (SMS) 簡訊。如果您的目錄從 **Active** (作用中) 狀態變成 **Impaired** (受損) 或 **Inoperable** (無法操作) 狀態，您就會收到通知。當目錄恢復到 Active (作用中) 狀態時，您也會收到通知。

另外請記住，如果您有接收訊息的 SNS 主題 Directory Service，在從 Amazon SNS 主控台刪除該主題之前，您應該將目錄與不同的 SNS 主題建立關聯。否則會有遺漏重要目錄狀態訊息的風險。如需如何設定 Amazon SNS 的資訊，請參閱 [使用 Amazon Simple Notification Service 啟用 AWS Managed Microsoft AD 目錄狀態通知](ms_ad_enable_notifications.md)。

### 應用程式目錄服務設定
<a name="ds-settings"></a>

AWS Managed Microsoft AD 可讓您量身打造安全組態以符合您的合規和安全需求。 AWS Managed Microsoft AD 會將組態部署和維護到目錄中的所有網域控制站，包括新增區域或其他網域控制站時。您可以為所有新目錄和現有目錄設定和套用這些安全設定。您可以在主控台中按照 [編輯目錄安全設定](ms_ad_directory_settings.md#edit-ds-settings) 中描述的步驟或透過 [UpdateSettings API](https://docs.aws.amazon.com//directoryservice/latest/devguide/API_UpdateSettings.html) 執行此操作。

如需詳細資訊，請參閱[編輯 AWS Managed Microsoft AD 目錄安全設定](ms_ad_directory_settings.md)。

### 刪除目錄前先移除 Amazon 企業應用程式
<a name="remove_rds"></a>

在刪除與一或多個 Amazon Enterprise 應用程式相關聯的目錄之前，例如 WorkSpaces、Amazon WorkSpaces Application Manager、WorkDocs AWS 管理主控台、Amazon WorkMail 或 Amazon Relational Database Service (Amazon RDS)，您必須先移除每個應用程式。如需移除應用程式的詳細資訊，請參閱[刪除您的 AWS Managed Microsoft AD](ms_ad_delete.md)相關文章。

### 存取 SYSVOL 和 NETLOGON 共用時，請使用 SMB 2.x 用戶端
<a name="use_smbv2"></a>

用戶端電腦使用伺服器訊息區塊 (SMB) 來存取 AWS Managed Microsoft AD 網域控制站上的 SYSVOL 和 NETLOGON 共用，適用於群組政策、登入指令碼和其他檔案。 AWS Managed Microsoft AD 僅支援 SMB 2.0 版 (SMBv2) 和更新版本。

SMBv2 和較新版本通訊協定會新增多項功能，以改善用戶端效能，並增加網域控制器和用戶端的安全性。這項變更遵循[美國電腦緊急應變小組](https://www.us-cert.gov/ncas/current-activity/2017/01/16/SMB-Security-Best-Practices)和 [Microsoft](https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/) 的建議來停用 SMBv1。

**重要**  
如果您目前使用 SMBv1 用戶端來存取網域控制器的 SYSVOL 和 NETLOGON 共用，您必須更新那些用戶端，以使用 SMBv2 或更新版本。您的目錄將正常運作，但 SMBv1 用戶端將無法連線至 AWS Managed Microsoft AD 網域控制站的 SYSVOL 和 NETLOGON 共用，也無法處理群組政策。

SMBv1 用戶端將使用您擁有的任何其他 SMBv1 相容檔案伺服器。不過， AWS 建議您將所有 SMB 伺服器和用戶端更新為 SMBv2 或更新版本。若要進一步了解如何在系統上停用 SMBv1 並將其更新為較新的 SMB 版本，請參閱 [Microsoft TechNet](https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/) 和 [Microsoft 文件](https://learn.microsoft.com/en-US/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3?tabs=server)上的這些文章。

**追蹤 SMBv1 遠端連線**

您可以檢閱從遠端連線至 AWS Managed Microsoft AD 網域控制器的 **Microsoft-Windows-SMBServer/Audit** Windows 事件日誌，此日誌中的任何事件都會指出 SMBv1 連線。以下是您在其中一個日誌中可能會看到的資訊範例：

*SMB1 存取權*

*客戶地址：\$1\$1\$1.\$1\$1\$1.\$1\$1\$1.\$1\$1\$1*

*指導：*

*此事件表示用戶端嘗試使用 SMB1 存取伺服器。若要停止稽核 SMB1 存取，請使用 PowerShell cmdlet Set-SmbServerConfiguration。*

## 程式設計 AWS Managed Microsoft AD 應用程式時的最佳實務
<a name="program_apps"></a>

在您編寫應用程式以使用 AWS Managed Microsoft AD 之前，請考慮下列事項：

**Topics**
+ [使用 Windows DC 定位器服務](#program_dc_locator)
+ [投入生產前先進行負載測試](#program_load_test)
+ [使用高效 LDAP 查詢](#program_ldap_query)

### 使用 Windows DC 定位器服務
<a name="program_dc_locator"></a>

開發應用程式時，請使用 Windows DC 定位器服務，或使用 AWS Managed Microsoft AD 的動態 DNS (DDNS) 服務來尋找網域控制站 DCs)。請勿使用 DC 地址將應用程式寫死在程式碼中。DC 定位器服務可新增網域控制站到您的部署，協助確保目錄負載分散並讓您充分利用水平擴展。如果您將應用程式繫結到固定的 DC，而該 DC 正在進行修補或復原，則您的應用程式將無法存取該 DC，而不會使用其中一個剩餘的 DC。此外，DC 硬編碼會導致單一 DC 產生熱點。在嚴重的情況下，熱點可能會導致您的 DC 無法回應。這類情況也可能導致 AWS 目錄自動化將目錄標記為受損，並可能觸發取代無回應 DC 的復原程序。

### 投入生產前先進行負載測試
<a name="program_load_test"></a>

請務必針對代表您的生產工作負載的物件與請求執行實驗室測試，以確認目錄擴展至您的應用程式負載。如果您需要更多容量，請測試額外的 DC 並在 DC 之間發佈請求。如需詳細資訊，請參閱[部署 AWS Managed Microsoft AD 的其他網域控制站](ms_ad_deploy_additional_dcs.md)。

### 使用高效 LDAP 查詢
<a name="program_ldap_query"></a>

從上萬個物件針對網域控制站執行廣泛 LDAP 查詢，會佔用單一 DC 的大量 CPU 周期，進而產生熱點現象。這可能會導致查詢期間使用相同 DC 的應用程式受到影響。