Administración de instancias de Amazon EC2 con la versión 3 de AWS SDK para PHP - AWS SDK para PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de instancias de Amazon EC2 con la versión 3 de AWS SDK para PHP

Los siguientes ejemplos muestran cómo:

  • Describir instancias EC2 utilizando DescribeInstances.

  • Habilitar el monitoreo detallado de una instancia en ejecución utilizando MonitorInstances.

  • Deshabilitar el monitoreo de una instancia en ejecución utilizando UnmonitorInstances.

  • Inicie una AMI basada en Amazon EBS que haya detenido previamente, utilizando StartInstances.

  • Detenga una instancia basada en Amazon EBS utilizando StopInstances.

  • Solicitar un reinicio de una o varias instancias utilizando RebootInstances.

Todo el código de ejemplo de AWS SDK para PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación AWS con la AWS SDK para PHP versión 3. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.

Descripción de instancias

Importaciones

require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;

Código de muestra

$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 y deshabilitar el monitoreo

Importaciones

require 'vendor/autoload.php';

Código de muestra

$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 y detener una instancia

Importaciones

require 'vendor/autoload.php';

Código de muestra

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

Reinicio de una instancia

Importaciones

require 'vendor/autoload.php';

Código de muestra

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