对等连接
获取Endpoint
在确认您使用SDK配置Endpoint时,可先阅读开发人员指南中关于 VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分,对等连接服务是VPC服务的一部分,使用VPC服务域名。
获取密钥
要使用百度云产品,您需要拥有一个百度云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。可以通过如下步骤获得并了解您的AK/SK信息: 1. 注册百度云账号 2. 创建AK/SK
PeerConnClient
PeerConnClient将对等连接服务的API进行封装,简化了开发者与对等连接服务的交互,用户可调用PeerConnClient中的方法对对等连接进行配置。
新建PeerConnClient
新建PeerConnClient时,需要先使用Endpoint、AK、SK对g_PeerConnConfigs进行配置,再使用g_PeerConnConfigs对PeerConnClient进行配置,具体配置方法如下:
$g_PeerConnConfigs = array(
'credentials' => array(
'ak' => '',
'sk' => '',
),
'endpoint' => '',
);
public $client;
client = new PeerConnClient($g_PeerConnConfigs);
创建对等连接
创建对等连接时,需注意:
- 对于同账号的对等连接,系统会触发对端自动接受。
- 跨账号的对等连接,必须接受端接受后对等连接才可用。
- 对于本端区域和对端区域相同的对等连接,billing参数只支持后付费(需要传billing参数,但是计费账单为0)。
- 任意两个VPC之间最多只能存在一条对等连接。
- 发起端和接收端的VPC不能是同一个。
- 如果本端vpc和对端vpc均为中继vpc,则不可以建立对等连接。
可以使用createPeerConn函数在制定VPC内创建对等连接,函数定义如下:
public function createPeerConn($bandwidthInMbps, $localVpcId, $peerVpcId, $peerRegion, $billing, $peerAccountId = null, $peerIfName = null, $description = null, $localIfName = null, $clientToken = null, $options = array())
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
bandwidthInMbps | int | 是 | 对等连接最大带宽,单位mbps |
localVpcId | string | 是 | 本端VPC ID |
peerVpcId | string | 是 | 对端VPC ID |
peerRegion | string | 是 | 对端地域 |
description | string | 否 | 描述 |
localIfName | string | 否 | 本端接口名称 |
peerAccountId | string | 否 | 对端账号ID |
peerIfName | string | 否 | 对端接口名称 |
billing | 自定义Billing类型 | 是 | 计费方式,支持后付费以及按月预付费购买,详见计费说明 |
clientToken | string | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token |
options | array | 否 | 附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
其中自定义Billing类型定义见Billing.php 地域参数如下:
名称 | 取值 |
---|---|
北京 | bj |
广州 | gz |
苏州 | su |
上海 | fsh |
香港 | hkg |
保定 | bd |
度小满金融专区 | hb-fsg |
武汉 | fwh |
新加坡 | sin |
度小满金融专区二 | bjfsg |
查询对等连接列表
可以使用listPeerConns函数查询对等连接列表,函数定义如下:
public function listPeerConns($vpcId, $marker = null, $maxKeys = 1000, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | vpcId | string |是 |对等连接VPC的ID | |marker | string |否|批量获取列表的查询的起始位置 | |maxKeys | int |否|每页包含的最大数量,最大数量不超过1000。缺省值为1000| |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
查询对等连接详情
可以使用getPeerConn函数查询对等连接详情,函数定义如下:
public function getPeerConn($peerConnId, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
更新对等连接本端接口名称和备注
可以使用updatePeerConn函数更新对等连接,函数定义如下:
public function updatePeerConn($peerConnId, $localIfId, $localIfName = null, $description = null, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |localIfId | string | 是 |本端接口ID | |description | string | 否 |描述| |localIfName | string | 否 |本端接口名称| |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
处理对等连接申请
- 发起端发出的连接请求超时时间为7天,超时后发起端对等连接的状态为协商失败。
- 接收端拒绝后,发起端对等连接状态为协商失败。
可以使用acceptPeerConnApply函数接受对等连接,函数定义如下:
public function acceptPeerConnApply($peerConnId, $clientToken = null, $options = array())
可以使用rejectPeerConnApply函数拒绝对等连接,函数定义如下:
public function rejectPeerConnApply($peerConnId, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
释放对等连接
可以使用releasePeerConn函数释放对等连接,函数定义如下:
public function releasePeerConn($peerConnId, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
对等连接带宽升降级
可以使用resizePeerConn函数释放对等连接,函数定义如下:
public function resizePeerConn($peerConnId, $newBandwidthInMbps, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| | newBandwidthInMbps | int | 是 |对等连接最大带宽,单位mbps | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
对等连接续费
- 后付费的对等连接不能续费。
- 跨账号续费操作只能由发起端来操作。
可以使用purchaseReservedPeerConn函数释放对等连接,函数定义如下:
public function purchaseReservedPeerConn($peerConnId, $billing, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |billing | 自定义Billing类型 | 是 |计费方式,详见计费说明 | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
开启对等连接同步DNS
- 对等连接的状态为可用的时候才能开启DNS。
- 对等连接的DNS状态为同步中或同步关闭中不可开启同步DNS。
可以使用openPeerConnSyncDns函数释放对等连接,函数定义如下:
public function openPeerConnSyncDns($peerConnId, $role, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |role | string | 是 |发起端"initiator" 接收端"acceptor" | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
关闭对等连接同步DNS
- 对等连接的状态为可用的时候才能关闭DNS。
- 对等连接的DNS状态为同步中或同步关闭中不可关闭同步DNS。
可以使用closePeerConnSyncDns函数释放对等连接,函数定义如下:
public function closePeerConnSyncDns($peerConnId, $role, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | peerConnId | string | 是 |对等连接的ID| |role | string | 是 |发起端"initiator" 接收端"acceptor" | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |