Amazon EC2 快速入门

本快速入门介绍如何从现有的 Amazon Elastic Compute Cloud (Amazon EC2) 实例收集系统指标,以及如何在 Cloud Monitoring 中查看这些指标。

在本快速入门中,您将执行以下所有操作:

  1. 在 Amazon EC2 实例上安装 Monitoring 和 Logging 代理。
  2. 配置 Amazon Web Services (AWS) 帐号,以允许向 Monitoring 发送代理收集的数据。
  3. 查看并显示这些数据。

在本页面上,术语已连接意味着 AWS 帐号已配置为将 Monitoring 和 Logging 代理收集的数据发送到 Cloud Monitoring。

准备工作

以下说明假设您有一个当前未被 Google Cloud 监控的 AWS 帐号。

步骤概述

按照以下步骤可将您的 AWS 帐号关联到 Monitoring:

  1. 创建 Google Cloud 项目,作为监控 AWS 帐号的指标范围的范围项目。

  2. 将您的 AWS 帐号关联到 Google Cloud。在此步骤中,您将使用 Cloud Monitoring 提供的帐号 ID 和外部 ID 来创建 Amazon IAM 角色,还将创建 AWS 连接器项目

  3. 在 AWS 连接器项目中创建服务帐号,以授权访问 Google Cloud。

后续部分详细介绍了上述各个步骤。

创建 Google Cloud 项目

如果您的组织将限制应用于您的 Google Cloud 环境,则本文档中的某些步骤可能无法正常工作。在这种情况下,您可能无法完成创建公共 IP 地址或服务帐号密钥等任务。如果您发出的请求会返回有关限制条件的错误,请参阅如何在受限的 Google Cloud 环境中开发应用

如需创建 Google Cloud 项目,请执行以下操作:

  1. 在 Cloud Console 中,转到新建项目

    创建新项目

  2. 项目名称字段中,输入 Quickstart

  3. 点击创建

关联 AWS 帐号

如需配置 AWS 帐号以允许 Google Cloud 读取其指标,请执行以下操作:

  1. 在 Google Cloud Console 项目选择器中,选择 Quickstart。这是一个 Google Cloud 项目,其指标范围将由您进行修改,以添加您的 AWS 帐号指标。
  2. 在 Cloud Console 的导航窗格中,选择 Monitoring

  3. 设置页面中,点击创建 AWS 连接器项目

    说明创建按钮的示意图。

  4. 创建连接器项目步骤中,点击选择项目,然后创建项目。

  5. 点击下一步以进入授权 AWS for Monitoring 步骤。

  6. 授权 AWS for Monitoring步骤中,您将创建一个 Amazon IAM 角色,以将 Google Cloud 只读访问权限授予 AWS 帐号,然后向 Google Cloud 项目提供该角色的 ARN:

    要创建 AWS IAM 角色,请执行以下操作:

    1. 打开新窗口并登录您的 AWS 帐号,选择 IAM 页面,然后点击角色
    2. 选择创建角色
    3. 选择其他 AWS 帐号
    4. 帐号 ID 文本框中,输入 Google Cloud Console 的授权 AWS for Monitoring 页面中显示的帐号 ID。
    5. 选择需要外部 ID
    6. 外部 ID 文本框中,输入在 Google Cloud Console 的授权 AWS for Monitoring 页面中显示的外部 ID。
    7. 取消选中需要 MFA,然后点击下一步:权限
    8. 在权限搜索栏中,输入 ReadOnlyAccess,然后选择 ReadOnlyAccess
    9. 展开设置权限边界,并确保选中创建没有权限边界的角色
    10. 点击下一步:标记
    11. 点击下一步:审核
    12. 输入角色名称和说明,然后点击创建角色
    13. 选择您创建的角色以打开其摘要页面。将角色 ARN 复制到剪贴板。
  7. 在 Google Cloud Console 中,将 AWS 角色 ARN 粘贴到角色 ARN 文本框中,然后点击添加 AWS 帐号

    稍过片刻,系统会确认已建立关联。

AWS 连接器项目

设置页面上,受监控帐号窗格包含 AWS 连接器项目的 ID:

您的 AWS 帐号说明 [YOUR_AWS_ACCOUNT_NUMBER]
关联到 [CONNECTOR_PROJECT_ID]

其中:

  • [YOUR_AWS_ACCOUNT_NUMBER] 代表您的 AWS 帐号的号码。
  • [CONNECTOR_PROJECT_ID] 代表连接器项目,您通过它来接收来自 AWS 帐号的日志和指标,并为需要访问 Google Cloud 的代理和其他 AWS 应用设置授权。

下一步对 AWS 应用进行授权

问题排查

