代码之家  ›  专栏  ›  技术社区  ›  Gilad Novik

使用ECS和Fargate时,卷位于哪里?

  •  6
  • Gilad Novik  · 技术社区  · 7 年前

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

    {
        "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 回复  |  直到 7 年前
        1
  •  1
  •   sj26    6 年前

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

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