

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# EC2 Exemples Amazon utilisant la AWS SDK pour PHP version 3
<a name="ec2-examples"></a>

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit un hébergement de serveurs virtuels dans le cloud. Il est conçu pour faciliter le cloud computing à l'échelle du Web pour les développeurs en fournissant une capacité de calcul redimensionnable.

Tous les exemples de code pour le AWS SDK pour PHP sont [disponibles ici GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Informations d’identification
<a name="examplecredentials"></a>

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dans[Authentification à l' AWS aide de AWS SDK pour PHP la version 3](credentials.md). Importez ensuite le AWS SDK pour PHP, comme décrit dans[Installation de la AWS SDK pour PHP version 3](getting-started_installation.md).

**Topics**
+ [Informations d’identification](#examplecredentials)
+ [Gestion des EC2 instances Amazon](ec2-examples-managing-instances.md)
+ [Utilisation d'adresses IP élastiques](ec2-examples-using-elastic-ip-addresses.md)
+ [Utilisation des régions et des zones de disponibilité](ec2-examples-using-regions-and-zones.md)
+ [Utilisation de paires de clés](ec2-examples-working-with-key-pairs.md)
+ [Utilisation des groupes de sécurité](ec2-examples-using-security-groups.md)

# Gestion des EC2 instances Amazon à l'aide de la AWS SDK pour PHP version 3
<a name="ec2-examples-managing-instances"></a>

Les exemples suivants montrent comment :
+ Décrivez EC2 les instances Amazon utilisant [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Activez la surveillance détaillée d'une instance en cours d'exécution à l'aide de [MonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#monitorinstances).
+ Désactivez la surveillance d'une instance en cours d'exécution à l'aide de [UnmonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#unmonitorinstances).
+ Démarrez une AMI basée sur Amazon EBS que vous avez précédemment arrêtée d'utiliser. [StartInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#startinstances)
+ Arrêtez l'utilisation d'une instance basée sur Amazon EBS. [StopInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#stopinstances)
+ Demandez le redémarrage d'une ou de plusieurs instances à l'aide de [RebootInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#rebootinstances).

Tous les exemples de code pour le AWS SDK pour PHP sont [disponibles ici GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Informations d’identification
<a name="examplecredentials"></a>

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dans[Authentification à l' AWS aide de AWS SDK pour PHP la version 3](credentials.md). Importez ensuite le AWS SDK pour PHP, comme décrit dans[Installation de la AWS SDK pour PHP version 3](getting-started_installation.md).

## Décrire des instances
<a name="describe-instances"></a>

 **Importations** 

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

use Aws\Ec2\Ec2Client;
```

 **Exemple de code** 

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

## Activer et désactiver la surveillance
<a name="enable-and-disable-monitoring"></a>

 **Importations** 

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

 **Exemple de code** 

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

## lancer et arrêter une instance  ;
<a name="start-and-stop-an-instance"></a>

 **Importations** 

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

 **Exemple de code** 

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

## Redémarrer une instance
<a name="reboot-an-instance"></a>

 **Importations** 

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

 **Exemple de code** 

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

# Utilisation d'adresses IP élastiques avec Amazon EC2 version 3 AWS SDK pour PHP
<a name="ec2-examples-using-elastic-ip-addresses"></a>

Une EIP est une adresse IP statique conçue pour le cloud computing. Une adresse IP élastique est associée à votre Compte AWS. Il s'agit d'une adresse IP publique accessible depuis Internet. Si votre instance ne dispose pas d'une adresse IP publique, vous pouvez lui associer une adresse IP Elastic pour établir la communication avec Internet.

Les exemples suivants montrent comment :
+ Décrivez une ou plusieurs de vos instances en utilisant [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Obtenez une adresse IP élastique à l'aide de [AllocateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#allocateaddress).
+ Associez une adresse IP élastique à une instance à l'aide de [AssociateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#associateaddress).
+ Libérez une adresse IP élastique à l'aide de [ReleaseAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#releaseaddress).

Tous les exemples de code pour le AWS SDK pour PHP sont [disponibles ici GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Informations d’identification
<a name="examplecredentials"></a>

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dans[Authentification à l' AWS aide de AWS SDK pour PHP la version 3](credentials.md). Importez ensuite le AWS SDK pour PHP, comme décrit dans[Installation de la AWS SDK pour PHP version 3](getting-started_installation.md).

## Décrire une instance
<a name="describe-an-instance"></a>

 **Importations** 

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

use Aws\Ec2\Ec2Client;
```

 **Exemple de code** 

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

## Attribuer et associer une adresse
<a name="allocate-and-associate-an-address"></a>

 **Importations** 

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

 **Exemple de code** 

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

## Publier une adresse
<a name="release-an-address"></a>

 **Importations** 

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

 **Exemple de code** 

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

# Utilisation des régions et des zones de disponibilité pour Amazon EC2 avec AWS SDK pour PHP la version 3
<a name="ec2-examples-using-regions-and-zones"></a>

Amazon EC2 est hébergé sur plusieurs sites dans le monde entier. Ces emplacements sont composés de AWS régions et de zones de disponibilité. Chaque région est une zone géographique distincte, avec plusieurs emplacements isolés appelés zones de disponibilité. Amazon EC2 permet de placer des instances et des données sur plusieurs sites.

Les exemples suivants montrent comment :
+ Décrivez les zones de disponibilité que vous pouvez utiliser [DescribeAvailabilityZones](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeavailabilityzones).
+ Décrivez les AWS régions que vous pouvez actuellement utiliser [DescribeRegions](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeregions).

Tous les exemples de code pour le AWS SDK pour PHP sont [disponibles ici GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Informations d’identification
<a name="examplecredentials"></a>

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dans[Authentification à l' AWS aide de AWS SDK pour PHP la version 3](credentials.md). Importez ensuite le AWS SDK pour PHP, comme décrit dans[Installation de la AWS SDK pour PHP version 3](getting-started_installation.md).

## Décrire les zones de disponibilité
<a name="describe-availability-zones"></a>

 **Importations** 

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

 **Exemple de code** 

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

$result = $ec2Client->describeAvailabilityZones();

var_dump($result);
```

## Décrire les régions
<a name="describe-regions"></a>

 **Importations** 

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

 **Exemple de code** 

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

$result = $ec2Client->describeRegions();

var_dump($result);
```

# Utilisation des paires de EC2 clés Amazon avec AWS SDK pour PHP la version 3
<a name="ec2-examples-working-with-key-pairs"></a>

Amazon EC2 utilise le chiffrement à clé publique pour chiffrer et déchiffrer les informations de connexion. Le chiffrement de clé publique utilise une clé publique pour chiffrer les données. Ensuite, le destinataire utilise la clé privée pour déchiffrer les données. La clé publique et la clé privée constituent une paire de clés.

Les exemples suivants montrent comment :
+ Créez une paire de clés RSA 2048 bits à l'aide de. [CreateKeyPair](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#createkeypair)
+ Supprimez une paire de clés spécifiée à l'aide de [DeleteKeyPair](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#deletekeypair).
+ Décrivez une ou plusieurs de vos paires de clés en utilisant [DescribeKeyPairs](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describekeypairs).

Tous les exemples de code pour le AWS SDK pour PHP sont [disponibles ici GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Informations d’identification
<a name="examplecredentials"></a>

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dans[Authentification à l' AWS aide de AWS SDK pour PHP la version 3](credentials.md). Importez ensuite le AWS SDK pour PHP, comme décrit dans[Installation de la AWS SDK pour PHP version 3](getting-started_installation.md).

## Création d’une paire de clés
<a name="create-a-key-pair"></a>

 **Importations** 

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

 **Exemple de code** 

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

$keyPairName = 'my-keypair';

$result = $ec2Client->createKeyPair(array(
    'KeyName' => $keyPairName
));

// Save the private key
$saveKeyLocation = getenv('HOME') . "/.ssh/{$keyPairName}.pem";
file_put_contents($saveKeyLocation, $result['keyMaterial']);

// Update the key's permissions so it can be used with SSH
chmod($saveKeyLocation, 0600);
```

## Supprimer une paire de clés
<a name="delete-a-key-pair"></a>

 **Importations** 

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

 **Exemple de code** 

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

$keyPairName = 'my-keypair';

$result = $ec2Client->deleteKeyPair(array(
    'KeyName' => $keyPairName
));

var_dump($result);
```

## Décrire des paires de clés
<a name="describe-key-pairs"></a>

 **Importations** 

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

 **Exemple de code** 

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

$result = $ec2Client->describeKeyPairs();

var_dump($result);
```

# Utilisation des groupes de sécurité dans Amazon EC2 avec AWS SDK pour PHP la version 3
<a name="ec2-examples-using-security-groups"></a>

Un groupe EC2 de sécurité Amazon agit comme un pare-feu virtuel qui contrôle le trafic d'une ou de plusieurs instances. Vous ajoutez des règles à chaque groupe de sécurité pour autoriser le trafic vers ou depuis ses instances associées. Vous pouvez modifier les règles pour un groupe de sécurité à la fois. Les nouvelles règles sont automatiquement appliquées à toutes les instances associées au groupe de sécurité.

Les exemples suivants montrent comment :
+ Décrivez un ou plusieurs de vos groupes de sécurité en utilisant [DescribeSecurityGroups](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describesecuritygroups).
+ Ajoutez une règle d'entrée à un groupe de sécurité à l'aide [AuthorizeSecurityGroupIngress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#authorizesecuritygroupingress)de.
+ Créez un groupe de sécurité à l'aide de [CreateSecurityGroup](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#createsecuritygroup).
+ Supprimez un groupe de sécurité à l'aide de [DeleteSecurityGroup](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#deletesecuritygroup).

Tous les exemples de code pour le AWS SDK pour PHP sont [disponibles ici GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Informations d’identification
<a name="examplecredentials"></a>

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dans[Authentification à l' AWS aide de AWS SDK pour PHP la version 3](credentials.md). Importez ensuite le AWS SDK pour PHP, comme décrit dans[Installation de la AWS SDK pour PHP version 3](getting-started_installation.md).

## Décrire des groupes de sécurité
<a name="describe-security-groups"></a>

 **Importations** 

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

 **Exemple de code** 

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

$result = $ec2Client->describeSecurityGroups();

var_dump($result);
```

## Ajouter une règle d'entrée
<a name="add-an-ingress-rule"></a>

 **Importations** 

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

 **Exemple de code** 

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

$result = $ec2Client->authorizeSecurityGroupIngress(array(
    'GroupName' => 'string',
    'SourceSecurityGroupName' => 'string'
));

var_dump($result);
```

## Création d’un groupe de sécurité
<a name="create-a-security-group"></a>

 **Importations** 

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

 **Exemple de code** 

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

// Create the security group
$securityGroupName = 'my-security-group';
$result = $ec2Client->createSecurityGroup(array(
    'GroupId' => $securityGroupName,

));

// Get the security group ID (optional)
$securityGroupId = $result->get('GroupId');

echo "Security Group ID: " . $securityGroupId . '\n';
```

## Supprimer un groupe de sécurité
<a name="delete-a-security-group"></a>

 **Importations** 

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

 **Exemple de code** 

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

$securityGroupId = 'my-security-group-id';

$result = $ec2Client->deleteSecurityGroup([
    'GroupId' => $securityGroupId
]);

var_dump($result);
```