

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# EC2 Amazon-Beispiele mit der AWS SDK für PHP Version 3
<a name="ec2-examples"></a>

Amazon Elastic Compute Cloud (Amazon EC2) ist ein Webservice, der virtuelles Server-Hosting in der Cloud bietet. Er wurde entwickelt, um Entwicklern Cloud-Computing im Web-Scale-Maßstab zu erleichtern, indem er eine skalierbare Rechenkapazität bietet.

[Der gesamte Beispielcode für AWS SDK für PHP ist hier verfügbar. GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)

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

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

**Topics**
+ [Anmeldeinformationen](#examplecredentials)
+ [Verwaltung von EC2 Amazon-Instances](ec2-examples-managing-instances.md)
+ [Verwendung von Elastic IP-Adressen](ec2-examples-using-elastic-ip-addresses.md)
+ [Regionen und Verfügbarkeitszonen verwenden](ec2-examples-using-regions-and-zones.md)
+ [Mit Schlüsselpaaren arbeiten](ec2-examples-working-with-key-pairs.md)
+ [Arbeiten mit Sicherheitsgruppen](ec2-examples-using-security-groups.md)

# Verwaltung von EC2 Amazon-Instances mit AWS SDK für PHP Version 3
<a name="ec2-examples-managing-instances"></a>

In den nachstehenden Beispielen wird Folgendes veranschaulicht:
+ Beschreiben Sie EC2 Amazon-Instances mithilfe von [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Aktivieren Sie die detaillierte Überwachung für eine laufende Instance mithilfe von [MonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#monitorinstances).
+ Deaktivieren Sie die Überwachung für eine laufende Instanz mit [UnmonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#unmonitorinstances).
+ Starten Sie ein Amazon EBS-backed AMI, das Sie zuvor nicht mehr verwenden. [StartInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#startinstances)
+ Stoppen Sie die Verwendung einer Amazon EBS-gestützten Instance. [StopInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#stopinstances)
+ Fordern Sie einen Neustart einer oder mehrerer Instances an mit. [RebootInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#rebootinstances)

Der gesamte Beispielcode für AWS SDK für PHP ist [hier verfügbar GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

## Beschreiben von Instances
<a name="describe-instances"></a>

 **Importe** 

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

use Aws\Ec2\Ec2Client;
```

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

## Aktivieren und deaktivieren Sie die Überwachung
<a name="enable-and-disable-monitoring"></a>

 **Importe** 

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

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

## Starten und beenden Sie eine Instanz
<a name="start-and-stop-an-instance"></a>

 **Importe** 

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

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

## Neustarten einer Instance
<a name="reboot-an-instance"></a>

 **Importe** 

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

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

# Verwenden von Elastic IP-Adressen mit Amazon EC2 mit AWS SDK für PHP Version 3
<a name="ec2-examples-using-elastic-ip-addresses"></a>

Eine Elastic IP-Adresse ist eine statische IP-Adresse, die für dynamisches Cloud Computing konzipiert ist. Eine Elastic IP-Adresse ist mit Ihrer AWS-Konto verknüpft. Es ist eine öffentliche IP-Adresse, die aus dem Internet erreichbar ist. Wenn Ihre Instance keine öffentliche IP-Adresse hat, können Sie eine Elastic IP-Adresse mit der Instance verwenden, damit diese mit dem Internet kommunizieren kann.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:
+ Beschreiben Sie eine oder mehrere Ihrer Instances mithilfe von [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Erwerben Sie eine Elastic IP-Adresse mit [AllocateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#allocateaddress).
+ Ordnen Sie eine Elastic IP-Adresse einer Instance zu, indem Sie [AssociateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#associateaddress).
+ Geben Sie eine Elastic IP-Adresse frei mit [ReleaseAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#releaseaddress).

Der gesamte Beispielcode für die AWS SDK für PHP ist [hier verfügbar GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

## Beschreiben Sie eine Instanz
<a name="describe-an-instance"></a>

 **Importe** 

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

use Aws\Ec2\Ec2Client;
```

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

## Ordnen Sie eine Adresse zu und ordnen Sie sie zu
<a name="allocate-and-associate-an-address"></a>

 **Importe** 

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

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

## Geben Sie eine Adresse frei
<a name="release-an-address"></a>

 **Importe** 

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

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

# Verwenden von Regionen und Verfügbarkeitszonen für Amazon EC2 mit AWS SDK für PHP Version 3
<a name="ec2-examples-using-regions-and-zones"></a>

Amazon EC2 wird an mehreren Standorten weltweit gehostet. Diese Standorte bestehen aus AWS Regionen und Verfügbarkeitszonen. Jede Region ist ein separates geografisches Gebiet mit mehreren isolierten Standorten, die als Availability Zones bezeichnet werden. Amazon EC2 bietet die Möglichkeit, Instanzen und Daten an mehreren Standorten zu platzieren.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:
+ Beschreiben Sie die Availability Zones, die Ihnen zur Verfügung stehen [DescribeAvailabilityZones](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeavailabilityzones).
+ Beschreiben Sie die AWS Regionen, die Ihnen derzeit zur Verfügung stehen [DescribeRegions](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeregions).

Der gesamte Beispielcode für die AWS SDK für PHP ist [hier verfügbar GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

## Beschreiben von Availability Zones
<a name="describe-availability-zones"></a>

 **Importe** 

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

 **Beispiel-Code** 

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

$result = $ec2Client->describeAvailabilityZones();

var_dump($result);
```

## Beschreiben von Regionen
<a name="describe-regions"></a>

 **Importe** 

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

 **Beispiel-Code** 

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

$result = $ec2Client->describeRegions();

var_dump($result);
```

# Arbeiten mit EC2 Amazon-Schlüsselpaaren mit AWS SDK für PHP Version 3
<a name="ec2-examples-working-with-key-pairs"></a>

Amazon EC2 verwendet Public-Key-Kryptografie, um Anmeldeinformationen zu verschlüsseln und zu entschlüsseln. Bei der Kryptografie für öffentliche Schlüssel werden Daten mithilfe eines öffentlichen Schlüssels verschlüsselt. Anschließend verwendet der Empfänger den privaten Schlüssel zum Entschlüsseln der Daten. Der öffentliche und der private Schlüssel werden als Schlüsselpaar bezeichnet.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:
+ Erstellen Sie ein 2048-Bit-RSA-Schlüsselpaar mit. [CreateKeyPair](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#createkeypair)
+ Löscht ein angegebenes key pair mit [DeleteKeyPair](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#deletekeypair).
+ Beschreiben Sie eines oder mehrere Ihrer Schlüsselpaare mithilfe von [DescribeKeyPairs](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describekeypairs).

Der gesamte Beispielcode für die AWS SDK für PHP ist [hier verfügbar GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

## Erstellen eines Schlüsselpaares
<a name="create-a-key-pair"></a>

 **Importe** 

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

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

## Löschen eines Schlüsselpaars
<a name="delete-a-key-pair"></a>

 **Importe** 

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

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

## Beschreiben von Schlüsselpaaren
<a name="describe-key-pairs"></a>

 **Importe** 

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

 **Beispiel-Code** 

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

$result = $ec2Client->describeKeyPairs();

var_dump($result);
```

# Arbeiten mit Sicherheitsgruppen in Amazon EC2 mit AWS SDK für PHP Version 3
<a name="ec2-examples-using-security-groups"></a>

Eine EC2 Amazon-Sicherheitsgruppe fungiert als virtuelle Firewall, die den Datenverkehr für eine oder mehrere Instances steuert. Sie fügen jeder Sicherheitsgruppe Regeln hinzu, um den Datenaustausch mit den verknüpften Instances zu gestatten. Sie können die Regeln für eine Sicherheitsgruppe jederzeit ändern. Die neuen Regeln gelten automatisch für alle Instances, die der Sicherheitsgruppe zugewiesen sind.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:
+ Beschreiben Sie eine oder mehrere Ihrer Sicherheitsgruppen mithilfe von [DescribeSecurityGroups](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describesecuritygroups).
+ Fügen Sie einer Sicherheitsgruppe eine Eingangsregel hinzu mit [AuthorizeSecurityGroupIngress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#authorizesecuritygroupingress).
+ Erstellen Sie eine Sicherheitsgruppe mit [CreateSecurityGroup](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#createsecuritygroup).
+ Löschen Sie eine Sicherheitsgruppe mit [DeleteSecurityGroup](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#deletesecuritygroup).

Der gesamte Beispielcode für die AWS SDK für PHP ist [hier verfügbar GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Authentifizierung AWS mit AWS SDK für PHP Version 3](credentials.md). Importieren Sie dann die AWS SDK für PHP, wie unter beschrieben[Installation der AWS SDK für PHP Version 3](getting-started_installation.md).

## Beschreiben von Sicherheitsgruppen
<a name="describe-security-groups"></a>

 **Importe** 

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

 **Beispiel-Code** 

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

$result = $ec2Client->describeSecurityGroups();

var_dump($result);
```

## Fügen Sie eine Eingangsregel hinzu
<a name="add-an-ingress-rule"></a>

 **Importe** 

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

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

## Eine Sicherheitsgruppe erstellen
<a name="create-a-security-group"></a>

 **Importe** 

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

 **Beispiel-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';
```

## Löschen einer Sicherheitsgruppe
<a name="delete-a-security-group"></a>

 **Importe** 

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

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