本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将弹性 IP 地址与 Amazon EC2 结合使用Amazon SDK for PHP版本 3
弹性 IP 地址是专为动态云计算设计的静态 IP 地址。弹性 IP 地址与您的Amazonaccount. 它是公有 IP 地址,可从 Internet 访问。如果您的实例没有公有 IP 地址,则可以将弹性 IP 地址与您的实例关联以启用与 Internet 的通信。
以下示例演示如何:
-
使用 DescribeInstances 描述一个或多个实例。
-
使用 AllocateAddress 获取弹性 IP 地址。
-
使用 AssociateAddress 将弹性 IP 地址与实例关联。
-
使用 ReleaseAddress 释放弹性 IP 地址。
Amazon SDK for PHPGitHub 上提供了
凭证
运行示例代码之前,请配置您的Amazon凭证,如中所述设置 凭证. 然后导入Amazon SDK for PHP,如中所述基本用法.
描述实例
导入
require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $result = $ec2Client->describeInstances(); echo "Instances: \n"; foreach ($result['Reservations'] as $reservation) { foreach ($reservation['Instances'] as $instance) { echo "InstanceId: {$instance['InstanceId']} - {$instance['State']['Name']} \n"; } }
分配和关联地址
导入
require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $instanceId = 'InstanceID'; $allocation = $ec2Client->allocateAddress(array( 'DryRun' => false, 'Domain' => 'vpc', )); $result = $ec2Client->associateAddress(array( 'DryRun' => false, 'InstanceId' => $instanceId, 'AllocationId' => $allocation->get('AllocationId') )); var_dump($result);
发布地址
导入
require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $associationID = 'AssociationID'; $allocationID = 'AllocationID'; $result = $ec2Client->disassociateAddress(array( 'AssociationId' => $associationID, )); $result = $ec2Client->releaseAddress(array( 'AllocationId' => $allocationID, )); var_dump($result);