首页 > 解决方案 > Terraform 创建的 EC2 实例与 ECS 集群无关

问题描述

我是新的 Terraform,我正在研究用于部署 Docker 容器的基础设施设置。我的 ECS 集群基于Infrablocks/ECS-Cluster,基础网络基于Infrablocks/Base-Network。由于项目的时间限制,我选择使用这些。

我遇到的问题是由 Infrablocks/ECS-Cluster 模块创建的两个 EC2 容器实例与 Infrablocks 构建的 ECS 集群没有关联。我有零运气来确定原因。这会阻止我的任务定义能够在 ECS 集群中运行容器,因为没有关联的 EC2 实例。我在下面提供了我的两个依赖模块配置。

提前感谢您提供的任何帮助!

没有实例的 EC2

到目前为止,我的 Terraform:

module "base_network" {
source  = "infrablocks/base-networking/aws"
version = "2.3.0"

vpc_cidr                            = "10.0.0.0/16"
region                              = "us-east-1"
availability_zones                  = ["us-east-1a", "us-east-1b"]

component                           = "dev-base-network"
deployment_identifier               = "development"

include_route53_zone_association    = "true"

private_zone_id                     = module.route53.private_zone_id

include_nat_gateway                 = "true"}


module "ecs_cluster" {
source                                  = "infrablocks/ecs-cluster/aws"
version                                 = "2.2.0"

region                                  = "us-east-1"
vpc_id                                  = module.base_network.vpc_id
subnet_ids                              = module.base_network.public_subnet_ids

associate_public_ip_addresses           = "yes"

component                               = "dev"
deployment_identifier                   = "devx"

cluster_name = "services"
cluster_instance_ssh_public_key_path    = "~/.ssh/id_rsa.pub"
cluster_instance_type                   = "t2.small"

cluster_minimum_size                    = 2
cluster_maximum_size                    = 10
cluster_desired_capacity                = 2 }

标签: amazon-web-servicesamazon-ec2terraform

解决方案


您必须对实例进行故障排除才能了解它为什么没有加入集群。在您的 EC2 实例上(我没有查看,但我希望“infrablocks”ecs-cluster 模块使用安装了 ECS 代理的 AMI),您可以查看 /var/log/ecs/ecs-agent。日志 。

如果网络配置是健全的,我的第一个猜测是检查 ECS 配置文件。如果您的模块工作正常,它应该已经使用集群名称填充了配置。有关更多信息,请参见此处

(我会发表评论而不是回答,但这个帐户没有足够的代表:耸耸肩:)


推荐阅读