

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS SDK for PHP 버전 3에서 Amazon EC2와 함께 탄력적 IP 주소 사용
<a name="ec2-examples-using-elastic-ip-addresses"></a>

탄력적 IP 주소는 동적 클라우드 컴퓨팅을 위해 고안된 고정 IP 주소입니다. 탄력적 IP 주소는와 연결됩니다 AWS 계정. 퍼블릭 IP 주소로 인터넷에서 연결할 수 있습니다. 인스턴스에 퍼블릭 IP 주소가 없는 경우 탄력적 IP 주소를 인스턴스에 연결하여 인터넷과의 통신을 활성화할 수 있습니다.

다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.
+ [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances)를 사용하여 하나 이상의 인스턴스를 설명합니다.
+ [AllocateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#allocateaddress)를 사용하여 탄력적 IP 주소를 획득합니다.
+ [AssociateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#associateaddress)를 사용하여 탄력적 IP 주소를 인스턴스와 연결합니다.
+ [ReleaseAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#releaseaddress)를 사용하여 탄력적 IP 주소를 해제합니다.

에 대한 모든 예제 코드는 GitHub에서 확인할 AWS SDK for PHP 수 있습니다. [ GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)

## 자격 증명
<a name="examplecredentials"></a>

예제 코드를 실행하기 전에에 설명된 대로 AWS 자격 증명을 구성합니다[AWS SDK for PHP 버전 3을 AWS 사용하여 로 인증](credentials.md). 그런 다음 AWS SDK for PHP에 설명된 대로를 가져옵니다[AWS SDK for PHP 버전 3 설치](getting-started_installation.md).

## 인스턴스 설명
<a name="describe-an-instance"></a>

 **가져오기** 

```
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";
    }
}
```

## 주소 할당 및 연결
<a name="allocate-and-associate-an-address"></a>

 **가져오기** 

```
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);
```

## 주소 릴리스
<a name="release-an-address"></a>

 **가져오기** 

```
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);
```