ecs-cli 使用负载均衡器组成服务

2023-12-11

我正在尝试使用 ecs-cli compose 来管理 Amazon ECS 上的服务和任务。

我无法找到使用的方法service up命令使用应用程序负载均衡器创建新服务(即使该负载均衡器已存在)。

这似乎可以与service create,但 API 与service upAPI,我不确定如何以相同的方式指定参数create。通常最好只使用up命令的一致性。文档非常分散,有很多不同的方法可以做同样的事情,只是想知道这里的最佳实践是什么。任何建议都非常感激。

值得注意的是,只要我有现有的任务定义,并且在指定负载均衡器的同时通过 Amazon AWS GUI 创建服务,一切都对我有用。所以我正在考虑将我所有的 compose 配置移动到 task-definition.json 中并直接使用它aws ecs cli.

我有一个工作docker-compose.yml file:

# docker-compose.yml

version: "3"

services:
  application:
    image: ${IMAGE_ARN}
    command: npm start
    ports:
      - "8000:8000"
  nginx:
    image: ${IMAGE_ARN}
    ports:
      - "80:80"

以及伴随的ecs-params.yml file:

# ecs-params.yml

version: 1

task_definition:
  task_role_arn: ${ROLE_ARN}
  task_execution_role: ${ROLE_ARN}
  ecs_network_mode: awsvpc
  task_size:
    mem_limit: 0.5GB
    cpu_limit: 256
  container_definitions:
    - name: application
    - name: nginx

run_params:
  network_configuration:
    awsvpc_configuration:
      assign_public_ip: ENABLED
      subnets:
        - ${SUBNET_1_ID}
        - ${SUBNET_2_ID}
      security_groups:
        - ${SECURITY_GROUP_ID}

我运行的启动服务的命令是:

ecs-cli compose service up \
--file docker-compose.yaml \
--ecs-params ecs-params.yaml \
--project-name service-name

有什么方法可以通过该命令指定负载均衡器配置吗?


好像是最新的ecs-cli版本确实支持负载均衡器配置和服务启动。

您是否尝试过提供--target-group-arn选项?。假设您已经创建了 ALB 和目标组来关联 ECS 服务。这是我刚刚测试的示例命令。

ecs-cli compose --file docker-compose.yaml --project-name nginx \
--ecs-params ecs-params.yaml service up \
--target-group-arn "arn:aws:elasticloadbalancing:us-east-1:xxxxxxxx:targetgroup/awsvpc-nginx/2bf8921935c827bd" \
--container-name nginx --container-port 80

Note -

  1. target-group-arn, container-name and container-port选项对于负载均衡器关联是强制性的,并且必须在之后在命令中提供service up.
  2. 我看到你正在尝试使用awsvpc任务模式。我不确定您是否正在尝试启动 EC2 或 Fargate 类型的启动容器。
  3. 如果你确实想要awsvpc模式,然后请确保您的负载均衡器目标组具有使用 type 创建的目标ip代替instance.
  4. 如果您使用的是 EC2 启动类型,但使用awsvpc模式,然后请确保 EC2 AMI 是 Amazon-ECS 优化 AMI。如果您属于 Fargate 类型,那么您的assign_public_ip should DISABLED.

请让我知道您的反馈。

参考 -https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli-compose-service.html

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ecs-cli 使用负载均衡器组成服务 的相关文章

