私有网络VPC

    对等连接

    对等连接 SDK文档

    获取Endpoint

    在确认您使用SDK配置Endpoint时,可先阅读开发人员指南中关于 VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分,对等连接服务是VPC服务的一部分,使用VPC服务的域名。

    获取密钥

    要使用百度云产品,您需要拥有一个百度云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。可以通过如下步骤获得并了解您的AK/SK信息: 1. 注册百度云账号 2. 创建AK/SK

    peerconn_client

    peerconn_client将对等连接服务的API进行封装,简化了开发者与对等连接服务的交互,用户可调用peerconn_client中的方法对对等连接进行配置,peerconn_client中方法返回参数与API方法一致。

    新建peerconn_client

    新建peerconn_client时,需要先使用Endpoint、AK、SK对BceClientConfiguration类型config实例进行配置,再使用config实例对peerconn_client进行配置,具体配置方法如下:

    HOST = b''
     AK = b''
     SK = b''
     config = BceClientConfiguration(
         credentials=BceCredentials(AK, SK), endpoint=HOST)
     self.client = peerconn_client.PeerConnClient(config)

    创建对等连接

    创建对等连接时,需注意:

    • 对于同账号的对等连接,系统会触发对端自动接受。
    • 跨账号的对等连接,必须接受端接受后对等连接才可用。
    • 对于本端区域和对端区域相同的对等连接,billing参数只支持后付费(需要传billing参数,但是计费账单为0)。
    • 任意两个VPC之间最多只能存在一条对等连接。
    • 发起端和接收端的VPC不能是同一个。
    • 如果本端vpc和对端vpc均为中继vpc,则不可以建立对等连接。

    可以使用create_peerconn函数在指定VPC之间创建对等连接,函数定义如下:

    @required(bandwidth_in_mbps=int,
               local_vpc_id=(bytes, str),
               peer_vpc_id=(bytes, str),
               peer_region=(bytes, str))
    def create_peerconn(self, bandwidth_in_mbps, local_vpc_id,
                        peer_vpc_id, peer_region, description=None,
                        local_if_name=None, peer_account_id=None,
                        peer_if_name=None, client_token=None,
                        billing=None, config=None)

    参数说明如下:

    参数名称 类型 是否必需 描述
    bandwidth_in_mbps int 对等连接最大带宽,单位mbps
    local_vpc_id bytes或str 本端VPC ID
    peer_vpc_id bytes或str 对端VPC ID
    peer_region bytes或str 对端地域
    description bytes或str 描述
    local_if_name bytes或str 本端接口名称
    peer_account_id bytes或str 对端账号ID
    peer_if_name bytes或str 对端接口名称
    client_token bytes或str 幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token
    billing 自定义Billing类型 计费方式,默认为后付费,支持按月预付费购买,详见计费说明
    config BceClientConfiguration 默认为初始化peerconn_client时的config

    其中自定义Billing类型定义见peerconn_model.py 地域参数如下: | 名称 |取值 | | --- | --- | | 北京 | bj| | 广州 | gz| | 苏州 |su | | 上海 |fsh | | 香港|hkg | | 保定|bd | | 度小满金融专区|hb-fsg | | 武汉|fwh | | 新加坡|sin | | 度小满金融专区二|bjfsg |

    查询对等连接列表

    可以使用list_peerconns函数查询对等连接列表,函数定义如下:

    @required(vpc_id=(bytes, str))
    def list_peerconns(self, vpc_id, marker=None,
                       max_keys=None, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | vpc_id | bytes或str |是 |NAT网关所属VPC的ID | |marker | bytes或str | 否 |批量获取列表的查询的起始位置 | |maxKeys | int | 否 |每页包含的最大数量,最大数量不超过1000。缺省值为1000| |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    查询对等连接详情

    可以使用get_nat函数查询NAT详情,函数定义如下:

    @required(peer_conn_id=(bytes, str))
    def get_peerconn(self, peer_conn_id, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    更新对等连接本端接口名称和备注

    可以使用update_peerconn函数更新对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str), local_if_id=(bytes, str))
    def update_peerconn(self, peer_conn_id, local_if_id, description=None,
                        local_if_name=None, client_token=None, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |local_if_id | bytes或str | 是 |本端接口ID | |description | bytes或str | 否 |描述| |local_if_name | bytes或str | 否 |本端接口名称| |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    处理对等连接申请

    • 发起端发出的连接请求超时时间为7天,超时后发起端对等连接的状态为协商失败。
    • 接收端拒绝后,发起端对等连接状态为协商失败。

    可以使用handle_peerconn函数更新对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str), action=(bytes, str))
    def handle_peerconn(self, peer_conn_id, action, client_token=None,
                        config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |action | bytes或str | 是 |本接口中拒绝参数取值reject接受参数取值accept | |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    释放对等连接

    可以使用delete_peerconn函数释放对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str))
    def delete_peerconn(self, peer_conn_id, client_token=None,
                        config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    对等连接带宽升降级

    可以使用resize_peerconn函数释放对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str), new_bandwidth_in_mbps=int)
    def resize_peerconn(self, peer_conn_id, new_bandwidth_in_mbps,
                        client_token=None, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| | new_bandwidth_in_mbps | int | 是 |对等连接升级带宽| |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    对等连接续费

    • 后付费的对等连接不能续费。
    • 跨账号续费操作只能由发起端来操作。

    可以使用purchase_reserved_peerconn函数释放对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str))
    def purchase_reserved_peerconn(self, peer_conn_id, client_token=None,
                                   billing=None, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |billing | 自定义Billing类型 | 否 |计费方式,默认为1个月 | |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    开启对等连接同步DNS

    • 对等连接的状态为可用的时候才能开启DNS。
    • 对等连接的DNS状态为同步中或同步关闭中不可开启同步DNS。

    可以使用open_peerconn_dns_sync函数释放对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str), role=(bytes, str))
    def open_peerconn_dns_sync(self, peer_conn_id, role,
                               client_token=None, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |role | bytes或str | 是 |发起端"initiator" 接收端"acceptor" | |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    关闭对等连接同步DNS

    • 对等连接的状态为可用的时候才能关闭DNS。
    • 对等连接的DNS状态为同步中或同步关闭中不可关闭同步DNS。

    可以使用close_peerconn_dns_sync函数释放对等连接,函数定义如下:

    @required(peer_conn_id=(bytes, str), role=(bytes, str))
    def close_peerconn_dns_sync(self, peer_conn_id, role,
                                client_token=None, config=None)

    参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peer_conn_id | bytes或str | 是 |对等连接的ID| |role | bytes或str | 是 |发起端"initiator" 接收端"acceptor" | |client_token | bytes或str | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |config | BceClientConfiguration | 否 |默认为初始化peerconn_client时的config |

    上一篇
    NAT
    下一篇
    版本说明