NAT
获取Endpoint
在确认您使用SDK配置Endpoint时,可先阅读开发人员指南中关于 VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分,NAT服务是VPC服务的一部分,使用VPC服务域名。
获取密钥
要使用百度云产品,您需要拥有一个百度云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。可以通过如下步骤获得并了解您的AK/SK信息: 1. 注册百度云账号 2. 创建AK/SK
NatClient
NatClient是NAT服务的PHP客户端,NatClient将NAT服务的API进行封装,简化了开发者与NAT服务的交互,用户可调用NatClient中的方法对NAT网关进行配置,NatClient中方法返回参数与API方法一致。
新建NatClient
新建NatClient时,需要先使用Endpoint、AK、SK对g_NatConfigs进行配置,再使用g_NatConfigs对NatClient进行配置,具体配置方法如下:
$g_NatConfigs = array(
'credentials' => array(
'ak' => '',
'sk' => '',
),
'endpoint' => '',
);
public $client;
client = new NatClient($g_NatConfigs);
创建NAT网关
可以使用createNat函数在制定VPC内创建网关,函数定义如下:
public function createNat($name, $vpcId, $spec, $eips = null, $billing = null, $clientToken = null, $options = array())
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
name | string | 是 | NAT网关的名称,由大小写字母、数字以及-_ /.特殊字符组成,必须以字母开头,长度1-65 |
vpcId | string | 是 | NAT网关所属VPC的ID |
spec | string | 是 | NAT网关的大小,有small(最多支持绑定5个公网IP)、medium(最多支持绑定10个公网IP)、large(最多支持绑定15个公网IP)三种 |
billing | 自定义Billing类型 | 否 | 计费方式,默认为后付费,支持按月预付费购买,详见计费说明 |
eips | array | 否 | NAT网关绑定的EIP |
clientToken | string | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token |
options | array | 否 | 附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
其中自定义Billing类型定义见Billing.php
查询NAT网关列表
可以使用listNats函数查询NAT网关列表,若指定查询条件,则按查询条件进行筛选,若不提供查询条件,则默认查询所有NAT网关,函数定义如下:
public function listNats($vpcId, $natId = null, $name = null, $ip = null, $marker = null, $maxKeys = 1000,$options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | vpcId | string |是 |NAT网关所属VPC的ID | | natId | string | 否 |NAT网关的ID| | name | string | 否 |NAT网关的名称| |ip | string | 否 |网关绑定的IP地址 | |marker | string | 否 |批量获取列表的查询的起始位置 | |maxKeys | int | 否 |每页包含的最大数量,最大数量不超过1000。缺省值为1000| |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
查询NAT网关详情
可以使用detailNats函数查询NAT详情,函数定义如下:
public function detailNats($natId, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | natId |string | 是 |NAT网关的ID| |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
更新NAT网关名称
可以使用renameNat函数更新NAT网关名称,函数定义如下:
public function renameNat($natId, $name, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | natId | string | 是 |NAT网关的ID | |name | string | 是 |NAT网关的新名称 | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
绑定EIP
可以使用bindNat函数为NAT网关绑定EIP,函数定义如下:
public function bindNat($eips, $natId, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | natId | string | 是 |NAT网关的ID | |eips | array | 是 |NAT网关需要绑定的EIP | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
解绑EIP
可以使用unbindNat函数为NAT网关解绑EIP,函数定义如下:
public function unbindNat($eips, $natId, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | natId | string | 是 |NAT网关的ID | |eips | array | 是 |NAT网关需要解绑的EIP | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
释放NAT网关
可以使用releaseNat函数释放NAT网关,函数定义如下:
public function releaseNat($natId, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | natId | string | 是 |NAT网关的ID | |clientToken | string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array | 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |
NAT网关续费
可以使用purchaseReservedNat函数对NAT网关进行续费操作,仅预付费类型支持续费操作,函数定义如下:
public function purchaseReservedNat($natId, $billing = null, $clientToken = null, $options = array())
参数说明如下: | 参数名称 |类型 |是否必需 |描述 | | --- | --- | --- | --- | | natId |string| 是 |NAT网关的ID | |billing |自定义Billing类型|否 |计费方式,不填则默认续费1个月,详见计费说明 | |clientToken| string | 否 |幂等性Token,是一个长度不超过64位的ASCII字符串,详见幂等性Token | |options | array| 否 |附加配置,可以使用option中的参数临时替换NatClient中的默认参数(AK,SK,Endpoint) |