微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS EFS 挂载到 ECS Fargate 任务突然失败

如何解决AWS EFS 挂载到 ECS Fargate 任务突然失败

我正在使用 Boto3 运行使用 Fargate 的任务定义,并在其中安装一个空的 EFS 系统。

SDK 代码

def run_fargate_task(self):
    response = self.ecs.run_task(
        cluster='XXXXXXXX',count=1,enableECSManagedTags=True,launchType='FARGATE',networkConfiguration={
            'awsvpcConfiguration': {
                'securityGroups': [
                    'sg-XXXXXXXXXXXXXXXXX',],'subnets': [
                    'subnet-XXXXXXXXXXXXXXXXX','subnet-XXXXXXXXXXXXXXXXX','assignPublicIp': 'ENABLED'
            }
        },taskDeFinition='XXXXX:1'
    )

当我运行 run_fargate_task() 函数时,它在大多数情况下都会通过此响应元数据成功:

"ResponseMetadata": {
    "RequestId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","HTTPStatusCode": 200,"HTTPHeaders": {
        "x-amzn-requestid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","content-type": "application/x-amz-json-1.1","content-length": "1297","date": "Fri,11 Jun 2021 14:34:46 GMT",},"RetryAttempts": 0,

但有时我会收到此错误

ResourceInitializationError:无法调用 EFS utils 命令来设置 EFS 卷:stderr:无法解析“fs-XXXXXX.efs.us-east-2.amazonaws.com” - 检查您的文件系统 ID 是否正确。

我确定 EFS 系统 ID 是正确的,因为它有时会在不更改代码的情况下成功。此外,我确定我的安全组的入站规则是为 EFS 设置的,端口为 2049

此外,我确保我没有使用相同的 EFS 系统 ID 运行多个任务。

即使在停止任务(成功运行时)并等待几分钟(希望 EFS 系统不被旧任务占用)后,问题仍然存在。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。