iks*_*nae 6 amazon-ec2 amazon-web-services amazon-cloudwatch amazon-lightsail
我最近开始测试LightSail,但我想将我的日志记录集中在CloudWatch中,但似乎找不到任何可以实现此功能的内容.有趣的是,LightSail实例没有出现在EC2仪表板中.我以为它们只是表面下的EC2实例.
Mic*_*bot 12
我以为它们只是表面下的EC2实例.
对,但是.
从概念上讲,您是Lightsail的客户,而Lightsail是EC2的客户.
就好像你和AWS之间有一个中间人.Lightsail资源在 EC2中,但它们不在您的 EC2中.它们似乎归您的 AWS账户以外的 AWS账户所有,因此您无法直接看到它们.
相似之处:
RDS是EC2/EBS的"客户".RDS实例是具有EBS卷的EC2机器.他们在控制台的哪个位置?他们不在那里.基础资源不属于您的帐户.
在EC2中,EBS快照存储在S3中.哪个桶?不是你能看到的.EBS是S3的"客户".它有自己的水桶.
S3对象可以迁移到Glacier存储类.哪个冰川保险库?再一次,不是你能看到的.S3是Glacier的"客户".它有自己的保险库.
CloudFront会自动为每个API网关端点提供前端.哪个发行?您明白了...... API Gateway是CloudFront的"客户".
我并不是以任何方式暗示Lightsail实际上是一个与AWS无关的独立实体......我不知道它实际上是如何组织的......但从操作上来说,这就是它的工作原理.你看不到这些资源.
有可能让它工作。问题在于 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
Run Code Online (Sandbox Code Playgroud)
这是由于 CloudWatch 代理中的一个错误,-m onPremise
如果检测到它在 EC2 实例上运行,它会忽略使用本地模式 ( )的参数。诀窍是编辑common-config.toml
文件以强制使用本地 AWS CLI 配置文件进行身份验证。您需要将以下行添加到该文件(可以/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml
在 Debian上找到- 安装位置取决于操作系统):
[credentials]
shared_credential_profile = "AmazonCloudWatchAgent"
Run Code Online (Sandbox Code Playgroud)
重新启动代理,它应该开始报告指标。我在这里整理了一个完整的教程
归档时间: |
|
查看次数: |
3171 次 |
最近记录: |