使用会话管理器连接到 Amazon EC2 实例 - AWS Prescriptive Guidance

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

使用会话管理器连接到 Amazon EC2 实例

由 Jason Cornick (AWS)、Abhishek Bastikoppa () 和 Yaniv Ron () AWS 创作 AWS

摘要

此模式描述了如何使用会话管理器(Syst AWS ems Manager 的一项功能EC2)连接到亚马逊弹性计算云 (Amazon) 实例。使用这种模式,您可以通过 Web 浏览器在EC2实例上运行 bash 命令。会话管理器不需要您打开入站端口,也不需要公有 IP 地址作为EC2实例。此外,它还无需使用不同的 Secure Shell (SSH) 密钥维护堡垒主机。您可以使用 Ident AWS ity and Access Management (IAM) 策略来控制对会话管理器的访问权限,并配置日志记录,记录重要信息,例如实例访问和操作。

在此模式中,您可以配置IAM角色并将其与使用 Amazon 系统映像预配置的 Linux EC2 实例相关联 (AMI)。然后,您可以在 Amazon CloudWatch Logs 中配置日志记录,并使用会话管理器启动与该实例的会话。

尽管此模式连接到 Amazon Web Services (AWS) 云中的 Linux EC2 实例,但您可以使用此方法使用会话管理器与其他服务器(例如本地服务器或其他虚拟机)进行连接。

先决条件和限制

先决条件

架构

目标技术堆栈

  • 会话管理器

  • Amazon EC2

  • CloudWatch 日志

目标架构

会话管理器连接到EC2实例并将日志数据发送到 CloudWatch 日志或 S3 存储桶。
  1. 用户通过IAM验证其身份和凭证。

  2. 用户通过SSH会话管理器启动会话并向EC2实例发送API呼叫。

  3. 安装在EC2实例上的 S AWS ystems Manager SSM 代理连接到会话管理器并运行命令。

  4. 出于审计和监视目的,会话管理器将日志数据发送到 CloudWatch 日志。或者,您可以将日志数据发送到 Amazon Simple Storage Service (Amazon S3) 存储桶。有关更多信息,请参阅使用 Amazon S3 记录会话数据(Systems Manager 文档)。

工具

AWS 服务

  • Amazon CloudWatch Lo gs 可帮助您集中管理所有系统、应用程序和AWS服务的日志,以便您可以对其进行监控并安全地存档。

  • 亚马逊弹性计算云 (AmazonEC2) 在AWS云中提供可扩展的计算容量。您可以根据需要启动任意数量的虚拟服务器,并快速扩展或缩减它们。此模式使用 Amazon 系统映像 (AMI) 来配置 Linux EC2 实例。

  • AWSIdentity and Access Management (IAM) 通过控制谁经过身份验证并有权使用AWS资源,从而帮助您安全地管理对资源的访问权限。

  • AWSSystems Manager 可帮助您管理在AWS云中运行的应用程序和基础架构。它简化了应用程序和资源管理,缩短了检测和解决操作问题的时间,并帮助您大规模安全地管理您的 AWS 资源。此模式使用 Session Manager,这是 Systems Manager 的一项功能。

最佳实践

我们建议您阅读有关 Well-Architecte AWS d Framework 安全支柱的更多信息,探索加密选项,并应用设置会话管理器(Systems Manager 文档)中的安全建议。

操作说明

任务描述所需技能

创建 IAM角色。

为SSM代理创建IAM角色。按照为AWS服务创建角色(IAM文档)中的说明进行操作,并注意以下几点:

  1. 对于该AWS服务,请选择EC2

  2. 对于权限策略,选择 AmazonSSMManagedInstanceCore

  3. 角色名称 中,输入 EC2_SSM_Role

AWS系统管理员

创建实EC2例。

  1. 创建实EC2例。按照启动实例(Amazon EC2 文档)中的说明进行操作,并注意以下几点:

    1. 名称和标签部分中,选择添加其他标签。在 Key (键) 中输入 Name,在 Value (值) 中输入 Production_Server_One

    2. 选择预装了SSM代理AMI的 Amazon Linux。有关完整列表,请参阅已预安装SSM代理AMIs的情况(Systems Manager 文档)。

    3. 高级详细信息部分的IAM实例配置文件中,选择 EC2_ SSM _Rol e。

  2. 打开 Systems Manager 控制台,网址为https://console.aws.amazon.com/systems-manager/

  3. 在导航窗格中,选择 Fleet Manager

  4. 验证实例是否显示在托管式节点列表中。

AWS系统管理员

设置日志记录。

  1. 在 “日志” 中创建 CloudWatch 日志组。按照创建日志组(CloudWatch 日志文档)中的说明进行操作。命名新日志组 SessionManager

  2. 为 Session Manager 配置日志记录。按照使用 Amazon L CloudWatch ogs 记录会话数据(Systems Manager 文档)中的说明进行操作,并注意以下几点:

    1. 不要选择 “仅允许加密的 CloudWatch 日志组”。

    2. 从列表中选择日志组中,选择SessionManager

AWS系统管理员
任务描述所需技能

Connect 连接到EC2实例。

  1. 在 Systems Manager 控制台中启动会话。有关说明,请参阅启动会话(Systems Manager 文档)。对于目标实例,选择 Production_Server_One 实例左侧的选项按钮。

  2. 建立连接后,运行多个 bash 命令。

  3. 在 Systems Manager 控制台中,结束会话。有关说明,请参阅结束会话(Systems Manager 文档)。

AWS系统管理员

验证日志记录。

  1. 在 CloudWatch 日志中,打开日志组的日志流。有关说明,请参阅查看日志数据(CloudWatch 日志文档)。

  2. 在日志数据中,确认列出了在上一个情景中运行的命令。

AWS系统管理员

故障排除

事务解决方案

IAM 问题

如需支持,请参阅故障排除(IAM文档)。

相关资源