如果错误消息表明您的 AWS 帐号已受监控,请检查以下内容:

  • 如果您已将自己的 AWS 帐号关联到 Google Cloud,则已存在 AWS 连接器项目。您无法为同一帐号创建多个 AWS 连接器项目。

    如需了解如何将现有 AWS 连接器项目添加到 Google Cloud 项目,请参阅将 AWS 连接器项目添加到指标范围

  • 验证您在创建 AWS 角色时输入当前工作区的帐号 ID外部 ID。每个指标范围的外部 ID 都是唯一的。

对 AWS 应用进行授权

如果您要执行以下任一操作,则必须向 AWS 应用授权:

  • 在 Amazon EC2 实例上运行 Monitoring 或 Logging 代理。
  • 从 AWS 应用使用任何 Google Cloud 服务。

要授权在 AWS 上运行的应用访问 Google Cloud 服务,请授予它们访问具有适当 Google Cloud IAM 角色的 Google Cloud 服务帐号的权限。

您可以使用单个服务帐号对同一 AWS 帐号中的多个 Amazon EC2 实例和应用进行授权,或者您也可以创建多个服务帐号。

创建服务帐号

要创建服务帐号,请执行以下操作:

  1. 转到连接器项目的 IAM 和管理 > 服务帐号页面:

    转到“服务帐号”

  2. 选择您的 AWS 帐号的 AWS 连接器项目。

  3. 您的连接器项目可能没有服务帐号,因此您需要创建一个服务帐号。点击 Create service account 并输入以下信息:

    • 服务帐号名称字段中输入 Monitoring agent authorization,然后点击创建

      创建服务帐号。

    • 服务帐号权限对话框中,选择以下角色,然后点击继续

      • Monitoring > Monitoring Metric Writer
      • Logging > Logs Writer

      创建服务帐号。

  4. 点击完成

  5. 修改新服务帐号以包含服务密钥:

    1. 点击 更多选项并选择管理密钥
    2. 选择添加密钥,并确保密钥类型设置为 JSON

    服务帐号的私钥文件将下载到您的工作站,名称为 Downloads/[PROJECT_NAME]-[KEY_ID].json

    其中:

    • [PROJECT_NAME] 代表您的 Google Cloud 项目的名称。
    • [KEY_ID] 代表生成的私钥。

    为简化以下说明,请在工作站上将凭据文件的位置保存到变量 CREDS 中:

    CREDS="Downloads/[PROJECT_NAME]-[KEY_ID].json"
    

将服务帐号添加到虚拟机实例

要添加服务帐号,请执行以下操作:

  1. 在工作站中,将私钥凭据文件复制到您的 Amazon EC2 实例,然后保存在一个名为 temp.json 的文件中。在 scp 命令中,指明 key.pem 和您的 AWS SSH 密钥对文件的路径,并提供您的 AWS 凭据。

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. 在您的 Amazon EC2 实例上,将凭据移动到 /etc/google/auth/application_default_credentials.json

    GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
    sudo mkdir -p $(dirname "$GOOGLE_APPLICATION_CREDENTIALS")
    sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
    
  3. (可选):限制对服务帐号的私钥凭据的访问权限。 例如:

    sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
    sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
    
  4. 确保环境变量 GOOGLE_APPLICATION_CREDENTIALS 对有权使用 Google Cloud 的代理和其他应用可见。标准 Google Cloud 客户端库理解该环境变量名称。

安装代理

  1. (可选):在您的 Amazon EC2 实例上安装 Cloud Monitoring 代理。虽然 Cloud Monitoring 可以在没有 Monitoring 代理的情况下访问某些实例指标(包括 CPU 利用率和正常运行时间信息),但 Monitoring 代理可提供更多系统资源和应用服务的指标。

    如需安装 Cloud Monitoring 代理,请参阅安装 Cloud Monitoring 代理,并根据您的操作系统选择说明。这些说明包括有关如何验证代理是否正在运行的信息以及问题排查指南的链接。

  2. (可选):在您的 Amazon EC2 实例上安装 Cloud Logging 代理,该代理将日志流式传输到 Cloud Logging。请参阅安装 Cloud Logging 代理并根据您的操作系统选择说明。这些说明包括有关如何验证代理是否正在运行的信息以及问题排查指南的链接。

将 Monitoring 服务与 AWS 搭配使用

本部分介绍如何通过 AWS 帐号使用 Monitoring 服务。

创建正常运行时间检查和提醒政策

