Tag: 亚马逊 ECS

在任务启动期间从安全位置检索应用程序configuration

我想确保我不在源代码或泊坞窗图像中存储敏感密钥和凭据。 具体而言,我想存储我的MySQL RDS应用程序凭据,并在容器/任务启动时复制它们。 该文档提供了一个从s3中检索ecs.config文件的例子,我想做类似的事情。 我正在使用Amazon ECS优化的AMI,并在我的ECS群集中注册了一个自动扩展组。 我正在使用ghost docker镜像,没有任何自定义。 有没有办法configuration我想要做的?

有没有办法让Docker Splunk驱动程序在AWS EC2容器服务(ECS)上运行时将EC2实例Id发送到Splunk?

我的Docker容器由AWS上的ECS(EC2容器服务)pipe理。 ECS集群决定容器将运行在哪个EC2实例上。 我发现有一种方法可以configurationSplunk驱动程序将Docker容器Id和/或容器名称与每个日志条目一起发送到Splunk,但是我找不到发送EC2实例Id的方式。 这似乎没有variables(请参阅https://docs.docker.com/engine/admin/logging/log_tags )。

如何将已经存在的ECS实例添加到新创build的ECS集群

我是AWS新手,正在寻找一种方法将已经存在的ECS实例添加到新创build的ECS群集中。 另外还有一个在Cluster1上运行的任务,我可以将任务复制到Cluster2上运行,当我尝试复制JSON文件时,出现以下错误消息:“应该只包含”family“,”containerDefinitions“,”卷“,”taskRoleArn“,”networkMode“'? 先谢谢你。

ecs-cli撰写服务不会终止

我想要构build一个脚本来部署docker容器到ecs。 这是我正在使用的命令。 ecs-cli compose –file src/main/docker/docker-compose-export.yml -p export service up 它大约60%的时间工作。 其他40%的时间是命令停顿。 这是撰写文件 version: '2' services: export: image: 1234567890lalala.dkr.ecr.eu-central-1.amazonaws.com/export:${VERSION} cpu_shares: 200 mem_limit: 100000000 我已经上传图像到ecsregistry之前。 这是我得到的日志: WARN[0000] Skipping unsupported YAML option… option name=networks WARN[0000] Skipping unsupported YAML option for service… option name=networks service name=export INFO[0000] Using ECS task definition TaskDefinition="ecscompose-export:3" INFO[0000] Updated the ECS service with […]

在Linux AMI上安装docker-volume-netshare

我试图通过关注这个博客来安装我的ECS优化实例(Linux AMI)上的这个插件 ,因为我在Docker实例中安装EFS时遇到了问题。 在插件网站上,他们说我们可以按如下方式安装软件包: wget https://github.com/ContainX/docker-volume-netshare/releases/download/v0.18/docker-volume-netshare_0.18_amd64.deb sudo dpkg -i docker-volume-netshare_0.18_amd64.deb 当我这样做,我得到这个错误: sudo: dpkg: command not found 我想这很明显,因为它是On Ubuntu / Debian installation 。 找不到任何方法将其安装在我的Linux AMI( RHEL/CentOS ) 我也试过这个: $ go get github.com/ContainX/docker-volume-netshare $ go build 然后我得到这个错误: can't load package: package .: no buildable Go source files in /home/ec2-user 请帮帮我。

在ECS上部署Cassandra?

我试图在AWS ECS上部署Cassandra作为docker容器。 单个节点很容易完成,但现在我试图为它创build一个集群。 Cassandra需要固定的IP地址,至less对于需要传递给集群中所有节点的种子节点。 Cassandra无法使用ELB地址,因为ELB名称与docker主机本身parsing为不同的ip。 所以基本上我需要能够强制AWS将图像部署到特定的实例/主机/ IP。 通过这种方式,我可以在运行Docker镜像时传递正确的configuration。 我可以使用RunTask API,并通过它PlacementConstraint约束限制主机为单一的,基于IP? PrivateIp在这个接口中的一个EC2实例的属性? 你有什么其他的好点子吗? 谢谢!

在启动ECS时命名Docker容器

有没有办法在通过ECS启动时命名容器? 想知道,因为我目前正在使用Datadog来监视系统使用情况,容器被命名为长等 ECS-datadog代理任务-1-datadog剂,c0a1f3e8d9e58dd5e901 想设置我自己的名字

使用Docker和AWS ECS运行Spring Boot微服务

我正在使用Spring Boot,Kafka和MongoDB开发一个简单的基于微服务的应用程序。 有4个基于Spring Boot的REST服务在MongoDB上执行CRUD(目前在所有服务之间共享),并向/从Kafka集群发布/轮询消息。 目前,我已经将他们全部部署在手工制作的AWS EC2实例上。 卡夫卡/动物园pipe理员有3个经纪人/实例。 没有复制/分片的MongoDb。 我想达到什么目的? 在由ECSpipe理的Docker容器中运行微服务。 能够扩展这些服务。 能够在ECS上创build专用环境(DEV,QA,UAT,PROD)。 运行Kafka和MongoDB集群,将复制和分片作为由ECSpipe理的容器。 我对Docker和ECS概念相当陌生,不能准确地find它是如何完成的。 我能够创buildDockerfile,镜像并推送到docker hub,并使用ECS上的一个服务(没有外部依赖)。 其中一个Dockerfile看起来像这样: FROM openjdk:8-jre-alpine EXPOSE 443 443 LABEL "author":"Kumar Sambhav Jain" COPY build/distributions/app.tar /opt/app/ RUN tar -xvf /opt/app/admin.tar -C /opt/app/ WORKDIR /opt/app/admin/bin ENTRYPOINT ["./admin"] 问题: – 什么是理想的或正确的方式来部署整个应用程序? 我需要每个环境(DEV,QA,UAT)的ECS集群还是每个服务types的ECS集群 – 两个服务需要在端口443/80上公开公开。 服务如何连接到在容器中运行的MongoDB和Kafka? 目前Kafka经纪人和mongo连接保持在application.yml文件中,如下所示: – spring: data: mongodb: host: 172.31.18.25 database: abcd […]

无法从AWS ECS Docker Container访问AWS RDS

我有一个在Docker镜像(基于openjdk:8-jdk-alpine)打包的spring启动应用程序。 作为我想使用RDS的数据源。 我configuration了postgresql RDS实例,我可以从我的本地框访问它。 但是,当我部署应用程序到ECS我有以下问题:从EC2实例我可以访问5432端口: nmap -Pn -p 5432 172.31.2.43 … PORT STATE SERVICE 5432/tcp open postgresql 但是从这个实例启动的docker集装箱我不能访问RDS: PORT STATE SERVICE 5432/tcp closed postgresql RDS和EC2实例都在同一VPC内。 RDS安全组允许来自所有IP地址的传入连接。 我试图启动docker容器–net = host,但没有帮助。 RDS端点似乎从容器中不可见 任何人都可以提出什么可以调整/更改?

创buildAWS Batch Managed Compute Environment将UserData传递给容器实例

我想为AWS Batch创build一个托pipe计算环境 ,但使用EC2用户数据来configuration这些实例,因为这些实例被带入批处理调度作业所在的ECS队列中。 这应该没关系,但User Data脚本的目的是将大数据文件拖放到Docker容器将引用的InstanceStore上。 这在ECS中是可行的 ,但我找不到将用户数据传递到托pipe批计算环境的方法。 我至多可以指定AMI。 但是由于我们要使用托pipe,我们必须使用Amazon ECS-optimized AMI 。 我更喜欢使用EC2用户数据作为解决scheme,因为它为我们希望执行的任何其他引导提供了一个入口点。 但是我可以接受其他黑客或解决scheme,只要它们适用于托pipe计算环境 。