我有一个 ECS 服务,它属于 AWS 账户 A 拥有的 Launch Type EC2。我们的 IT 团队创建了一个由 AWS 账户 B 拥有的 FSx 存储:
当我尝试启动任务时,我在任务的已停止原因部分收到此未授权错误:
Fsx describing filesystem(s) from the service for [fs-0fd8b05f434cf0e72]:
FileSystemNotFound: File system 'fs-0fd8b05f434cf0e72' does not exist.
我已将这 2 个策略附加到 EC2(容器主机)实例:
- AmazonFSxReadOnlyAccess(AWS 托管)
- fsx_mount(客户管理)
fsx_mount:
{
"Statement": [
{
"Action": [
"secretsmanager:GetSecretValue"
],
"Effect": "Allow",
"Resource": "arn:aws:secretsmanager:us-west-2:111111111111:secret:dev/rushmore/ad-account-NKOkyh"
},
{
"Action": [
"fsx:*",
"ds:DescribeDirectories"
],
"Effect": "Allow",
"Resource": "arn:aws:fsx:eu-west-1:222222222222:file-system/fs-0fd8b05f434cf0e72"
}
],
"Version": "2012-10-17"
}
请注意,账户 id 222222222222 代表 AWS 账户 B。
Terraform aws_ecs_task_definition:
resource "aws_ecs_task_definition" "participants_task" {
volume {
name = "FSxStorage"
fsx_windows_file_server_volume_configuration {
file_system_id = "fs-0fd8b05f434cf0e72"
root_directory = "\\data"
authorization_config {
credentials_parameter = aws_secretsmanager_secret_version.fsx_account_secret.arn
domain = var.domain
}
}
}
...
}
我不确定为什么 ECS 不能“看到” FSx 文件系统。肯定是因为它在另一个 AWS 账户中,但我不知道需要进行哪些更改才能解决此问题。