要创建正常运行时间检查,请执行以下操作:

  1. 在 Cloud Console 中,选择 Monitoring

    转到 Monitoring

  2. 在导航窗格中,点击正常运行时间检查

  3. 点击创建正常运行时间检查

    创建正常运行时间检查对话框。

  4. 输入 My Uptime Check 作为标题,然后点击 下一步

  5. 目标:

    1. 确保为该协议选择 HTTP
    2. 选择任何可用资源作为资源类型
    3. 根据需要填写其他字段。
    4. 点击下一步
  6. 响应验证:将这些字段保留为默认值,然后点击下一步

  7. 提醒和通知

    • 确保切换开关的标签为已启用提醒 (Alerting is enabled)。
    • 保留名称和时长字段的默认值。
    • 要向提醒政策添加通知渠道,请在通知渠道文本框中点击 菜单。选择要添加的渠道,然后点击确定。系统会针对每种渠道类型按字母顺序排列通知。

      要向复选框列表添加条目,请点击管理通知渠道,然后按照说明操作。返回此对话框后,点击刷新

  8. 要验证您的正常运行时间检查配置,请点击测试。 如果您看到“连接错误 - 已拒绝”(Connection error - refused) 消息,则表明您可能尚未安装 Apache HTTP Server,或者您可能指定了 HTTPS(而非 HTTP)检查类型。如果看到其他错误,请参阅验证正常运行时间检查

  9. 点击创建。创建操作成功后,会显示检查和提醒已创建消息,然后显示正常运行时间检查信息中心页面。

    正常运行时间检查信息中心内会列出新的正常运行时间检查。点击检查名称可打开该正常运行时间检查的详细信息视图。此视图会显示多个图表,显示正常运行时间百分比和配置信息,并列出已配置的提醒政策。如需查看某个政策,请点击其名称。

    您还可以从提醒页面查看提醒政策。在提醒页面中,政策窗格会列出一部分政策。如需查看所有政策的列表,请点击查看所有政策

创建信息中心和图表

要显示由 Monitoring 收集的指标,请创建图表和信息中心:

要使用预览版编辑器创建信息中心,请按以下步骤操作:

  1. 在 Google Cloud Console 中,转到 Monitoring 页面。

    转到 Monitoring

  2. 信息中心概览页面上,点击创建信息中心

  3. (可选)使用信息中心的描述性名称更新信息中心标题。

  4. 向信息中心添加一个折线图微件,方法是将该条目从微件库拖动到图表区域。

  5. 在标题为 What data do you want to view? 的部分中,执行以下操作:

    1. 点击清除资源和指标
    2. 对于 Resource type,请输入 Amazon 并选择 Amazon 资源类型。
    3. 对于指标,从菜单中选择一个条目。

    您可以使用指针来调整图表的大小或位置。

  6. 要向信息中心添加第二个折线图微件,请点击信息中心工具栏以启用微件库,选择一个图表类型,然后将该条目从微件库拖动到图表区域。

查看日志

Monitoring 和 Logging 是紧密集成在一起的。

  1. 在 Cloud Console 中,转到日志记录,然后选择 AWS 连接器项目。
  2. AWS 连接器项目的日志浏览器包含您的 AWS 日志。更改日志浏览器关注范围以查看您要看的日志:

    • 转到 Google 项目 > All project_id,您应该看到至少一条因设置您的 AWS 连接器项目而生成的审核日志

      AWS 日志查看器。

    • 如果您在受支持的 Amazone EC2 实例上安装了 Cloud Monitoring 代理,则可能会看到其他日志选项。

清理

为避免系统因本页中使用的资源向您的 Google Cloud 帐号收取费用,请按照以下步骤操作。

  1. 移除 Monitoring 图表和提醒。 转至 Monitoring:

    1. 提醒中删除提醒政策。
    2. 提醒中删除正常运行时间检查。
    3. 信息中心中删除图表。
  2. 点击设置,然后选择摘要标签页。

  3. 在标题为 AWS 帐号的部分中,找到您用于本快速入门的 AWS 帐号,点击更多 ,然后选择从工作区中移除

  4. 在您的 Amazon 帐号中,删除您为快速入门创建的 AWS IAM 角色。

  5. 在 Google Cloud Console 中,删除您的 AWS 连接器项目,如果您为此快速入门创建了 Google Cloud 项目 Quickstart,也请一并删除。要删除项目,请选择该项目,转到 IAM 和管理并选择设置,然后点击关停

后续步骤

  • 如需 Amazon EC2 指标的列表,请参阅 EC2 指标

  • 如果您想创建自己的 Monitoring 指标,请参阅自定义指标

  • 如需使用 Monitoring API,请参阅 API 参考文档

  • 如需详细了解 Cloud Logging 以及其与 Cloud Monitoring 的关系,请参阅 Logging

  • 阅读我们关于 DevOps 的资源,并了解我们的研究项目