

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciamento de instâncias do Amazon EC2 usando o AWS SDK para PHP versão 3
<a name="ec2-examples-managing-instances"></a>

Os exemplos a seguir mostram como:
+ Descrever instâncias do Amazon EC2 usando [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Habilitar o monitoramento detalhado de uma instância em execução usando [MonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#monitorinstances).
+ Desabilitar o monitoramento de uma instância em execução usando [UnmonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#unmonitorinstances).
+ Iniciar uma AMI baseada no Amazon EBS interrompida anteriormente usando [StartInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#startinstances).
+ Interromper uma instância baseada no Amazon EBS usando [StopInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#stopinstances).
+ Solicitar a reinicialização de uma ou mais instâncias usando [RebootInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#rebootinstances).

O código de exemplo completo do AWS SDK para PHP está disponível [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Credenciais
<a name="examplecredentials"></a>

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em [Autenticando com o AWS uso da AWS SDK para PHP versão 3](credentials.md). Em seguida, importe o AWS SDK para PHP, conforme descrito em [Instalando a AWS SDK para PHP versão 3](getting-started_installation.md).

## Descrever instâncias
<a name="describe-instances"></a>

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Ec2\Ec2Client;
```

 **Código de exemplo** 

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

## Habilitar e desabilitar o monitoramento
<a name="enable-and-disable-monitoring"></a>

 **Importações** 

```
require 'vendor/autoload.php';
```

 **Código de exemplo** 

```
$ec2Client = new Aws\Ec2\Ec2Client([
    'region' => 'us-west-2',
    'version' => '2016-11-15',
    'profile' => 'default'
]);

$instanceIds = ['InstanceID1', 'InstanceID2'];

$monitorInstance = 'ON';

if ($monitorInstance == 'ON') {
    $result = $ec2Client->monitorInstances([
        'InstanceIds' => $instanceIds
    ]);
} else {
    $result = $ec2Client->unmonitorInstances([
        'InstanceIds' => $instanceIds
    ]);
}

var_dump($result);
```

## Iniciar e interromper uma instância do
<a name="start-and-stop-an-instance"></a>

 **Importações** 

```
require 'vendor/autoload.php';
```

 **Código de exemplo** 

```
$ec2Client = new Aws\Ec2\Ec2Client([
    'region' => 'us-west-2',
    'version' => '2016-11-15',
    'profile' => 'default'
]);

$action = 'START';

$instanceIds = ['InstanceID1', 'InstanceID2'];

if ($action == 'START') {
    $result = $ec2Client->startInstances([
        'InstanceIds' => $instanceIds,
    ]);
} else {
    $result = $ec2Client->stopInstances([
        'InstanceIds' => $instanceIds,
    ]);
}

var_dump($result);
```

## Reinicializar uma instância
<a name="reboot-an-instance"></a>

 **Importações** 

```
require 'vendor/autoload.php';
```

 **Código de exemplo** 

```
$ec2Client = new Aws\Ec2\Ec2Client([
    'region' => 'us-west-2',
    'version' => '2016-11-15',
    'profile' => 'default'
]);

$instanceIds = ['InstanceID1', 'InstanceID2'];

$result = $ec2Client->rebootInstances([
    'InstanceIds' => $instanceIds
]);

var_dump($result);
```