结合 Amazon EC2 与 AWS SDK for PHP 版本 3 来使用弹性 IP 地址 - AWS SDK for PHP

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

结合 Amazon EC2 与 AWS SDK for PHP 版本 3 来使用弹性 IP 地址

弹性 IP 地址是专为动态云计算设计的静态 IP 地址。弹性 IP 地址与您的 AWS 账户 关联。它是公有 IP 地址,可从 Internet 访问。如果您的实例没有公有 IP 地址,则可以将弹性 IP 地址与您的实例关联以启用与 Internet 的通信。

以下示例演示如何:

的所有示例代码都可以在此AWS SDK for PHP处找到 GitHub

凭证

运行示例代码之前,请配置您的 AWS 凭证,如 凭证 中所述。然后导入 AWS 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';

示例代码

$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';

示例代码

$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $associationID = 'AssociationID'; $allocationID = 'AllocationID'; $result = $ec2Client->disassociateAddress([ 'AssociationId' => $associationID, ]); $result = $ec2Client->releaseAddress([ 'AllocationId' => $allocationID, ]); var_dump($result);