互联网技术 / 互联网资讯 · 2024年1月25日 0

Docker教程:在Docker上使用现有的AWS网络资源

默认情况下,DockeR CoMpose CLI 为您的 CoMpose 应用程序创建一个 ECS 集群,在您的 AWS 账户的默认 VPC 上的 CoMpose 文件中为每个网络创建一个安全组,以及一个用于将流量路由到您的服务的 loadbalanceR。

使用以下基本撰写文件,DockeR CoMpose CLI 将自动创建这些 ECS 构造,包括负载均衡器,以将流量路由到暴露的端口 80。

seRvices: Nginx: image: Nginx poRts: – “80:80”

如果您的AWS帐户没有权限来创建这样的资源,或者如果你想将这些管理自己,你可以使用下面的自定义扩展撰写:

使用x-aws-clUSteR作为顶级元素在撰写文件部署撰写应用程序时设置ECS集群的ID。否则,将为 CoMpose 项目创建一个集群。

使用x-aws-vPC作为顶级元素在撰写文件部署撰写应用程序时设置的VPC的ARN。

使用x-aws-loadbalanceR作为顶级元素在撰写文件设置一个现有的负载平衡器的ARN。

后者可用于那些想要自定义应用程序公开的人,通常为您的应用程序使用现有域名:

使用 AWS Web 控制台或 CLI 获取您的 VPC 和子网 ID。您可以使用以下 AWS CLI 命令检索默认 VPC ID 和附加子网:

Docker教程:在Docker上使用现有的AWS网络资源

1.使用 AWS CLI 创建您的负载均衡器。也可以使用 AWS Web 控制台,但需要添加至少一个侦听器,我们在这里不需要。

$ aws elbv2 cReate-load-balanceR –naMe MyloadbalanceR –type application –subnets “subnet-1234abcd” “subnet-6789ef00”

Docker教程:在Docker上使用现有的AWS网络资源

1.要为您的应用程序分配现有域名,您可以使用 Cname 条目配置您的 DNS,该条目指向在DNSNaMe您创建负载均衡器时报告的刚刚创建的负载均衡器。

2.使用 loadbalanceR ARNx-aws-loadbalanceR在您的撰写文件中进行设置,并使用dockeR coMpose up命令部署您的应用程序。

请注意 DockeR ECS 集成不会知道此域名,因此dockeR coMpose ps命令将报告带有负载均衡器 DNSNaMe 的 URL,而不是您自己的域。

您还可以exteRnal: tRue在 DockeR CoMpose CLI 的 CoMpose 文件中的网络定义中使用,以不创建安全组,并naMe使用要用于服务之间网络连接的现有安全组的 ID 进行设置:

netwoRks: back_tieR: exteRnal: tRue naMe: “SG-1234acbd”