我可以将AWS LightSail与AWS CloudWatch一起使用吗?

时间:2017-01-14 00:52:39

标签: amazon-web-services amazon-ec2 amazon-cloudwatch amazon-lightsail

我最近开始测试LightSail,但我想将我的日志记录集中在CloudWatch,但似乎无法找到任何可以实现此目的的内容。有趣的是,LightSail实例没有出现在EC2仪表板中。我认为它们只是表面下的EC2实例。

3 个答案:

答案 0 :(得分:11)

  

我认为它们只是表面下的EC2实例。

是的......但是。

从概念上讲,您是Lightsail的客户,而Lightsail是EC2的客户。

就好像你和AWS之间有一个中间人。 Lightsail资源是 in EC2,但它们不是 EC2中的。它们似乎归您的 AWS账户以外的AWS账户所有,因此您无法直接看到它们。

Parallels for this:

RDS是EC2 / EBS的“客户”。 RDS实例是具有EBS卷的EC2机器。他们在控制台的哪个位置?他们不在那里。基础资源不属于您的帐户。

在EC2中,EBS快照存储在S3中。哪个桶?不是你能看到的。 EBS是S3的“客户”。它有自己的桶。

可以将S3对象迁移到Glacier存储类。哪个冰川保险库?再一次,不是你能看到的。 S3是Glacier的“客户”。它有自己的保险库。

CloudFront会自动为每个API网关端点提供前端。哪个发行?您明白了...... API Gateway是CloudFront的“客户”。

我并不是以任何方式暗示Lightsail实际上是一个与AWS无关的独立实体......我不知道它是如何组织的......但是操作,即这个怎么运作。你看不到这些资源。

答案 1 :(得分:0)

在Lightsail上运行CloudWatch Agent时起作用。当代理尝试与CloudWatch通信时,它会从STS服务接收到403。在配置向导中选择EC2OnPremise选项会产生相同的结果。

2018-10-20T16:04:37Z E! WriteToCloudWatch failure, err:  AccessDenied: User: arn:aws:sts::891535117650:assumed-role/AmazonLightsailInstanceRole/i-0788a602f758b836f is not authorized to perform: cloudwatch:PutMetricData status code: 403, request id: b443ecc6-d481-11e8-a551-6d030b8667be

请确保在我的Ubuntu 18.04桌面上安装了CloudWatch Agent,然后启动该代理而没有错误。

此外,如果它能奏效,为什么人们要以更高的价格购买EC2? CloudWatch是一项free增值服务,用于使用全部服务。

答案 2 :(得分:0)

有可能使其正常工作。问题在于,Lightsail实例是内部的EC2实例,但是无法访问所有EC2配置。 CloudWatch代理文档说明了如何为要承担的EC2实例设置IAM角色,但是Lightsail框仅使用单个角色,该角色无法更改且不能进行编辑。因此,您需要按照说明将其设置为本地服务器。

您将要遇到的问题是David J Eddy在回答中看到的:

2018-10-20T16:04:37Z E! WriteToCloudWatch failure, err:  AccessDenied: User: arn:aws:sts::891535117650:assumed-role/AmazonLightsailInstanceRole/i-0788a602f758b836f is not authorized to perform: cloudwatch:PutMetricData status code: 403, request id: b443ecc6-d481-11e8-a551-6d030b8667be

这是由于CloudWatch代理中的一个错误,如果该错误检测到它正在EC2实例上运行,则会忽略使用本地模式(-m onPremise)的参数。诀窍是编辑common-config.toml文件,以强制使用本地AWS CLI配置文件进行身份验证。您将需要在该文件中添加以下行(可以在Debian上的/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml上找到-安装位置取决于操作系统)

[credentials]
shared_credential_profile = "AmazonCloudWatchAgent"

重新启动代理,它应该开始报告指标。我整理了完整的教程here