与 VPC ec2 实例的本地 jenkins 连接
Local jenkins connection with VPC ec2 instanse
我在公司网络中有一个jenkins 服务器。需要使用 jenkins ec2 插件旋转 EC2 实例。我的印象是,在提供访问权限、密钥和 AMI Id 之后,为 ssh 端口 22 打开安全组(它是一个 linux 图像)。我将能够连接 ec2 实例作为奴隶。但它低于错误。
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000
.
我可以使用本地机器上的 public ip 连接 ec2 实例。我所看到的是詹金斯试图使用私人 ip 进行访问。自从它在 vpc 中以来,我已经给出了一个子网 ID。 jenkins 或 VPC 中的任何设置需要更改吗?
此致,
阿希什
好的,我想我明白了。
要使插件正常工作,您需要有一个默认 VPC。我删除了所有默认 VPC,因为一开始我错误地认为保留它们会花费我 运行。
默认 VPC 的结果似乎是 public DNS 附加到在该默认 VPC 中启动的实例。我 可能 误认为只有默认 VPC 会这样做(也许我还必须发现一个设置,以便 VPC 自动分配 public DNS),但无论如何,public DNS 仅在使用默认 VPC 的设置中添加到我的服务器。该插件的回退似乎是尝试连接到私有 IP。当您查看实例的设置时,您只会看到 public dns 和私有 ip 的输入字段——而不是 public ip。
一旦我解决了这个问题,一切都正常运转了。
那么,在删除您的 VPC 之后,您如何重新获得默认 VPC?那么,一般来说,有2种选择:
- 您注册了一个新帐户。这是最简单的,当然,您会得到一个新帐户。
- 你可以看看 https://aws.amazon.com/premiumsupport/knowledge-center/deleted-default-vpc/ ,看看 AWS 给你一个默认 VPC 的过程。
我现在基本上选择了第一个选项。
希望对您有所帮助!
我 运行 遇到了一个类似的问题,当我将 'Connection Strategy' 设置从 Private IP
更改为 Public IP
时,该问题得到了解决。可以通过导航在 Jenkins 中找到此设置:
-Manage Jenkins
-Manage Nodes and Clouds
-Configure Clouds
-Amazon EC2 Configuration
-Advanced
-Connection Strategy
Private IP
似乎是默认值,因此将其更改为 public 连接策略之一应该会导致尝试通过 public IP 连接到您的 EC2 实例.
这是使用 Amazon EC2 plugin 版本 1.56 和 Jenkins 版本 2.263.1
我在公司网络中有一个jenkins 服务器。需要使用 jenkins ec2 插件旋转 EC2 实例。我的印象是,在提供访问权限、密钥和 AMI Id 之后,为 ssh 端口 22 打开安全组(它是一个 linux 图像)。我将能够连接 ec2 实例作为奴隶。但它低于错误。
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000.
Waiting for SSH to come up. Sleeping 5.
Connecting to 172.30.0.204 on port 22, with timeout 10000
.
我可以使用本地机器上的 public ip 连接 ec2 实例。我所看到的是詹金斯试图使用私人 ip 进行访问。自从它在 vpc 中以来,我已经给出了一个子网 ID。 jenkins 或 VPC 中的任何设置需要更改吗?
此致, 阿希什
好的,我想我明白了。
要使插件正常工作,您需要有一个默认 VPC。我删除了所有默认 VPC,因为一开始我错误地认为保留它们会花费我 运行。
默认 VPC 的结果似乎是 public DNS 附加到在该默认 VPC 中启动的实例。我 可能 误认为只有默认 VPC 会这样做(也许我还必须发现一个设置,以便 VPC 自动分配 public DNS),但无论如何,public DNS 仅在使用默认 VPC 的设置中添加到我的服务器。该插件的回退似乎是尝试连接到私有 IP。当您查看实例的设置时,您只会看到 public dns 和私有 ip 的输入字段——而不是 public ip。
一旦我解决了这个问题,一切都正常运转了。
那么,在删除您的 VPC 之后,您如何重新获得默认 VPC?那么,一般来说,有2种选择:
- 您注册了一个新帐户。这是最简单的,当然,您会得到一个新帐户。
- 你可以看看 https://aws.amazon.com/premiumsupport/knowledge-center/deleted-default-vpc/ ,看看 AWS 给你一个默认 VPC 的过程。
我现在基本上选择了第一个选项。
希望对您有所帮助!
我 运行 遇到了一个类似的问题,当我将 'Connection Strategy' 设置从 Private IP
更改为 Public IP
时,该问题得到了解决。可以通过导航在 Jenkins 中找到此设置:
-Manage Jenkins
-Manage Nodes and Clouds
-Configure Clouds
-Amazon EC2 Configuration
-Advanced
-Connection Strategy
Private IP
似乎是默认值,因此将其更改为 public 连接策略之一应该会导致尝试通过 public IP 连接到您的 EC2 实例.
这是使用 Amazon EC2 plugin 版本 1.56 和 Jenkins 版本 2.263.1