

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 CloudWatch 日志与接口 VPC 终端节点配合使用
<a name="cloudwatch-logs-and-interface-VPC"></a>

如果您使用亚马逊虚拟私有云（Amazon VPC）托管 AWS 资源，则可以在您的 VPC 和 CloudWatch 日志之间建立私有连接。您可以使用此连接将日志发送到日 CloudWatch 志，而无需通过 Internet 发送日志。 CloudWatch 日志支持所有区域 IPv4 的 VPC 终端节点，并支持所有区域的 IPv6 终端节点。

Amazon VPC 是一项 AWS 服务，可用于在您定义的虚拟网络中启动 AWS 资源。借助 VPC，您可以控制您的网络设置，如 IP 地址范围、子网、路由表和网络网关。要将您的 VPC 连接到 CloudWatch 日志，您需要为 CloudWatch 日志定义*接口 VPC 终端节点*。这种类型的端点使您能够将 VPC 连接到 AWS 服务。该端点无需互联网网关、网络地址转换 (NAT) 实例或 VPN 连接即可提供与 Lo CloudWatch gs 的可靠、可扩展的连接。有关更多信息，请参阅 *Amazon VPC 用户指南*中的[什么是 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/)。

 Interface VPC 终端节点由 AWS PrivateLink一种 AWS 技术提供支持，该技术使用带有私有 IP 地址的弹性网络接口实现 AWS 服务之间的私密通信。有关更多信息，请参阅[新增- AWS PrivateLink 适用于 AWS 服务](https://aws.amazon.com/blogs/aws/new-aws-privatelink-endpoints-kinesis-ec2-systems-manager-and-elb-apis-in-your-vpc/)。

以下步骤适用于 Amazon VPC 的用户。有关更多信息，请参阅 *Amazon VPC 用户指南*中的[入门](https://docs.aws.amazon.com/vpc/latest/userguide/GetStarted.html)。

## 可用性
<a name="cloudwatch-logs-interface-VPC-availability"></a>

CloudWatch 日志目前支持所有 AWS 区域（包括区域）的 VPC 终端节点。 AWS GovCloud (US) 

## 为 CloudWatch 日志创建 VPC 终端节点
<a name="create-VPC-endpoint-for-CloudWatchLogs"></a>

要开始在您的 VPC 中使用 CloudWatch 日志，请为 CloudWatch 日志创建一个接口 VPC 终端节点。可供选择的服务是 **com.amazonaws。 *Region*.logs。**要连接 FIPS 终端节点，需要选择的服务是`com.amazonaws.Region.logs-fips`。您无需更改 “ CloudWatch 日志” 的任何设置。有关更多信息，请参阅 *Amazon VPC 用户指南*中的[创建接口终端节点](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint.html)。

某些 CloudWatch 日志 APIs（例如 StartLiveTail 和 GetLogObject）托管在不同的终端节点和 VPC 终端节点下：`stream-logs.Region.amazonaws.com`。要为它们创建接口 VPC 终端节点 APIs，可以选择的服务是 **com.amazonaws。 *Region*.stream**-logs。要连接 FIPS 终端节点，需要选择的服务是`com.amazonaws.Region.stream-logs-fips`。



## 测试您的 VPC 和 CloudWatch 日志之间的连接
<a name="test-VPC-endpoint-for-CloudWatchLogs"></a>

创建端点后，您可以测试连接。

**测试您的 VPC 和您的 CloudWatch 日志终端节点之间的连接**

1. 连接到位于您的 VPC 中的 Amazon EC2 实例。有关连接的信息，请参阅 Amazon EC2 文档中的[连接到您的 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpce-interface.html#create-interface-endpoint.html)或[连接到您的 Windows 实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html)。

1. 在实例中，使用 AWS CLI 在您的一个现有日志组中创建日志条目。

   首先，创建一个包含日志事件的 JSON 文件。必须将时间戳指定为自 1970 年 1 月 1 日 00:00:00 UTC 之后的毫秒数。

   ```
   [
     {
       "timestamp": 1533854071310,
       "message": "VPC Connection Test"
     }
   ]
   ```

   然后使用 `put-log-events` 命令创建日志条目：

   ```
   aws logs put-log-events --log-group-name LogGroupName --log-stream-name LogStreamName --log-events file://JSONFileName
   ```

   如果对该命令的响应包含 `nextSequenceToken`，则该命令已成功执行，并且您的 VPC 终端节点正常运行。

## 控制对您的 CloudWatch 日志 VPC 终端节点的访问权限
<a name="CloudWatchLogs-VPC-endpoint-policy"></a>

VPC 终端节点策略是一种 IAM 资源策略，您在创建或修改端点时可将它附加到端点。如果在创建端点时未附加策略，我们将为您附加默认策略以允许对服务进行完全访问。端点策略不会覆盖或替换 IAM 策略或服务特定的策略。这是一个单独的策略，用于控制从端点中对指定服务进行的访问。

端点策略必须采用 JSON 格式编写。

有关更多信息，请参阅**《Amazon VPC 用户指南》中的[使用 VPC 端点控制对服务的访问权限](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

以下是 Logs 的终端节点策略示 CloudWatch 例。此策略允许通过 VPC 连接到 CloudWatch 日志的用户创建日志流并将日志发送到 CloudWatch 日志，并阻止他们执行其他 CloudWatch 日志操作。

```
{
  "Statement": [
    {
      "Sid": "PutOnly",
      "Principal": "*",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

**修改 CloudWatch 日志的 VPC 终端节点策略**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择**端点**。

1. 如果您尚未为 CloudWatch 日志创建终端节点，请选择**创建终端节点**。然后选择 **com.amazonaws。 *Region*.logs**，然后选择**创建终端节点**。

1. 选择 **com.amazonaws。 *Region*.logs** 端点，然后选择屏幕下半部分的 “**策略**” 选项卡。

1. 选择**编辑策略**并对策略进行更改。

## 对 VPC 上下文键的支持
<a name="Support-VPC-Context-Keys"></a>

CloudWatch 日志支持`aws:SourceVpc`和`aws:SourceVpce`上下文密钥，这些密钥可以限制对特定 VPCs 或特定 VPC 终端节点的访问。这些键仅当用户使用 VPC 终端节点时才起作用。有关更多信息，请参阅 *IAM 用户指南*中的[可用于部分服务的键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-service-available)。