更改 AWS ECS 服务的安全组

use*_*620 7 amazon-ec2 amazon-web-services amazon-ecs

我希望能够修改 AWS ECS 服务的网络配置。该界面的“配置网络”屏幕顶部有“允许的 VPC”、“允许的子网”、“安全组”和“自动分配公共 IP”。但是它们不能被修改。我们一直在为某些服务使用通用安全组。在创建其中一项服务时,我们没有分配安全组,因此创建了一个新服务。这似乎是我应该能够回去纠正的事情。

The*_*onk 20

如果您使用 AWS CLI,则可以更改它。

aws ecs update-service --cluster ClusterName --service ServiceName --network-configuration file://c:\json\networkConfig.txt
Run Code Online (Sandbox Code Playgroud)

您的 networkConfig.txt 文件包含的位置

{
  "awsvpcConfiguration": {
    "subnets": ["subnet-***","subnet-***"],
    "securityGroups": ["sg-***"],
    "assignPublicIp": "ENABLED"
  }
}
Run Code Online (Sandbox Code Playgroud)

  • +1 这也对我有帮助。无论操作系统如何,此命令都可以工作,并且不需要文件: `aws ecs update-service --cluster <cluster-name> --service <service-name> --network-configuration '{"awsvpcConfiguration": {"子网": ["subnet-abcd","subnet-efgh","subnet-wxyz"], "securityGroups": ["sg-blabla"],"assignPublicIp": "启用"}}'` (6认同)
  • 这应该被标记为正确的解决方案。我测试过并且可以确认。虽然高级用户可能很清楚,但值得添加:您可以使用此格式向服务添加多个安全组。 (2认同)
  • @NavidKhan 我发现如果您想在 CodeDeploy 中执行此操作,则需要在创建新部署时将网络配置部分添加到 Appspec 文件中。然后它将在部署任务期间更新服务。 (2认同)

Adi*_*iii 3

不可以,您无法更改 Fargate 类型 ECS 任务的安全组,因为附加的安全组管理资源。就像 ECS EC2 类型任务一样,您管理 ECS 实例,以便更改资源的安全组,转到 EC2 实例 -> 修改资源 -> 修改 SG,但这里的情况有所不同,您不必这样做作为 AWS 信念容器即服务 (cas) 进行管理。

解决方法:

  • 进入安全组 -> 选择关联的fargate SG -> 修改规则

  • 启动另一个新的 Fargate 任务,并将所需的 SG 关联到 Fargate 服务。

在此输入图像描述