- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何在AWS上创建VPC /子网,并在同一子网中启动Windows实例和Linux实例。每当我尝试创建vpc时,即使我在路由表中授予了权限,也不会给ssh访问其他终端的权限。
最佳答案
这可能是很多事情。我可能会建议您查看安全组(从您的IP地址添加TCP / 22入站),并根据您的设置(确保已连接IGW),确保将公共IP地址分配给您的实例(添加弹性IP) (如果您的实例还没有一个)。没有有关您的环境的更多信息,我只能提供一些背景知识来帮助您进行故障排除。
VPC中实例的网络路径如下所示:
互联网-> AWS边界-> VPC边界-> VPC路由器->子网边界->弹性网络接口
AWS边界
在大多数情况下,这部分并不重要。从互联网上,最终您的流量将被路由到Amazon自治系统中。这通常是透明的。但是,如果您具有公共类型的Direct Connect,则连接的Amazon端会将您转储到此处。在此区域中,您可以访问公共API终结点,但是如果不进一步深入堆栈,就无法访问VPC中的任何内容。见下文。
VPC边界
这是流量进入/离开VPC的时间点。发生这种情况的方式有很多种。
互联网网关(IGW)
这将在亚马逊拥有的公共可路由IP地址和VPC内部私有IP地址之间执行一对一NAT(不要将其与NAT网关混淆,因为这是不同的,如下所述)。只有分配了公共IP地址的实例才能使用IGW。从实例的角度来看,它是一对一的NAT,是它的专用IP地址和Internet路由IP之间的连接。从外部开始,它是到实例的公共IP地址的连接。需要强调的是,没有分配公共IP地址(弹性IP或其他)的实例将无法通过IGW在任一方向上与Internet通信。相反,如果您没有IGW,则实例上的公共IP地址将没有任何用处。还值得一提的是,还有仅出口网关,仅允许IPv6连接用于出站启动的连接。
虚拟专用网关(VGW)
这可以看作是各种路由器。如果您有一个VPN连接到AWS的VPN服务,或者您使用的是Private Direct Connect,它将遍历该虚拟设备,该虚拟设备将与VPC关联。值得注意的是,这是一种对等并使用VPC专用IP地址进行通信。您不需要公共IP地址即可通过VGW进行对话,也无法使用VPC中实例的公共IP地址来遍历VGW。
VPC对等连接(PCX)
这与VGW非常相似。它只能连接两个VPC(使用传输网关,我想这是一个过分简化的方法),并且将它们连接在专用IP地址层上。您不能通过PCX的公共IP地址来引用资源。
VPC端点(VPC-E)
这只能在连接断开的情况下从VPC内部访问(显然是通过此连接返回流量,但是。这是到AWS Public Boundary中特定的AWS端点的连接(例如S3 API端点)。使用实例的公共IP地址。
VPC路由器
离开或进入VPC的所有流量都命中该路由器,并且路由到/从VPC边界处的所有出口/入口点到每个子网。您可以调整此路由器以控制哪些流量流向何处,并且每个子网可以具有不同的路由表。因此,“公共”子网是VPC中的一个子网,它具有IGW并具有到该IGW的默认路由(0.0.0.0/0)。专用子网没有通往IGW的路由。如果没有通往IGW的路由,则在您的实例上拥有一个公共IP地址是无用且浪费的。
如果要控制VPC内的流量并将其发送到EC2实例(Web代理/ IDS /流量捕获等),也可以路由到ENI,但是ENI必须驻留在具有不同路由的子网中表,否则它自己的出站流量将被路由回自身。退出/进入任何子网的所有流量,以及退出/进入VPC的所有流量都经过此路由器,并服从您配置的路由。您无法在子网中配置路由,发往VPC专用IP空间中某个地址的任何数据包都将自动路由到该特定子网,并且您不能使用更特定的路由来覆盖此功能。
子网边界
在子网边界,流量受网络访问控制列表(NACL)的约束。这是基于规则的无状态防火墙。默认情况下,它是完全开放的,不需要任何配置即可允许流量。没有允许“现有连接”的规则,因此,如果您开始使用NACL锁定子网,则可能需要按照期望返回流量的方向打开所有临时端口。同一子网内实例之间的任何流量都不会到达NACL。但是,任何离开或进入子网(无论是要进入同一VPC中的另一个子网还是完全离开VPC)的任何内容都将触及NACL并受其规则约束。通常不要理会这些内容,除非您需要在子网级别保护流量,否则NACL有点笨拙。
弹性网络接口(ENI)
最终,流量通过ENI,在此受安全组约束。这是一个有状态隐式拒绝防火墙,您只能为其添加允许规则。如果安全组没有允许来自实例的出站流量的规则,则该流量将永远不会离开ENI。如果安全组没有允许某种类型的入站流量的规则,则该类型的入站流量将永远不会发送到实例(即,操作系统将无法检测到它)。
NAT网关
这是可以驻留在子网中的设备。它将需要一条通往IGW的路由,并且需要一个公共IP地址(弹性IP工作)。它对VPC中的任何私有IP地址执行多对一NAT转换为可公开路由的IP(从技术上讲,它执行多对一NAT,将VPC中的许多私有IP地址转换为自己的私有IP地址,并在与IGW通信时进行一对一的NAT,以将NAT网关的私有IP地址转换为公共IP地址)。这仅适用于IPv4。而且仅当实例将其流量发送到NAT网关的ENI时,它才起作用。通常,您将NAT网关驻留在公共子网中(具有到IGW的默认路由),并且私有子网中的所有实例都具有到NAT网关ENI的默认路由。
摘要
连接到EC2实例的最低限制:
VPC附加了IGW
NACL具有双向允许流量的允许规则(默认配置)
EC2实例具有一个允许所需流量的安全组(用于SSH的TCP / 22等)
EC2实例具有与其关联的公共IP地址(必须在启动实例时配置,或者可以在以后通过附加弹性IP进行添加)。
通过此配置,您可以通过公共互联网直接连接到实例。
结构完善的VPC模式
AWS为简单的最佳实践网络建议的通用架构模式是:
连接了IGW的VPC
两个或更多公共子网(每个子网位于单独的可用区中),具有到IGW的默认路由。
每个公共子网中的NAT网关
两个或更多私有子网(每个子网与公共子网位于同一可用区中),每个子网均具有默认路由,该默认路由指向同一可用区中公共子网中的NAT网关。
一个1的自动扩展组中的堡垒主机,跨越所有允许SSH入站的公共子网(是否值得商is)
如果需要,从企业网络到VPC的VPN连接
专用实例上的安全组允许来自VPC内的特定资源的入站(在可能的情况下通过安全组ID进行引用)以及通过VPC需要的任何入站流量,以及出站到世界的出站流量TCP / 443(或更多/更少,具体取决于您的风险承受能力和需求)。
(如果需要),以及到S3的VPC端点或您希望发送大量流量的任何API端点。
这种架构允许您的私有实例连接到出站(至少使用IPv4)的公共Internet资源,并且入站流量必须通过VPN或堡垒主机。对于面向公众的服务,在公共子网中设置Elastic Load Balancer是为实例提供公共连接的理想方式,因此您可以继续在私有子网中对其进行保护。
关于linux - AWS上的Linux和Windows实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59737883/
有没有一种方法可以使用标准类型构造函数(例如 int、set、dict、list、tuple 等)以用户定义的方式将用户定义类的实例强制转换为其中一种类型?例如 class Example:
我知道这个问题在Stackoverflow中有很多问题,但是即使有很多答案,这些答案也帮不了我什么,也没有找到答案。 在我的WebAPP中,它可以正常工作,但是当我将其转换为API时,它失败了(主题标
这个问题已经有答案了: Why does the ternary operator unexpectedly cast integers? (3 个回答) 已关闭 9 年前。 最近遇到一个Java的陷
我尝试使用 FirebaseApp.configure() 配置 Firebase,但遇到以下崩溃: *** Terminating app due to uncaught exception 'c
我有一个自连接员工实体类,其中包含与其自身相关的 id、name 和 ref 列。我想创建它的新实例并将其保存到数据库。 首先我创建了一个 Employee 类的实例并将其命名为 manager。然后
我有一个用于添加新公寓的表单,在该表单中我有一个下拉列表,用户可以在其中选择负责的人员。 显然,当您从下拉列表中选择并尝试保存公寓时,我的应用程序认为该人已被修改。它给了我下面的错误,指示我应该首先保
从 Visualforce 页面,我需要检索我们组织的 salesforce 实例的 URL,而不是 Visual Force URL。 例如我需要https://cs1.salesforce.com
我遇到了一些可能的问题答案,但这是关于从 Hibernate 3.4.0GA 升级到 Hibernate 4.1.8 的问题。所以这曾经在以前的版本下工作,我已经四处搜索了为什么它在这个新版本中出现了
似乎一遍又一遍地问这个问题,我仍然找不到解决我问题的答案。我在下面有一个域模型。每个新创建或更新的“安全用户”都需要我确保其具有配置文件,如果没有,则创建一个新的配置文件并分配给它。 配置文件的要求相
我很难调试为什么 JPA 不级联我的 @ManyToMany 关系。我发现的所有答案都与缺少级联语句有关。但我确实拥有它们并且仍然得到: Caused by: org.hibernate.Transi
Play 服务 API 表明有一个叫做 Instance ID 的东西 但是,在 Android Studio 中包含以下内容后,我无法导入 InstanceID 类 compile "com.goo
我正在使用 Seam 框架。我有 2 个实体: 请求.java @Entity @Table(name = "SRV_REQUEST") public class Request { private
This question处理构建一个适当的Monad来自单子(monad)的实例,但仅在某些约束下 - 例如Set .诀窍是将其包装成 ContT ,它将约束推迟到包装/展开其值。 现在我想对 Ap
我正在尝试执行此查询: StringBuffer sb = new StringBuffer(); sb.append("select p from PointsEntity p " + "where
我试图了解是否可以更改我的 hibernate 配置并使用单个 MySQL 实例(而不是我当前拥有的多个 MySQL 实例): 我有一个使用 hibernate 的 Java 应用程序,与 2 个模式
我有一个选项卡滑动布局,其中包括四个选项卡,每个选项卡都有自己的布局和 fragment ,在我的主要 Activity 布局中,viewpager 参与更改选项卡。特定 View (选项卡)在应用程
我看到很多帖子声称他们正在运行 MySql 的 RDS 实例,但无法连接到该实例,但我没有运行 RDS。 我使用 EC2 实例来托管我的 WordPress 博客,该博客是使用 Web 平台安装程序安
因为我在我的 ec-2 实例上的 python 虚拟环境中运行应用程序( Airflow ),并且我想在同一个 ec2 实例上的默认 python 环境中运行命令,所以我认为 ssh 到我自己的实例更
这个问题已经有答案了: How to fix the Hibernate "object references an unsaved transient instance - save the tra
例子: run APP1 .. ... run APP1 ... run APP2 如何在 APP2 中对 Vue 说我需要调用 APP1?
我是一名优秀的程序员,十分优秀!