美文网首页
如何登入AWS Fargate

如何登入AWS Fargate

作者: ZeroWang | 来源:发表于2024-03-20 15:53 被阅读0次

由于Fargate是aws ecs的托管容器,我们无法直接通过ssh 或者RDP登入排查问题.

但是aws也给我们提供了方法,通过aws ssm服务我们可以登入到Fargate的容器里面.

参考文献:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html

此教程只展示关键步骤,需要读者事先对AWS ECS有所了解. 请自行安装最新版本的 aws cli

第一步:为任务IAM角色添加SSM权限

您应该将以下策略添加到现有 ECS 任务 IAM 角色。这将授予 ECS 任务与 SSM 会话管理器服务连接的权限。

 {
   "Version": "2012-10-17",
   "Statement": [
       {
       "Effect": "Allow",
       "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
       ],
      "Resource": "*"
      }
   ]
}

第二步:修改任务定义

注意 只有windows的容器才需要添加如下片段,linux可以跳过这一步. (参考文献中有关于initProcessEnabled 的修改 请自行决定)

"containerDefinitions": [
    {
      "entryPoint": [
        "powershell",
        "-Command"
      ],
      "command": [
        "ping -t localhost"
      ]
      ......
      ......

第三步:为您的service或者task启用 ECS Exec (1和2根据需求选择一种即可)

--enable-execute-command您可以通过在使用以下 AWS CLI 命令之一时指定标志来为您的服务和独立任务打开 ECS Exec 功能: create-service、update-service、start-task或run-task。

  1. 如果运行以下命令,将为新创建的service开启 ECS Exec 功能。有关创建服务的更多信息,请参阅create-service。
aws ecs create-service \
    --cluster cluster-name \
    --task-definition task-definition-name \
    --enable-execute-command \
    --service-name service-name \
    --desired-count 1
  1. 如果运行以下命令,直接创建一个开启了ECS Exec功能的task(测试首选)
aws ecs run-task \ 
--cluster <CLUSTER_NAME> \
--task-definition <TASK_DEFINATION> \
--network-configuration awsvpcConfiguration="{subnets=[<PUBLIC_SUBNET_ID>],securityGroups=[<SECURITY_GROUP_ID>],assignPublicIp=ENABLED}" \
--enable-execute-command \
--launch-type FARGATE \
--region <AWS_REGION>

第四步:验证

为任务打开 ECS Exec 后,您可以运行以下命令来确认该任务已准备好使用。如果lastStatus的属性ExecuteCommandAgent列为RUNNING且该enableExecuteCommand属性设置为true,则您的任务已准备就绪。

aws ecs describe-tasks \
    --cluster cluster-name \
    --tasks task-id

第五步: 安装 AWS CLI 的会话管理器插件 以及登入ECS Fargate

1.安装 AWS CLI 的会话管理器插件:

会话管理器插件是 AWS CLI 的附加组件,允许您连接到 EC2 实例或 AWS Fargate。

要在 Windows 上安装会话管理器插件,请下载并安装此可执行文件:

https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe

要在 macOS 和 Linux 上安装会话管理器插件,请使用 homebrew:

brew install --cask session-manager-plugin

2.登入:

linux:

aws ecs execute-command --cluster cluster-name --task task-id --container container-name --interactive --command "/bin/sh"

windows:

aws ecs execute-command --cluster cluster-name --task task-id --container container-name --interactive --command "powershell"

相关文章

  • AWS Fargate

    背景 随着容器化的流行和普遍,我们对APP的部署和构建方式都发生了很大的改变。为了适应这一潮流,很多云服务供应商(...

  • aws fargate 随笔

    最近一个月其实一直在使用阿里云的ask, 也就是全托管的K8s容器服务.依托于良好的网页图形化控制组件, 几乎可以...

  • aws EKS fargate 集群入坑指南

    0x00 TLNR; 0x01 基本概念: 下图是EKS要求的最低配置的网络集群拓扑图: 公网网关(Interne...

  • AWS Fargate速览

    AWS Fargate 发布于2017年11月的re:Invent 大会,是一项让您无需管理服务器或集群即可运行容...

  • AWS ECS & EKS & Fargate

    Containers and Images A container is a standardized unit ...

  • aws EKS fargate 安装aws load balan

    0x00 目标 0x01 前置条件 0x02 安装过程 0x03 确认 0x04 关于多端口Ingress 除了一...

  • 破除对 AWS Fargate 的幻觉

    我在 $work 建立了一个基于 Kubernetes 的平台已经快一年了,而且有点像 Kubernetes 的布...

  • aws eks fargate 增加 top pod 支持

    默认情况下是不支持 kubetl top pod 指令,需要 安装 metrics-server 组件

  • aws eks fargate 使用 efs 部署 nacos

    0x01 目的 0x02 使用efs做为pv 参考: 这里[https://aws.amazon.com/cn/b...

  • 湖陂小学希沃培训二

    一、en5登入方式 账号登入 扫一扫登入 快联登入 二、如何获取课件 1.课件库导入 选择学科年级 预览课件,限免...

网友评论

      本文标题:如何登入AWS Fargate

      本文链接:https://www.haomeiwen.com/subject/dopxtjtx.html