使用 ECS 和 Fargate 时卷位于何处?

Posted

技术标签:

【中文标题】使用 ECS 和 Fargate 时卷位于何处?【英文标题】:Where are the volumes located when using ECS and Fargate? 【发布时间】:2018-06-18 08:51:30 【问题描述】:

我有以下设置(我已经去掉了不重要的字段):


    "ECSTask": 
      "Type": "AWS::ECS::TaskDefinition",
      "Properties": 
        "ContainerDefinitions": [
          
            "Name": "mysql",
            "Image": "mysql",
            "MountPoints": ["SourceVolume": "mysql", "ContainerPath": "/var/lib/mysql"]
          
        ],
        "RequiresCompatibilities": ["FARGATE"],
        "Volumes": ["Name": "mysql"]
      
    

它似乎可以工作(容器确实可以正常启动),但我不太确定这个卷被保存在哪里。我以为这将是一个 EBS 卷,但我没有在那里看到它。我想这是我的任务内部的 - 但在这种情况下 - 我如何访问它?如何控制其限制(最小/最大尺寸等)?如何为此卷创建备份?

谢谢。

【问题讨论】:

【参考方案1】:

Fargate 不支持持久卷。任何附加到 fargate 任务的卷都是短暂的,不能从外部源初始化或备份,遗憾的是。

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html

【讨论】:

以上是关于使用 ECS 和 Fargate 时卷位于何处?的主要内容,如果未能解决你的问题,请参考以下文章

AWS ECS Fargate 和端口映射

使用 AWS ECS Fargate 进行水平和垂直自动扩展

AWS ECS Fargate ALB 错误(请求超时)

AWS 使用 Fargate 对 ECS 服务的多个端口进行负载平衡

AWS CDK 并在现有 ALB 上创建 ECS/Fargate 服务。使用现有的监听器?

Amazon ECS:对于 Jenkins amazon-ecs-plugin 的给定值不存在 Fargate 配置