在我们公司,我们有三个AWS帐户,主要的一个,用作IAM的“根”帐户,并托管一个OpenVPN访问服务器。另外两个帐户是pro和stg。每一个都有自己的专有网络,具有不同的IP范围,我们在root和pro帐户之间有一个专有网络对等网络,在root和stg之间有另一个专有网络对等网络。IP路由已经设置好,一切都在这方面得到控制。
(很抱歉,我还不能上传图像,所以这里有链接)VPN VPC对等
问题来自DNS解析。设置如下:
我已经在OpenVPN服务器中安装了BIND9,以允许对私有托管域进行DNS转发,使用的配置类似于“命名”中的配置。conf.local
zone "stg-my-internal-domain.com" IN {
type forward;
forward only;
forwarders { 10.229.1.100;10.229.2.100; };
};
zone "pro-my-internal-domain.com" IN {
type forward;
forward only;
forwarders { 10.228.1.100;10.228.2.100; };
};
还有两个Route53入站解析器(在每个VPC上运行的简单绑定服务器也可以工作),分别运行在10.229.1.100和10.229.2.100中,用于stg和10.228.1.100 10.228.2.100中,用于pro
VPN客户端具有使用Access Server作为DNS解析器的OpenVPN配置文件。
从我的客户端,我可以解析my-service-1.pro-my-internal-domain.com
和my-service-2.stg-my-internal-domain.com
完美,但当我想解析内部域名时,问题就来了,比如AWS在每个VPC内部生成的域名。
我知道这是一种反模式,我应该尽可能多地使用私有域,但在某些情况下,如EMR集群,YARN和Hadoop管理器使用指向内部AWS名称的链接,这使得解析不可能。
所以我的问题是:如果主地址失败,有没有办法将DNS配置为将解析委托给辅助地址?
我可以为eu-west-1设立货运代理。计算使用所有帐户解析程序的内部区域,但DNS规范规定,只有在无法访问第一个名称服务器时,才会使用第二个名称服务器,因此,只要它回答一个空的或“未知”的响应,它仍然是一个有效的响应,并且不会查询第二个。
非常感谢您的帮助!
如果您的VPN与您的EMR群集(或任何其他计算资源)位于同一区域,AWS仅支持这些内部ipv4 DNS主机名的DNS解析。我已经寻求他们的支持,他们已经证实了这一点。
例如,我在法兰克福有一个AWS客户端VPNendpoint设置,在爱尔兰有一个EMR集群。我正在将专有网络的私有DNS服务器推送到我的主机(并且在两个专有网络中启用了所有其他相关配置),以便我可以解析私有路由器53 DNS区域记录。
当我连接到VPN时,
我无法解决这个问题:
$ dig +short ip-10-11-x-x.eu-west-1.compute.internal
$
但我可以解决以下问题,这是一个与VPNendpoint位于同一区域的实例:
$ dig +short ip-10-10-x-y.eu-central-1.compute.internal
10.10.x.y
要么将EMR集群移动到与VPN相同的区域,要么反过来移动。
但最简单的解决方案可能是只使用一个Chrome插件(这里是一个例子),自动重定向ip-x-y-z。。。指向x.y.z IP的URL。
为什么不将内部主机名更改为公共dns名称?当然,这些服务正在使用分配给它们的主机名。你可以改变它。看见https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-hostname.html
您可能(也可能不)需要为每个分配固定的私有IP。无论如何,在公共DNS区域中发布此私有IP。然后您应该能够正确解析这些名称。请注意,您还可以在启动时在每个实例上运行脚本,以更新主机名和dns记录。
有关公共DNS中私有IP地址的详细讨论,请参阅https://serverfault.com/questions/4458/private-ip-address-in-public-dns
以下是最佳答案供参考:
有些人会说,公共DNS记录不应该披露私有IP地址。。。。考虑到您正在为潜在攻击者提供利用私有系统可能需要的一些信息。就我个人而言,我认为混淆是一种糟糕的安全形式,尤其是当我们谈论IP地址时,因为总的来说,它们很容易被猜测,所以我不认为这是一种现实的安全妥协。这里更重要的考虑是确保您的公共用户不会将此DNS记录作为托管应用程序的正常公共服务的一部分。ie:外部DNS查找以某种方式开始解析到他们无法访问的地址。除此之外,我看不出为什么把私人地址记录到公共空间是一个问题的根本原因。。。。尤其是当您没有备用DNS服务器来承载它们时。如果您决定将此记录放入公共DNS空间,则可以考虑在同一服务器上创建一个单独的区域来保存所有“私有”记录。这将更清楚地表明,它们是私人的。。。。然而,只要有一张A唱片,我可能就不会麻烦了。
有没有办法在AWS帐户中找到未使用的VPC? 我指的是没有任何EC2实例、RDS和其他相关服务的VPC。 一种方法是在正在运行的实例、RDS和其他服务中使用VPC ID进行搜索,以确定它是否在使用中。有没有其他方法或AWS CLI来查找未使用的VPC?
我正在尝试将在GCP库伯内特斯引擎集群上运行的Java应用程序与Mongo Atlas集群(M20)连接起来。以前,当我没有打开VPC Peering并且我使用常规连接字符串时,它运行良好。但我现在正在尝试使用VPC Peering,在我的GCP项目中使用VPC网络。我按照https://docs.atlas.mongodb.com/security-vpc-peering/.中的步骤选择了192
我所做的: 我在这些帐户之间创建了VPC对等连接 还连接到每个VPC的Internet网关 路由表也已配置(允许来自两侧的流量) 案例1: “ErrorMessage”:“调用Invoke操作时发生错误(AccessDeniedException):User:arn:aws:sts::Account-a:Assumed-Role/Role-for-VPC-peering-test/lambda1_
我有一个根帐户是1234(帐户ID),我有启用MFA的身份验证,我的用户名是myuser12。我可以使用帐户ID、用户名和密码登录。它将请求MFA令牌代码。一旦我输入了令牌代码。我可以在我的根帐户下查看特定位置的实例。 我可以使用我的角色(在我的情况下,所有帐户的角色都是相同的)以及该角色的任何别名将角色切换到新帐户(5678)。切换角色完成后,我可以在特定位置看到新帐户下的所有实例。 通过网络控
希望将一个位于VPC中的AWS lambda连接到另一个不在VPC中但位于同一区域和帐户中的lambda。 > 调用方lambda“lambda_1”的代码: @override public String handleRequest(final Object input,final Context Context){logger.log(Context.getFunctionName()+“in
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我有一些需要汇总的表。它们也没有链接,但是所有表的顺序是相同的。 基本上,我想采用以下两个表: 要获得这样的输出以输入到图形应用程序中,请执行以下操作: 问题答案: