AWS EC2的SSM配置(AWS云中的跳板机)

这篇具有很好参考价值的文章主要介绍了AWS EC2的SSM配置(AWS云中的跳板机)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

开发人员需要访问AWS云中私有子网的数据库服务等,都需要通过EC2进行SSH隧道代理。这里假设本地已经有一款稳定优秀的SSH客户端工具,并且假设已经会熟练使用SSH的隧道代理。

1.创建EC2

搜索找到EC2服务,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“启动实例”,开始EC2实例创建,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

1.1选择镜像

填入名称后,选择默认的免费套餐镜像,如下图:

AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

1.2创建密钥对

点击“创建新密钥对”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
输入密钥对名称,为dev,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

1.3创建安全组

设置ssh端口的安全组,方便ssh访问ec2,如下图:

AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
这里设置IP白名单,指定这个IP白名单能够访问这个EC2,接下来,点击“启动实例”即可。下面就是,dev的EC2创建的实例,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

2.配置队列管理器

左上角,搜索SSM,找到System Manager,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
选择队列管理器,如下图:

AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
选择“配置默认主机管理”,如下图:

AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
启用EC2主机托管到SM管理,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
这个创建的权限策略,可以在各个环境共用。点击“配置”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
等待一段时间,可能时间比较长,就会出现之前创建的EC2实例,如下图:

AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
注意,这里使用了一个AWSSystemsManagerDefaultEC2InstanceManagementRole角色,还需要在这个角色基础上面添加AmazonEC2RoleforSSM权限策略,如下图操作:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
最终所有权限策略,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

3.配置SSM

3.1创建KMS密钥

搜索KMS,找到该服务,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“创建密钥”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
这里我选择对称加密,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
设置别名,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
设置密钥管理员,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
设置使用人员,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
审计一下kms,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“完成”,进行密钥创建,成功后如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
接下来需要调整KMS密钥使用权限策略,添加只能是指定日志组使用,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“切换到策略视图”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“编辑”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
添加只能是指定的日志组才能使用这个KMS密钥,完整的密钥策略JSON,如下图:

{
    "Id": "key-consolepolicy-3",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::账号ID:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::账号ID:user/zhangyalin"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "logs.amazonaws.com"
            },
            "Action": [
                "kms:Encrypt*",
                "kms:Decrypt*",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:Describe*"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-east-1:账号ID:log-group:/aws/ssm/session"
                }
            }
        }    
    ]
}

3.2创建SSM日志组

搜索cloudwatch,找到该服务,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“创建日志组”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
输入日志组名称,然后点击创建即可,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
注意,这里需要使用到上一步创建到KMS密钥,进行日志组创建。

为ssm创建好的日志组,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

3.2配置SSM

回到Systems Manager主页,找到会话管理器,点击“配置首选项”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
这里设置会话管理器的日志通过CloudWatch,写入到/aws/ssm/session日志组中,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

4.配置本地AWS设置

在~/.aws/config文件添加,如下:

[profile my]
region = us-east-1
output = json

5.配置本地AWS访问Key

这里假设,本地已经成功安装了AWS CLI后,需要在IAM中创建自己的访问key,如下图:

AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击下一步,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击“创建访问密钥”,如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
点击下载.csv文件,保存自己的访问密钥配置文件,完成访问密钥创建。如下图:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
打开~/.aws/credentials文件,将上述得到的访问密钥以如下方式加入,具体如下:
[my]
aws_access_key_id = xxxx
aws_secret_access_key = xxxxx

6. 测试连接EC2

如下命令:

export AWS_PROFILE=my
aws ssm start-session --target i-xxxx

如下图,表示使用AWS CLI登录EC2成功:
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm
接下来配置,SSH配置文件,打开~/.ssh/config文件,添加如下内容:

# SSH over Session Manager
host i-* mi-*
	ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

配置完~/.ssh/config文件后,找到之前创建的dev.pem私钥文件,直接使用ssh进行ec2登录,具体命令如下:

chmod 400 "dev.pem"
ssh -i "dev.pem" ec2-user@i-xxxx

如下图表示使用SSH客户端工具登录EC2成功。
AWS EC2的SSM配置(AWS云中的跳板机),aws,服务器,云计算,ec2,ssm

总结

到这里,就是dev环境SSM跳板机配置全过程,接下来,按照上述方式,依次搭建完test,uat,prod环境。第一次弄这个还是有点小复杂的,中途,还咨询了一次aws支持中心,最后,他们通过CloudTrail帮我找到了原因,并协助我解决了SSM不能写日志问题。文章来源地址https://www.toymoban.com/news/detail-786273.html

参考

  • 使用 AWS Key Management Service 对 CloudWatch Logs 中的日志数据进行加密
  • 满足 Session Manager 先决条件
  • AWS SSM中切换AWS不同的profile

到了这里,关于AWS EC2的SSM配置(AWS云中的跳板机)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AWS】使用亚马逊云服务器创建EC2实例

    如今互联网发展十分迅速,有很多企业为满足自身业务的需求,对搭建一台稳定、高效的云服务器的要求越来越高。虽说国内云服务器层出不穷,比如阿里云、腾讯云、华为云等比较主流的云服务,然而有很多企业也有许多国外的的业务需求,所以对搭建海外服务器的需求也

    2024年01月16日
    浏览(60)
  • 【免费外国云服务器】亚马逊AWS创建EC2实例搭建个人服务器

    作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。 荣誉: 阿里云博客专家认证 、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。 跨领域学习 ,喜欢摄影、弹吉他、咏春拳。 文章深入浅出、语

    2024年02月04日
    浏览(59)
  • AWS EC2 服务启动显示磁盘挂载异常

    首先启动异常,在AWS网站中,肯定能定位到错误日志,找到实例,然后点击操作,找到监控和故障排除,然后找到日志,我这里日志问题如下: [0m] A start job is running for dev-xvdf.device (1min 29s / 1min 30s) [0m] A start job is running for dev-xvdf.device (1min 30s / 1min 30s) [0m] Timed out waiting for dev

    2024年02月13日
    浏览(49)
  • 使用AWS EC2进行AI训练进行显卡驱动配置

    首先创建EC2实例选择P类型或者G类型 以下是EC2实例对应的N卡产品类型和系列,可以通过这个在官网上找到对应的驱动进行手动驱动安装 官方链接:官方驱动 | NVIDIA 创建完成登录远程ssh连接至服务器 连接以后安装gcc和make sudo  apt-get install gcc make -y  更新软件包缓存并获取实例

    2024年04月13日
    浏览(37)
  • 【AWS入门】AWS Auto Scaling根据EC2负载的情况伸缩EC2实例

    Auto Scalling:根据EC2负载的情况伸缩EC2实例,配置方式有两种,一种时启动模板(推荐),一种时启动配置(即将下线,不推荐),接下来我们就来尝试以下用启动模板的方式来配置Auto Scaling。 EC2 启动模板 创建启动模板 设置资源标签:以后扩展的所有EC2实例,名字都会叫d

    2024年02月11日
    浏览(46)
  • 【aws】| 04 | AWS EC2 实例磁盘空间扩容

    进入控制台,选择 EBS - Volumes -Action - Modify Volume 首先使用lsblk可以查看附加到实例上的所有存储卷的真实size以及分区情况 注: 挂载在根目录上的是EBS存储卷上的分区而不是这个卷,而且卷被扩容但是分区大小不变依旧不能扩容。 xvda是一个存储卷,xvda1是存储卷上的一个分区

    2024年02月11日
    浏览(72)
  • AWS EC2实例管理

    针对近期学习的AWS EC2实例进行知识归纳与总结,欢迎家人们指正错误!ψ(`∇´)ψ AWS:亚马逊网络服务平台(亚马逊云服务平台)(Amazon Web Service) 英文全称:Amazon Elastic Compute Cloud 中文全称:亚马逊弹性计算云,又名“实例(instance)” 通俗理解:实例是 AWS 云中的 虚拟服

    2024年02月04日
    浏览(53)
  • AWS CDK安装到AWS EC2 Linux 2

    AWS CDK安装到AWS EC2 Linux 2,并记录过程。 以上报·epel·提供的·libuv·版本过低,关闭·epel·的·YUM·源, 以上报没找到GLIBC库,卸载版本20.10.0,安装版本16.0.0: 碰到了没有找到Python3的问题, 由于我使用的是Python3.8,需要创建一个软链接: aws-cdk-lib 2.116.0 AWS: Getting started with th

    2024年02月03日
    浏览(77)
  • AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用)

    什么是AWS? 好,我就截这么多,更多的自己搜搜看…… 官网地址如下: https://aws.amazon.com/cn/. 注册时,如果有谷歌邮箱,最好使用谷歌邮箱,如下: 按照提示注册成功之后,登录即可使用 随便点点,貌似看到了点东西 继续…… 3.1.1 入口 如下: 3.1.2 设置名称 + 选择服务 如

    2024年02月14日
    浏览(60)
  • 【AWS】如何用SSH连接aws上的EC2实例(虚拟机)?

    目录 0.环境 1.连接结果示例 2.SSH连接思路 3.具体步骤 1)安装并运行ssh服务 2)启动ssh服务 3)在AWS上找到正在运行的EC2实例,并且根据提供的ssh连接语句进行连接 windows 11 64位 前提: 有aws账户(IAM),已经存在一个EC2实例(虚拟机) 首先,需要有AWS账户以及正在运行的EC2实

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包