

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

# AWS Cloud Map 服務運作狀態檢查組態
<a name="services-health-checks"></a>

運作狀態檢查有助於判斷服務執行個體是否正常運作。如果您在服務建立期間未設定運作狀態檢查，無論執行個體的運作狀態為何，流量都會路由至服務執行個體。當您設定運作狀態檢查時， 預設會 AWS Cloud Map 傳回運作狀態良好的資源。您可以使用 `DiscoverInstances` API 的 `[HealthStatus](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html#cloudmap-DiscoverInstances-request-HealthStatus)` 參數，依運作狀態篩選資源，並取得運作狀態不佳的資源清單。您也可以使用 `[GetInstancesHealthStatus](https://docs.aws.amazon.com/cloud-map/latest/api/API_GetInstancesHealthStatus.html)` API 來擷取特定服務執行個體的運作狀態。

您可以在建立 AWS Cloud Map 服務時設定 Route 53 運作狀態檢查或自訂的第三方運作狀態檢查。

## Route 53 運作狀態檢查
<a name="services-health-checks-r53"></a>

如果您指定 Amazon Route 53 運作狀態檢查的設定， 會在您註冊執行個體時 AWS Cloud Map 建立 Route 53 運作狀態檢查，並在取消註冊執行個體時刪除運作狀態檢查。

對於公有 DNS 命名空間， 會將運作狀態檢查與註冊執行個體時 AWS Cloud Map 建立的 Route 53 記錄 AWS Cloud Map 建立關聯。如果您在服務的 DNS 組態中同時指定 `A`和 `AAAA`記錄類型， 會 AWS Cloud Map 建立使用 IPv4 地址來檢查資源運作狀態的運作狀態檢查。如果 IPv4 地址指定的端點狀況不良，Route 53 會將 `A`和 `AAAA`記錄視為狀況不良。如果您在服務的 DNS 組態中指定`CNAME`記錄類型，則無法設定 Route 53 運作狀態檢查。

對於您使用 API 呼叫來探索執行個體的命名空間， AWS Cloud Map 會建立 Route 53 運作狀態檢查。不過，沒有 AWS Cloud Map 要與運作狀態檢查建立關聯的 DNS 記錄。若要判斷運作狀態檢查是否良好，您可以使用 Route 53 主控台或使用 Amazon CloudWatch 設定監控。如需使用 Route 53 主控台的詳細資訊，請參閱《*Amazon Route 53 開發人員指南*》中的在[運作狀態檢查失敗時取得通知](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-values.html#health-checks-creating-values-alarm)。如需使用 CloudWatch 的詳細資訊，請參閱《*Amazon CloudWatch API 參考*》中的 [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)。

**注意**  
您無法為在私有 DNS 命名空間中建立的服務設定 Amazon Route 53 運作狀態檢查。
每個運作狀態檢查中的 Route 53 運作狀態檢查程式會每 30 秒 AWS 區域 將運作狀態檢查請求傳送至端點。您的端點平均約每隔兩秒就會收到一次運作狀態檢查請求。但是，運作狀態檢查程式不會彼此協調。因此，有時會看到一秒數個請求，接下來幾秒又完全沒有運作狀態檢查的情況。如需運作狀態檢查區域的清單，請參閱 [區域](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions)。

如需 Route 53 運作狀態檢查費用的資訊，請參閱 [Route 53 定價](https://aws.amazon.com/route53/pricing/)。

## 自訂運作狀態檢查
<a name="services-health-check-custom"></a>

如果您 AWS Cloud Map 將 設定為在註冊執行個體時使用自訂運作狀態檢查，則必須使用第三方運作狀態檢查程式來評估資源的運作狀態。在以下情況下自訂運作狀態檢查很有用：
+ 您無法使用 Route 53 運作狀態檢查，因為資源無法透過網際網路使用。例如，假設您的執行個體位於 Amazon VPC 中。您可以使用此執行個體的自訂運作狀態檢查。不過，若要讓運作狀態檢查正常運作，您的運作狀態檢查程式也必須與執行個體位於相同的 VPC 中。
+ 不論資源位於何處，建議您使用第三方運作狀態檢查程式。

當您使用自訂運作狀態檢查時， AWS Cloud Map 不會直接檢查指定資源的運作狀態。相反地，第三方運作狀態檢查程式會檢查資源的運作狀態，並將狀態傳回給您的應用程式。然後，您的應用程式將需要提交轉送此狀態的`[UpdateInstanceCustomHealthStatus](https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html)`請求 AWS Cloud Map。如果初始轉送狀態為 `UNHEALTHY`，且如果 30 秒`[UpdateInstanceCustomHealthStatus](https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html)`內沒有另一個轉送狀態為 `HEALTHY`，則確認資源運作狀態不佳。 會 AWS Cloud Map 停止將流量路由至該資源。