使用 AWS Health API 将 AWS Health 与其他系统集成
AWS Health 是一种 RESTful Web 服务,它使用 HTTPS 进行传输,并采用 JSON 作为消息序列化格式。您的应用程序代码可以直接向 AWS Health API 发送请求。在您直接使用 REST API 时,您必须编写必要的代码来对您的请求签名以及验证您的请求。有关 AWS Health 操作和参数的更多信息,请参阅 AWS Health API 参考。
注意
您必须拥有 AWS SupportSubscriptionRequiredException
错误。
您可以使用 AWS SDK 封装 AWS Health REST API 调用,从而简化应用程序开发。您指定 AWS 证书后,这些库会处理您的身份验证和请求登录事宜。
AWS Health 还可以在 AWS Management Console 中提供 AWS Health 控制面板,您可以用来查看并搜索事件和受影响的实体。请参阅 AWS Health Dashboard 入门。
主题
签署 AWS Health API 请求
当您使用 AWS SDK 或 AWS Command Line Interface (AWS CLI) 来向 AWS 发出请求时,这些工具会自动使用您在配置工具时指定的访问密钥为您签署请求。例如,如果您使用前面用于高可用性端点演示的 AWS SDK for Java,则无需亲自签署这些请求。
Java 代码示例
有关如何将 AWS Health API 与 AWS SDK for Java 一起使用的更多示例,请参阅此示例代码。
当您进行请求时,我们强烈建议您不要使用 AWS 根账户凭证定期访问 AWS Health。您可以使用 IAM 用户的凭证。有关更多信息,请参阅 IAM 用户指南中的隐藏您的 AWS 账户根用户访问密钥。
如果您不使用 AWS SDK 或 AWS CLI,则必须自行对请求签名。我们建议您使用 AWS Signature 版本 4。有关更多信息,请参阅 AWS 一般参考 中的签署 AWS API 请求。
选择用于 AWS Health API 请求的端点
AWS Health API 遵循,并且通过使用主动-被动配置具有两个区域端点。为了支持主动-被动 DNS 故障转移,AWS Health 提供了一个全局端点。您可以在全局端点上执行 DNS 查找,以确定主动端点和相应的签名 AWS 区域。这可以帮助您了解要在代码中使用哪个端点,以便您可以从 AWS Health 中获取最新信息。
当您向全局端点发出请求时,必须指定您对目标区域端点的 AWS 访问凭证,并为您的区域配置签名。否则,您的身份验证可能会失败。有关更多信息,请参阅 签署 AWS Health API 请求。
下表列出了默认配置。
描述 | 签名区域 | 终端节点 | 协议 |
---|---|---|---|
处于活动状态 |
us-east-1 |
health.us-east-1.amazonaws.com |
HTTPS |
Passive |
us-east-2 |
health.us-east-2.amazonaws.com |
HTTPS |
Global |
us-east-1 注意这是当前主动端点的签名区域。 |
global.health.amazonaws.com |
HTTPS |
要确定端点是否为主动端点,请在全局端点 CNAME 上进行 DNS 查找,然后从解析的名称中提取 AWS 区域。
例 :在全局端点上查找 DNS
以下命令在 global.health.amazonaws.com 端点上完成 DNS 查找。然后,该命令返回 us-east-1 区域端点。此输出告诉您应该使用哪个 AWS Health 端点。
dig global.health.amazonaws.com | grep CNAME
global.health.amazonaws.com. 10 IN CNAME health.us-east-1.amazonaws.com
提示
主动端点和被动端点都返回 AWS Health 数据。但是,最新 AWS Health 数据只能从主动端点获得。来自被动端点的数据最终将与主动端点保持一致。我们建议您在主动端点发生变化时重新启动所有工作流程。