Amazon-Web-Services
EC2 實例無法連接到 ECS 集群
Helo,我有空的 AWS ECS 集群,但我無法將實例放入其中。我想使用啟動模板和 Autoscaling Group,但我無法分配創建的 EC2 實例。
問題顯示在
ecs-agent.log
level=error time=2020-10-17T23:23:37Z msg="Unable to register as a container instance with ECS: RequestError: send request failed\ncaused by: Post \"https://ecs.eu-central-1.amazonaws.com/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)" module=client.go level=error time=2020-10-17T23:23:37Z msg="Error registering: RequestError: send request failed\ncaused by: Post \"https://ecs.eu-central-1.amazonaws.com/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)" module=agent.go
筆記:
- 使用 AMI
ami-0eff571a24849e852
- 集群名稱:
debug
- 地區是
eu-central-1
- 實例沒有公網 IP
- 實例位於
10.10.100.0/24
子網 (10.10.100.14
) 中,VPN 子網位於10.10.0.0/16
- Instance 可以通過 NAT Instance 訪問 Internet:
[ec2-user@ip-10-10-100-14 ecs]$ ping google.com PING google.com (216.58.212.142) 56(84) bytes of data. 64 bytes from ams15s21-in-f14.1e100.net (216.58.212.142): icmp_seq=1 ttl=109 time=50.1 ms 64 bytes from ams15s21-in-f142.1e100.net (216.58.212.142): icmp_seq=2 ttl=109 time=40.1 ms
- 到外部的 DNS 解決得很好
[ec2-user@ip-10-10-100-14 ecs]$ nslookup google.com Server: 10.10.0.2 Address: 10.10.0.2#53 Non-authoritative answer: Name: google.com Address: 216.58.212.142
- 可以肯定的是,我已經創建了從實例到 ECS 的 VPC 和子網的端點
- 我已附加安全組,沒有測試限制
ecs.config
:ECS_CLUSTER=debug ECS_BACKEND_HOST=
- 我已經通過https://aws.amazon.com/…/ecs-agent-disconnected/,一切正常
- 附加的 IAM 角色具有策略
AmazonEC2ContainerServiceforEC2Role
- ECS Endpoint 解決得很好
[ec2-user@ip-10-10-100-14 ecs]$ nslookup ecs.eu-central-1.amazonaws.com Server: 10.10.0.2 Address: 10.10.0.2#53 Non-authoritative answer: Name: ecs.eu-central-1.amazonaws.com Address: 10.10.100.219
- 實例具有一條規則並允許來自 sg 的所有流量的安全組,其中 NAT 實例所在的位置。(因為我這裡還不能上傳圖片,所以我必須使用另一個提供商) https://ibb.co/kh7tb2J
有沒有人有什麼建議?
我已經解決了這個問題。
該問題是由 VPC 端點引起的。我將它們放在錯誤的子網和安全組中。
我已將它們移動到公共子網(在 NAT 實例旁邊)並與 NAT 實例在同一組中(允許來自我的 EC2 所在的 sg 的傳入流量)。
根據文件:
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html
附加到 VPC 終端節點的安全組必須允許來自 VPC 私有子網的埠 443 上的傳入連接。