随机推荐

  • 两个日期计算字段之间的值的 SQL SUM

    我有这个查询 它返回 null SELECT SUM sales as MAT from TABLE2 where Date1 between CONVERT VARCHAR 23 DATEADD MONTH 11 Date1 111 an
  • 比较本地文件与远程文件

    我有以下问题 我有一个本地 zip文件和一个 zip文件位于服务器上 我需要检查是否 zip服务器上的文件与本地的不一样 如果不是 我需要从服务器中提取新的 我的问题是如何在不从服务器下载文件并在本地比较它们的情况下比较它们 我可以在创建时
  • py2app 中的错误

    我正在一个简单的 test py 应用程序上测试 py2app 没有做任何特别的事情 python 3 6 py2app 0 14 当我发出以下命令时 它构建得很好 没有错误 python3 6 setup py py2app A 但当我启
  • 如何在列表框中实现保持?

    如果按住列表框 我想获取列表框索引 这是我的代码
  • 通过手动链接打开多个 Fancybox 画廊

    我尝试转换中提供的解决方案如何通过手动调用 html 中的画廊而不是通过 jquery 选项来打开 fancybox 为了将其应用到多个画廊 但无法使其正常运行 我拥有的是几个具有以下属性的链接 a href class open albu
  • 如何在react-native中使用FormData?

    你好 刚学会使用 js 和 React Native 我无法使用 FormData 它总是显示不受支持的 bodyinit 类型 我想发送文本而不是 JSON stringify 谁能帮我 谢谢 var data new FormData
  • 有没有办法放大 D3 力布局图?

    D3 具有力导向布局here 有没有办法给这个图添加缩放功能 目前 我能够捕获鼠标滚轮事件 但不太确定如何编写重绘函数本身 有什么建议么 var vis d3 select graph append svg svg call d3 beha
  • Java GridBagLayout自动化构建

    我使用 GridBagLayout 和 GridBagConstraints 设计了一个 GUI 它包含可变数量的行 每行都有几种可能的列布局之一 为了测试代码 我使用了不同颜色的面板 GUI 来说明每行和每列中所有单元格的位置和调整大小行
  • 如何打印base64 pdf?

    我从服务器收到要打印的 Base64 pdf 我一直在尝试以下方法 ajax type POST url url data blahblahblah success function data var printWindow window
  • 从 Python 脚本中请求 UAC 提升?

    我希望我的 Python 脚本能够在 Vista 上复制文件 当我从正常运行它时cmd exe窗口中 不会生成任何错误 但不会复制文件 如果我跑cmd exe 以管理员身份 然后运行我的脚本 它工作正常 这是有道理的 因为用户帐户控制 UA
  • 不启动回发

    我在 JBoss AS 7 1 1 上使用 JSF 2 1 7 和 Myfaces CODI 1 0 5 我的
  • 如何在画布上分层绘制图像?

    我有一个我使用的画布drawImage将一堆图像绘制到画布上 我想要的结果是 我希望我绘制的第一个图像位于第 1 层 下一个图像位于第 2 层 依此类推 到底发生了什么 图像被放置在随机层上 const images https attef
  • 如何更改表情符号的颜色?

    我有一个表情符号 我希望它是白色的 但是当我运行程序时它显示为红色 如何将其更改为白色 rating text rating textColor UIColorRGB ffffff The 以下答案解释了为什么您无法更改表情符号字符的颜色
  • 获取自定义控件的ID

    我有一个相当复杂的自定义控件 可以在任何给定的 XPage 上多次使用该控件 在控件中 我创建了几个 viewScope 变量 这些变量对于特定的自定义控件来说必须是唯一的 我想做类似 viewScope put customControl
  • Joomla 3 - 使用什么来代替 allocateRef?

    在我的项目中 我认为有这种方法 public function elegirSeleccionados this gt assignRef pagination this gt get pagination this gt assignRe
  • 根据概率选择获胜者的随机数

    想象一下 您有一组代表竞争对手及其获奖概率的哈希值 0 到 1 之间的浮点数 喜欢 name gt Adam prob gt 0 5 name gt Ben prob gt 1 0 name gt Chris prob gt 0 1 nam
  • 关于国家/地区更改 Ajax 更新 Woocommerce 中运输的结帐

    我正在寻找一种当客户在结帐页面上更改国家 地区时更新订单审核 运费 的方法 我想使用 jQuery 但wc checkout paramswc checkout params 已弃用 function custom checkbox che
  • 为 Qt5 指定 OpenGL 桌面而不是 ES

    我终于尝试使用着色器来理解着色器tutorial我发现 我决定从 Qt5 Windows 开始 因为我熟悉它并且可以专注于学习 GLSL 本身 我正在做的事情和教程之间的唯一区别是我正在使用QOpenGLWidget而不是一个QOpenGL
  • HttpResponse.getEntity() NetworkOnMainThreadException [重复]

    这个问题在这里已经有答案了 可能的重复 网络主线程异常 很长一段时间以来 我一直在使用通用代码来执行 http 请求AsyncTask The AsyncTask返回一个HttpResponse目的 一切都运行良好 GUI 线程从未冻结或出
  • ecs-cli 使用负载均衡器组成服务

    我正在尝试使用 ecs cli compose 来管理 Amazon ECS 上的服务和任务 我无法找到使用的方法service up命令使用应用程序负载均衡器创建新服务 即使该负载均衡器已存在 这似乎可以与service create 但