繁体   English   中英

无法将 Internet 与私有子网中的 EC2 实例连接起来

[英]Cannot connect internet with EC2 instance in private subnet

我正在尝试在我使用 Jumpbox SSH 的私有子网中的 EC2 实例上安装 docker。 我什至试图在我的安全组中允许 ALL TRAFFIC,但仍然没有发生。

sudo yum update -y
Loaded plugins: priorities, update-motd, upgrade-helper
Could not retrieve mirrorlist http://repo.us-west-1.amazonaws.com/latest/main/mirror.list error was
12: Timeout on http://repo.us-west-1.amazonaws.com/latest/main/mirror.list: (28, 'Connection timed out after 5001 milliseconds')


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: amzn-main/latest

私有子网中的 Amazon EC2 实例无法直接与 Internet 通信。 这是有意为之,因为它是一个私有子网

要允许这种连接:

  • 在同一 VPC 的公有子网中创建NAT 网关
  • 修改私有子网的路由表以将流量目标0.0.0.0/0定向到 NAT 网关

当 EC2 实例尝试访问 Internet 时,其请求将发送到 NAT 网关。 NAT 网关将代表实例发出请求并将响应发送回实例。 这允许到 Internet 的出站连接,同时保护实例免受入站连接的影响。

使用私有子网并不是绝对必要的。 安全组可以在实例级别而不是子网级别执行类似的功能。

在这种情况下,当 EC2 在 VPC 内部时,我们希望允许 EC2 通过互联网连接外部世界。 我们需要向 EC2 添加出站规则。 例如,我想从 amazom 存储库下载 EC2 上的 Docker。 我在下面的快照中添加了 HTTP 规则

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM