

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# EC2 Contoh Amazon menggunakan AWS SDK untuk PHP Versi 3
<a name="ec2-examples"></a>

Amazon Elastic Compute Cloud (Amazon EC2) adalah layanan web yang menyediakan hosting server virtual di cloud. Ini dirancang untuk membuat komputasi awan skala web lebih mudah bagi pengembang dengan menyediakan kapasitas komputasi yang dapat diubah ukurannya.

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

**Topics**
+ [Kredensial](#examplecredentials)
+ [Mengelola EC2 instans Amazon](ec2-examples-managing-instances.md)
+ [Menggunakan alamat IP Elastis](ec2-examples-using-elastic-ip-addresses.md)
+ [Menggunakan wilayah dan zona ketersediaan](ec2-examples-using-regions-and-zones.md)
+ [Bekerja dengan pasangan kunci](ec2-examples-working-with-key-pairs.md)
+ [Cara menggunakan grup keamanan](ec2-examples-using-security-groups.md)

# Mengelola EC2 instans Amazon menggunakan AWS SDK untuk PHP Versi 3
<a name="ec2-examples-managing-instances"></a>

Contoh berikut menunjukkan cara:
+ Jelaskan EC2 contoh Amazon menggunakan [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Aktifkan pemantauan terperinci untuk instance yang sedang berjalan menggunakan [MonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#monitorinstances).
+ Nonaktifkan pemantauan untuk instance yang sedang berjalan menggunakan [UnmonitorInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#unmonitorinstances).
+ Mulai AMI yang didukung Amazon EBS-Backed yang sebelumnya Anda hentikan, gunakan. [StartInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#startinstances)
+ Hentikan penggunaan instans yang didukung Amazon EBS. [StopInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#stopinstances)
+ Minta reboot dari satu atau beberapa instance menggunakan [RebootInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#rebootinstances).

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

## Menjelaskan instans
<a name="describe-instances"></a>

 **Impor** 

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

use Aws\Ec2\Ec2Client;
```

 **Kode Sampel** 

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

## Aktifkan dan nonaktifkan pemantauan
<a name="enable-and-disable-monitoring"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Memulai dan menghentikan sebuah instance
<a name="start-and-stop-an-instance"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Menyalakan ulang instans
<a name="reboot-an-instance"></a>

 **Impor** 

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

 **Kode Sampel** 

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

# Menggunakan alamat IP Elastis dengan Amazon EC2 dengan AWS SDK untuk PHP Versi 3
<a name="ec2-examples-using-elastic-ip-addresses"></a>

Alamat IP elastis adalah alamat IP statis yang dirancang untuk komputasi awan dinamis. Alamat IP Elastis dikaitkan dengan alamat IP Anda Akun AWS. Ini adalah alamat IP publik, yang dapat dijangkau dari internet. Jika instans Anda tidak memiliki alamat IP publik, Anda dapat mengaitkan alamat IP Elastis dengan instans Anda untuk mengaktifkan komunikasi dengan internet.

Contoh berikut menunjukkan cara:
+ Jelaskan satu atau lebih contoh Anda menggunakan [DescribeInstances](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeinstances).
+ Dapatkan alamat IP Elastis menggunakan [AllocateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#allocateaddress).
+ Kaitkan alamat IP Elastis dengan instance menggunakan [AssociateAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#associateaddress).
+ Lepaskan alamat IP Elastis menggunakan [ReleaseAddress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#releaseaddress).

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

## Jelaskan sebuah contoh
<a name="describe-an-instance"></a>

 **Impor** 

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

use Aws\Ec2\Ec2Client;
```

 **Kode Sampel** 

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

## Alokasikan dan kaitkan alamat
<a name="allocate-and-associate-an-address"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Lepaskan alamat
<a name="release-an-address"></a>

 **Impor** 

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

 **Kode Sampel** 

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

# Menggunakan wilayah dan zona ketersediaan untuk Amazon EC2 dengan AWS SDK untuk PHP Versi 3
<a name="ec2-examples-using-regions-and-zones"></a>

Amazon EC2 di-host di beberapa lokasi di seluruh dunia. Lokasi ini terdiri dari AWS Wilayah dan Zona Ketersediaan. Setiap Wilayah adalah wilayah geografis yang terpisah, dengan beberapa lokasi terisolasi yang dikenal sebagai Availability Zone. Amazon EC2 menyediakan kemampuan untuk menempatkan instance dan data di beberapa lokasi.

Contoh berikut menunjukkan cara:
+ Jelaskan Availability Zone yang tersedia untuk Anda gunakan [DescribeAvailabilityZones](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeavailabilityzones).
+ Jelaskan AWS Wilayah yang saat ini tersedia untuk Anda gunakan [DescribeRegions](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describeregions).

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

## Jelaskan zona ketersediaan
<a name="describe-availability-zones"></a>

 **Impor** 

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

 **Kode Sampel** 

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

$result = $ec2Client->describeAvailabilityZones();

var_dump($result);
```

## Jelaskan wilayah
<a name="describe-regions"></a>

 **Impor** 

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

 **Kode Sampel** 

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

$result = $ec2Client->describeRegions();

var_dump($result);
```

# Bekerja dengan pasangan EC2 kunci Amazon dengan AWS SDK untuk PHP Versi 3
<a name="ec2-examples-working-with-key-pairs"></a>

Amazon EC2 menggunakan kriptografi kunci publik untuk mengenkripsi dan mendekripsi informasi login. Kriptografi kunci publik menggunakan kunci publik untuk mengenkripsi data. Kemudian penerima menggunakan kunci pribadi untuk mendekripsi data. Kunci publik dan privat dikenal sebagai pasangan kunci.

Contoh berikut menunjukkan cara:
+ Buat key pair RSA 2048-bit menggunakan. [CreateKeyPair](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#createkeypair)
+ Hapus key pair tertentu menggunakan [DeleteKeyPair](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#deletekeypair).
+ Jelaskan satu atau lebih pasangan kunci Anda menggunakan [DescribeKeyPairs](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describekeypairs).

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

## Membuat pasangan kunci
<a name="create-a-key-pair"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Hapus key pair
<a name="delete-a-key-pair"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Jelaskan pasangan kunci
<a name="describe-key-pairs"></a>

 **Impor** 

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

 **Kode Sampel** 

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

$result = $ec2Client->describeKeyPairs();

var_dump($result);
```

# Bekerja dengan grup keamanan di Amazon EC2 dengan AWS SDK untuk PHP Versi 3
<a name="ec2-examples-using-security-groups"></a>

Grup EC2 keamanan Amazon bertindak sebagai firewall virtual yang mengontrol lalu lintas untuk satu atau lebih contoh. Anda menambahkan aturan ke setiap grup keamanan untuk mengizinkan lalu lintas ke atau dari instans terkait. Anda dapat melakukan modifikasi terhadap aturan-aturan untuk grup keamanan kapan saja. Aturan baru diterapkan secara otomatis ke semua instance yang terkait dengan grup keamanan.

Contoh berikut menunjukkan cara:
+ Jelaskan satu atau beberapa kelompok keamanan Anda menggunakan [DescribeSecurityGroups](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describesecuritygroups).
+ Tambahkan aturan ingress ke grup keamanan menggunakan [AuthorizeSecurityGroupIngress](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#authorizesecuritygroupingress).
+ Buat grup keamanan menggunakan [CreateSecurityGroup](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#createsecuritygroup).
+ Hapus grup keamanan menggunakan [DeleteSecurityGroup](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#deletesecuritygroup).

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

## Jelaskan kelompok keamanan
<a name="describe-security-groups"></a>

 **Impor** 

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

 **Kode Sampel** 

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

$result = $ec2Client->describeSecurityGroups();

var_dump($result);
```

## Tambahkan aturan masuk
<a name="add-an-ingress-rule"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Membuat grup keamanan
<a name="create-a-security-group"></a>

 **Impor** 

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

 **Kode Sampel** 

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

## Menghapus grup keamanan
<a name="delete-a-security-group"></a>

 **Impor** 

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

 **Kode Sampel** 

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