事先声明,由于这是本人第一次写这种教程,可能有描述不清楚或者不正确的地方,欢迎指正,如果有更好的实现方法,也可以提出交流
本文讲述了通过甲骨文云的动态路由网关,实现同账号下多个区域进行内网互联,搭建完成后不区域之间可以通过甲骨文内网发送数据,同时可以搭配NLB(网络负载均衡器),实现原直连高丢包,高延迟线路,通过甲骨文内网转发到延迟丢包较低区域进行连接,由于两个区域之间是通过甲骨文内网连接,可以获取不错的延迟表现。目前没有找到相应的付费说明,跨区域互联应该是按照公网标准收费。如果用NLB跨区域那应该要收两次出站流量费?不是很清楚
实现后的大致效果就是原先直连美国可能延迟300ms,并且丢包5%,直连日本延迟70ms。丢包0.1%,这个时候如果在美国和日本之间搭建好了动态路由网关,就可以使美国的流量直接通过甲骨文内网发到日本的NLB,这里美国到日本之间的延迟大概是100ms,左右,最终通过NLB连接到美国落地的总延迟就是100+70=170ms,丢包0.1%左右,并且从日本到美国的链路非常稳定,没遇到丢包情况,所以最终影响连接质量的只有你->日本之间的链路质量。
具体链路之间延迟可以通过这个界面查看https://cloud.oracle.com/networking/network-command-center/performance 需要登录甲骨文云账号
区域名称映射关系查看https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm#About
前置条件:
- 拥有一个甲骨文云付费账号(开了多个区域)
- 应该没了吧
如果以上都有了,就可以开始操作了😋
下面演示在韩国春川-美国圣荷西之间搭建连接
1. 创建VCN
进入https://cloud.oracle.com/networking/vcns 创建VCN,需要在每个区域都创建一个VCN,使用VCN向导快速创建,注意里面不同区域的vcn的ipv4地址块需要设置不一样的


其他区域也是类似,再次提醒,vcn的ipv4地址块需要设置不一样的,不再展示
2. 创建动态路由网关并建立连接
进入https://cloud.oracle.com/networking/drgs 创建动态路由网关,每个需要连接区域都需要创建
由于创建只需要输入一个名称,这里就不用图片展示了
3. 附加VCN
在动态路由网关中附加第一步创建的对应区域的VCN

4. 附加远程动态连接并建立连接
接着创建动态路由网关

创建也是只需要啊输入一个名称就行,不再展示,注意这里的远程动态连接需要和几个区域建立连接就需要创建几个,比如现在同时有韩国,美国,日本三个区域,就需要在韩国创建美国,日本的远程动态连接,在美国需要创建韩国,日本的远程动态连接,以此类推。
两边创建完成后点击远程对等连接,进入详情页

点击建立连接,然后输入目标的区域,这里演示的是创建韩国春川-美国圣荷西的连接,当前区域是韩国,输入目标区域圣荷西,对等连接的OCID需要复制在美国创建的远程对等连接OCID,随后点击建立连接

点击建立连接后需要稍等一会,此时甲骨文正在给我们的区域建立连接,需要等待大概1-2分钟,过会回来看,会发现状态变成了已建立对等连接,就表示两个区域已经建立完成连接了

5.配置动态路由网关路由
来到路由界面进入Autogenerated Drg Route Table for RPC, VC, and IPSec attachments这个路由表

新增一条规则,目前我的韩国VCN地址块是10.100.0.0/16,美国是10.20.0.0/16,所以在韩国这里我需要设置将10.20.0.0/16的连接都路由到刚刚的远程对等连接中

两边都需要创建,美国就是需要将10.100.0.0/16路由到韩国的远程对等连接
6.配置VCN路由
回到最开始创建的VCN,需要编辑公共子网所附加的路由表,由于刚刚是向导快速创建的,默认会附加default这个路由表

这里增加一条路由规则,我这里是需要将美国的10.20.0.0/16路由到刚刚创建的动态路由网关

同时需要在美国的VCN中创建对应的路由规则,将10.100.0.0/16路由到美国对应的动态路由网关
7.测试
在韩国和美国对应的公共子网下各自创建一台示例,这里不再样式,默认会给这两太实例都分配一个内网ip,这里就以我之前创建的做个展示


这里分别有一台韩国春川,美国圣荷西的机器,韩国的内网地址是10.0.0.36,美国是10.20.0.100,测试一下ping情况

这里可以看到,两边都可以ping通,最终实现了跨区域使用甲骨文云内网传输
再次声明,由于这是本人第一次写这种教程,可能有描述不清楚或者不正确的地方,欢迎指正,如果有更好的实现方法,也可以提出交流
666
同一账号下跨区域 得有升级号。
NB

emmmm 想法是好的,但是甲骨文公网IP之间的路由本来就是走内网的,一跳直达
@zhou #4 主要是搭配NLB,默认情况下NLB只能转发当前区域的流量,通过这里配置好后NLB就可以转发其他区域的流量
使用NLB好像可以不用创建实例,就是同时开了三个区域,韩国,日本,美国,现在在美国有实例,但是直连高延迟+高丢包,这个时候在美国-日本之间建立远程对等连接,就可以直接在日本搭建一个NLB去转发美国机器的流量,不用在日本创实例,目前NLB是免费的,而且带宽也是动态的,没限制,只收一个流量费(包含在每月10T免费额度里面)
等我测试一下
甲骨文所有公网IP之间不都是内网传输吗?有时候比公网延迟都高,胜在稳定
@nulryze #6 没实例是不能转发的 drg又不带nat
@UnicornForm #9
没有实例可以转发,我试过了,只要创建一个nlb就行,后端集里面写内网ip就行