

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

# Menggunakan Amazon EC2 di AWS CLI
<a name="cli-services-ec2"></a>


| Pengantar Amazon Elastic Compute Cloud | 
| --- | 
|  [![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/TsRBftzZsQo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/TsRBftzZsQo)  | 

Amazon Elastic Compute Cloud (Amazon EC2) menyediakan lingkungan komputasi virtual yang sangat skalabel dan fleksibel. Amazon EC2 memungkinkan Anda menyediakan dan mengelola server virtual, yang dikenal sebagai EC2 instans Amazon, untuk memenuhi berbagai kebutuhan komputasi.

 EC2 Instans Amazon adalah mesin virtual yang dapat disesuaikan dengan berbagai konfigurasi CPU, memori, penyimpanan, dan kemampuan jaringan. Anda dapat memilih dari beragam pilihan jenis instans, mulai dari opsi yang ringan dan hemat biaya hingga instans berkinerja tinggi dan berkinerja tinggi, tergantung pada kebutuhan aplikasi Anda. Fleksibilitas ini memungkinkan Anda untuk mencocokkan kebutuhan komputasi Anda untuk mengoptimalkan kinerja dan efisiensi biaya. 

Selain itu, Amazon EC2 menawarkan serangkaian fitur yang memberdayakan Anda untuk mengelola sumber daya komputasi Anda secara efektif. Ini termasuk kemampuan untuk meluncurkan instance baru dengan cepat, membuat image mesin kustom (AMIs) untuk penerapan cepat, dan meningkatkan atau menurunkan kapasitas komputasi sesuai kebutuhan. 

Anda dapat mengakses fitur Amazon EC2 menggunakan AWS Command Line Interface (AWS CLI). Untuk membuat daftar AWS CLI perintah untuk Amazon EC2, gunakan perintah berikut.

```
aws ec2 help
```

Sebelum Anda menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat [Mengkonfigurasi pengaturan untuk AWS CLI](cli-chap-configure.md).

Topik ini menunjukkan contoh AWS CLI perintah singkat yang melakukan tugas-tugas umum untuk Amazon EC2.

Untuk contoh AWS CLI perintah bentuk panjang, lihat [repositori contoh AWS CLI kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli) di. *GitHub*

**Topics**
+ [Membuat, menampilkan, dan menghapus pasangan kunci Amazon EC2 di AWS CLI](cli-services-ec2-keypairs.md)
+ [Membuat, mengonfigurasi, dan menghapus grup keamanan Amazon EC2 di AWS CLI](cli-services-ec2-sg.md)
+ [Meluncurkan, mencantumkan, dan menghapus instans Amazon EC2 di AWS CLI](cli-services-ec2-instances.md)
+ [Ubah jenis instans Amazon EC2 dengan skrip bash di AWS CLI](cli-services-ec2-instance-type-script.md)

# Membuat, menampilkan, dan menghapus pasangan kunci Amazon EC2 di AWS CLI
<a name="cli-services-ec2-keypairs"></a>

Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk membuat, menampilkan, dan menghapus pasangan kunci untuk Amazon Elastic Compute Cloud (Amazon EC2). Anda menggunakan pasangan kunci untuk terhubung ke instans Amazon EC2. Anda dapat memberikan key pair ke Amazon EC2 saat membuat instance, lalu gunakan key pair tersebut untuk mengautentikasi saat Anda terhubung ke instans.

**catatan**  
Untuk contoh perintah tambahan, lihat [referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Prasyarat](#cli-services-ec2-keypairs-prereqs)
+ [Membuat pasangan kunci](#creating-a-key-pair)
+ [Menampilkan key pair](#displaying-a-key-pair)
+ [Menghapus pasangan kunci Anda](#deleting-a-key-pair)
+ [Referensi](#cli-services-ec2-keypairs-references)

## Prasyarat
<a name="cli-services-ec2-keypairs-prereqs"></a>

Untuk menjalankan `ec2` perintah, Anda perlu:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Setel izin IAM Anda untuk memungkinkan akses Amazon EC2. *Untuk informasi selengkapnya tentang izin IAM untuk Amazon EC2, [lihat kebijakan IAM untuk Amazon EC2 di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html).*

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

Untuk membuat key pair, gunakan `[aws ec2 create-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html)` perintah dengan `--query` opsi, dan `--output text` opsi untuk menyalurkan kunci pribadi Anda langsung ke file.

```
$ aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem
```

Untuk PowerShell, `> file` pengalihan default ke pengkodean UTF-8, yang tidak dapat digunakan dengan beberapa klien SSH. Jadi, Anda harus mengonversi output dengan menyalurkannya ke `out-file` perintah dan secara eksplisit mengatur pengkodean ke. `ascii`

```
PS C:\>aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text | out-file -encoding ascii -filepath MyKeyPair.pem
```

`MyKeyPair.pem`File yang dihasilkan terlihat mirip dengan yang berikut ini.

```
-----BEGIN RSA PRIVATE KEY-----
EXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/
vBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW
Z/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F
G50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW
oPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu
/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1
mb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2
bahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9
81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR
oQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1
YkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x
p9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws
ayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU
WA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC
gYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH
oMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs
Arq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy
WBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j
jjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa
NWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS
VRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=
-----END RSA PRIVATE KEY-----
```

Kunci pribadi Anda tidak disimpan AWS dan ***hanya*** dapat diambil ketika dibuat. Anda tidak dapat memulihkannya nanti. Sebaliknya, jika Anda kehilangan kunci pribadi, Anda harus membuat key pair baru.

Jika Anda terhubung ke instans Anda dari komputer Linux, kami sarankan Anda menggunakan perintah berikut untuk mengatur izin file kunci pribadi Anda sehingga hanya Anda yang dapat membacanya.

```
$ chmod 400 MyKeyPair.pem
```

## Menampilkan key pair
<a name="displaying-a-key-pair"></a>

“Sidik jari” dihasilkan dari key pair Anda, dan Anda dapat menggunakannya untuk memverifikasi bahwa kunci pribadi yang Anda miliki di mesin lokal Anda cocok dengan kunci publik yang disimpan di dalamnya AWS. 

Sidik jari adalah SHA1 hash yang diambil dari salinan kunci pribadi yang dikodekan DER. Nilai ini ditangkap ketika key pair dibuat, dan disimpan AWS dengan kunci publik. Anda dapat melihat sidik jari di konsol Amazon EC2 atau dengan menjalankan perintah. AWS CLI `[aws ec2 describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)` 

Contoh berikut menampilkan sidik jari untuk`MyKeyPair`.

```
$ aws ec2 describe-key-pairs --key-name MyKeyPair
{
    "KeyPairs": [
        {
            "KeyName": "MyKeyPair",
            "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f"
        }
    ]
}
```

Untuk informasi selengkapnya tentang kunci dan sidik jari, lihat Pasangan [Kunci Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) di Panduan Pengguna *Amazon EC2*.

## Menghapus pasangan kunci Anda
<a name="deleting-a-key-pair"></a>

Untuk menghapus key pair, jalankan `[aws ec2 delete-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html)` perintah, ganti *`MyKeyPair`* dengan nama pasangan yang akan dihapus.

```
$ aws ec2 delete-key-pair --key-name MyKeyPair
```

## Referensi
<a name="cli-services-ec2-keypairs-references"></a>

**AWS CLI Referensi:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 create-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html)`
+ `[aws ec2 delete-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html)`
+ `[aws ec2 describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)`

**Referensi lainnya:**
+ [Dokumentasi Cloud Komputasi Elastis Amazon](https://docs.aws.amazon.com/ec2/)
+ Untuk melihat dan berkontribusi pada AWS SDK dan contoh AWS CLI kode, lihat [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples/) di. *GitHub*

# Membuat, mengonfigurasi, dan menghapus grup keamanan Amazon EC2 di AWS CLI
<a name="cli-services-ec2-sg"></a>

Anda dapat membuat grup keamanan untuk instans Amazon Elastic Compute Cloud (Amazon EC2) yang pada dasarnya beroperasi sebagai firewall, dengan aturan yang menentukan lalu lintas jaringan apa yang dapat masuk dan keluar. 

Gunakan AWS Command Line Interface (AWS CLI) untuk membuat grup keamanan, menambahkan aturan ke grup keamanan yang ada, dan menghapus grup keamanan. 

**catatan**  
Untuk contoh perintah tambahan, lihat [referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Prasyarat](#cli-services-ec2-sg-prereqs)
+ [Membuat grup keamanan](#creating-a-security-group)
+ [Tambahkan aturan ke grup keamanan Anda](#configuring-a-security-group)
+ [Hapus grup keamanan Anda](#deleting-a-security-group)
+ [Referensi](#cli-services-ec2-sg-references)

## Prasyarat
<a name="cli-services-ec2-sg-prereqs"></a>

Untuk menjalankan `ec2` perintah, Anda perlu:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Setel izin IAM Anda untuk memungkinkan akses Amazon EC2. *Untuk informasi selengkapnya tentang izin IAM untuk Amazon EC2, [lihat kebijakan IAM untuk Amazon EC2 di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html).*

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

Anda dapat membuat grup keamanan yang terkait dengan virtual private cloud (VPCs).

`[aws ec2 create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)`Contoh berikut menunjukkan cara membuat grup keamanan untuk VPC tertentu.

```
$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d
{
    "GroupId": "sg-903004f8"
}
```

Untuk melihat informasi awal untuk grup keamanan, jalankan `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)` perintah. Anda dapat mereferensikan grup keamanan EC2-VPC hanya dengan namanya`vpc-id`, bukan namanya.

```
$ aws ec2 describe-security-groups --group-ids sg-903004f8
{
    "SecurityGroups": [
        {
            "IpPermissionsEgress": [
                {
                    "IpProtocol": "-1",
                    "IpRanges": [
                        {
                            "CidrIp": "0.0.0.0/0"
                        }
                    ],
                    "UserIdGroupPairs": []
                }
            ],
            "Description": "My security group"
            "IpPermissions": [],
            "GroupName": "my-sg",
            "VpcId": "vpc-1a2b3c4d",
            "OwnerId": "123456789012",
            "GroupId": "sg-903004f8"
        }
    ]
}
```

## Tambahkan aturan ke grup keamanan Anda
<a name="configuring-a-security-group"></a>

Saat menjalankan instans Amazon EC2, Anda harus mengaktifkan aturan di grup keamanan untuk mengizinkan lalu lintas jaringan masuk untuk sarana Anda menghubungkan ke gambar. 

Misalnya, jika Anda meluncurkan instance Windows, Anda biasanya menambahkan aturan untuk mengizinkan lalu lintas masuk pada port TCP 3389 untuk mendukung Remote Desktop Protocol (RDP). Jika Anda meluncurkan instance Linux, Anda biasanya menambahkan aturan untuk mengizinkan lalu lintas masuk pada port TCP 22 untuk mendukung koneksi SSH. 

Gunakan `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)` perintah untuk menambahkan aturan ke grup keamanan Anda. Parameter yang diperlukan dari perintah ini adalah alamat IP publik komputer Anda, atau jaringan (dalam bentuk rentang alamat) yang dilampirkan komputer Anda, dalam notasi [CIDR](https://wikipedia.org/wiki/Classless_Inter-Domain_Routing).

**catatan**  
Kami menyediakan layanan berikut, [https://checkip.global.api.aws/](https://checkip.global.api.aws/), untuk memungkinkan Anda menentukan alamat IP publik Anda. Untuk menemukan layanan lain yang dapat membantu Anda mengidentifikasi alamat IP Anda, gunakan browser Anda untuk mencari "*apa alamat IP saya*”. Jika Anda terhubung melalui ISP atau dari belakang firewall Anda menggunakan alamat IP dinamis (melalui gateway NAT dari jaringan pribadi), alamat Anda dapat berubah secara berkala. Dalam hal ini, Anda harus mengetahui kisaran alamat IP yang digunakan oleh komputer klien.

Contoh berikut menunjukkan cara menambahkan aturan untuk RDP (port TCP 3389) ke grup keamanan EC2-VPC dengan ID menggunakan alamat IP Anda. `sg-903004f8`

Untuk memulai, temukan alamat IP Anda.

```
$ curl https://checkip.amazonaws.com
x.x.x.x
```

Anda kemudian dapat menambahkan alamat IP ke grup keamanan Anda dengan menjalankan `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)` perintah.

```
$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr x.x.x.x/x
```

Perintah berikut menambahkan aturan lain untuk mengaktifkan SSH ke instance dalam grup keamanan yang sama.

```
$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr x.x.x.x/x
```

Untuk melihat perubahan pada grup keamanan, jalankan `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)` perintah.

```
$ aws ec2 describe-security-groups --group-ids sg-903004f8
{
    "SecurityGroups": [
        {
            "IpPermissionsEgress": [
                {
                    "IpProtocol": "-1",
                    "IpRanges": [
                        {
                            "CidrIp": "0.0.0.0/0"
                        }
                    ],
                    "UserIdGroupPairs": []
                }
            ],
            "Description": "My security group"
            "IpPermissions": [
                {
                    "ToPort": 22,
                    "IpProtocol": "tcp",
                    "IpRanges": [
                        {
                            "CidrIp": "x.x.x.x/x"
                        }
                    ]
                    "UserIdGroupPairs": [],
                    "FromPort": 22
                }
            ],
            "GroupName": "my-sg",
            "OwnerId": "123456789012",
            "GroupId": "sg-903004f8"
        }
    ]
}
```

## Hapus grup keamanan Anda
<a name="deleting-a-security-group"></a>

Untuk menghapus grup keamanan, jalankan `[aws ec2 delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)` perintah. 

**catatan**  
Anda tidak dapat menghapus grup keamanan jika saat ini dilampirkan ke lingkungan.

Contoh perintah berikut menghapus grup keamanan EC2-VPC.

```
$ aws ec2 delete-security-group --group-id sg-903004f8
```

## Referensi
<a name="cli-services-ec2-sg-references"></a>

**AWS CLI referensi:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)`
+ `[aws ec2 create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html)`
+ `[aws ec2 delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html)`
+ `[aws ec2 describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)`

**Referensi lainnya:**
+ [Dokumentasi Cloud Komputasi Elastis Amazon](https://docs.aws.amazon.com/ec2/)
+ Untuk melihat dan berkontribusi pada AWS SDK dan contoh AWS CLI kode, lihat [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples/) di. *GitHub*

# Meluncurkan, mencantumkan, dan menghapus instans Amazon EC2 di AWS CLI
<a name="cli-services-ec2-instances"></a>

Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk meluncurkan, mencantumkan, dan menghapus instans Amazon Elastic Compute Cloud (Amazon EC2). Jika meluncurkan instans yang tidak berada dalam Tingkat AWS Gratis, Anda akan ditagih setelah meluncurkan instans dan dikenakan biaya untuk waktu instans berjalan, meskipun instans tersebut tetap menganggur.

**catatan**  
Untuk contoh perintah tambahan, lihat [referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Prasyarat](#cli-services-ec2-instances-prereqs)
+ [Luncurkan instans Anda](#launching-instances)
+ [Menambahkan perangkat blokir ke instans Anda](#block-device-mapping)
+ [Tambahkan tag ke instance Anda](#tagging-instances)
+ [Terhubung ke instans Anda.](#connecting-to-instances)
+ [Buat daftar instans Anda](#listing-instances)
+ [Hapus instans Anda](#terminating-instances)
+ [Referensi](#cli-services-ec2-instances-references)

## Prasyarat
<a name="cli-services-ec2-instances-prereqs"></a>

Untuk menjalankan `ec2` perintah dalam topik ini, Anda perlu:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Setel izin IAM Anda untuk memungkinkan akses Amazon EC2. *Untuk informasi selengkapnya tentang izin IAM untuk Amazon EC2, [lihat kebijakan IAM untuk Amazon EC2 di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html).*
+ Buat [key pair](cli-services-ec2-keypairs.md) dan [grup keamanan](cli-services-ec2-sg.md).
+ Pilih Amazon Machine Image (AMI) dan catat ID AMI. Untuk informasi selengkapnya, lihat [Menemukan AMI yang Sesuai](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) di *Panduan Pengguna Amazon EC2*.

## Luncurkan instans Anda
<a name="launching-instances"></a>

Untuk meluncurkan instans Amazon EC2 menggunakan AMI yang Anda pilih, gunakan perintah. `[aws ec2 run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)` Anda dapat meluncurkan instance ke virtual private cloud (VPC).

Awalnya, instance Anda muncul di `pending` negara bagian, tetapi berubah ke `running` status setelah beberapa menit.

Contoh berikut menunjukkan cara meluncurkan `t2.micro` instance di subnet yang ditentukan dari VPC. Ganti nilai *italicized* parameter dengan nilai Anda sendiri.

```
$ aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e
{
    "OwnerId": "123456789012",
    "ReservationId": "r-5875ca20",
    "Groups": [
        {
            "GroupName": "my-sg",
            "GroupId": "sg-903004f8"
        }
    ],
    "Instances": [
        {
            "Monitoring": {
                "State": "disabled"
            },
            "PublicDnsName": null,
            "Platform": "windows",
            "State": {
                "Code": 0,
                "Name": "pending"
            },
            "EbsOptimized": false,
            "LaunchTime": "2013-07-19T02:42:39.000Z",
            "PrivateIpAddress": "10.0.1.114",
            "ProductCodes": [],
            "VpcId": "vpc-1a2b3c4d",
            "InstanceId": "i-5203422c",
            "ImageId": "ami-173d747e",
            "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
            "KeyName": "MyKeyPair",
            "SecurityGroups": [
                {
                    "GroupName": "my-sg",
                    "GroupId": "sg-903004f8"
                }
            ],
            "ClientToken": null,
            "SubnetId": "subnet-6e7f829e",
            "InstanceType": "t2.micro",
            "NetworkInterfaces": [
                {
                    "Status": "in-use",
                    "SourceDestCheck": true,
                    "VpcId": "vpc-1a2b3c4d",
                    "Description": "Primary network interface",
                    "NetworkInterfaceId": "eni-a7edb1c9",
                    "PrivateIpAddresses": [
                        {
                            "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
                            "Primary": true,
                            "PrivateIpAddress": "10.0.1.114"
                        }
                    ],
                    "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
                    "Attachment": {
                        "Status": "attached",
                        "DeviceIndex": 0,
                        "DeleteOnTermination": true,
                        "AttachmentId": "eni-attach-52193138",
                        "AttachTime": "2013-07-19T02:42:39.000Z"
                    },
                    "Groups": [
                        {
                            "GroupName": "my-sg",
                            "GroupId": "sg-903004f8"
                        }
                    ],
                    "SubnetId": "subnet-6e7f829e",
                    "OwnerId": "123456789012",
                    "PrivateIpAddress": "10.0.1.114"
                }              
            ],
            "SourceDestCheck": true,
            "Placement": {
                "Tenancy": "default",
                "GroupName": null,
                "AvailabilityZone": "us-west-2b"
            },
            "Hypervisor": "xen",
            "BlockDeviceMappings": [
                {
                    "DeviceName": "/dev/sda1",
                    "Ebs": {
                        "Status": "attached",
                        "DeleteOnTermination": true,
                        "VolumeId": "vol-877166c8",
                        "AttachTime": "2013-07-19T02:42:39.000Z"
                    }
                }              
            ],
            "Architecture": "x86_64",
            "StateReason": {
                "Message": "pending",
                "Code": "pending"
            },
            "RootDeviceName": "/dev/sda1",
            "VirtualizationType": "hvm",
            "RootDeviceType": "ebs",
            "Tags": [
                {
                    "Value": "MyInstance",
                    "Key": "Name"
                }
            ],
            "AmiLaunchIndex": 0
        }
    ]
}
```

## Menambahkan perangkat blokir ke instans Anda
<a name="block-device-mapping"></a>

Setiap instance yang Anda luncurkan memiliki volume perangkat root terkait. Anda dapat menggunakan pemetaan perangkat blokir untuk menentukan volume Amazon Elastic Block Store (Amazon EBS) tambahan atau volume penyimpanan instans untuk dilampirkan ke instance saat diluncurkan.

Untuk menambahkan perangkat blok ke instans Anda, tentukan `--block-device-mappings` opsi saat Anda menggunakan`run-instances`.

Parameter contoh berikut menyediakan volume Amazon EBS standar yang berukuran 20 GB, dan memetakannya ke instans Anda menggunakan pengenal`/dev/sdf`.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false}}]"
```

Contoh berikut menambahkan volume Amazon EBS, dipetakan ke`/dev/sdf`, berdasarkan snapshot yang ada. Snapshot mewakili gambar yang dimuat ke volume untuk Anda. Saat Anda menentukan snapshot, Anda tidak perlu menentukan ukuran volume; itu akan cukup besar untuk menampung gambar Anda. Namun, jika Anda menentukan ukuran, itu harus lebih besar dari atau sama dengan ukuran snapshot.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-a1b2c3d4\"}}]"
```

Contoh berikut menambahkan dua volume ke instance Anda. Jumlah volume yang tersedia untuk instans Anda bergantung pada jenis instance-nya.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"
```

Contoh berikut membuat pemetaan (`/dev/sdj`), tetapi tidak menyediakan volume untuk instance.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"
```

Untuk informasi selengkapnya, lihat [Memblokir Pemetaan Perangkat](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) di Panduan *Pengguna Amazon EC2*.

## Tambahkan tag ke instance Anda
<a name="tagging-instances"></a>

Tag adalah label yang Anda tetapkan ke AWS sumber daya. Ini memungkinkan Anda untuk menambahkan metadata ke sumber daya Anda yang dapat Anda gunakan untuk berbagai tujuan. Untuk informasi selengkapnya, lihat [Menandai Sumber Daya Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) di Panduan *Pengguna Amazon EC2*.

Contoh berikut menunjukkan bagaimana menambahkan tag dengan nama kunci "`Name`" dan nilai "`MyInstance`" untuk contoh yang ditentukan, dengan menggunakan `[aws ec2 create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)` perintah.

```
$ aws ec2 create-tags --resources i-5203422c --tags Key=Name,Value=MyInstance
```

## Terhubung ke instans Anda.
<a name="connecting-to-instances"></a>

Ketika instans Anda berjalan, Anda dapat terhubung ke sana dan menggunakannya sama seperti Anda akan menggunakan komputer yang duduk di depan Anda. Untuk informasi selengkapnya, lihat [Connect ke Instans Amazon EC2 Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) di Panduan Pengguna *Amazon EC2*.

## Buat daftar instans Anda
<a name="listing-instances"></a>

Anda dapat menggunakan AWS CLI untuk daftar instance Anda dan melihat informasi tentang mereka. Anda dapat membuat daftar semua instance Anda, atau memfilter hasil berdasarkan instance yang Anda minati.

Contoh berikut menunjukkan cara menggunakan `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)` perintah.

Perintah berikut mencantumkan semua instance Anda.

```
$ aws ec2 describe-instances
```

Perintah berikut memfilter daftar ke hanya `t2.micro` instance Anda dan hanya mengeluarkan `InstanceId` nilai untuk setiap kecocokan.

```
$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"
[
    "i-05e998023d9c69f9a"
]
```

Perintah berikut mencantumkan salah satu instance Anda yang memiliki tag`Name=MyInstance`.

```
$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"
```

Perintah berikut mencantumkan instance Anda yang diluncurkan menggunakan salah satu dari berikut ini AMIs:`ami-x0123456`,`ami-y0123456`, dan`ami-z0123456`.

```
$ aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"
```

## Hapus instans Anda
<a name="terminating-instances"></a>

Anda dapat menggunakan AWS CLI untuk menghentikan (menghapus) instans Amazon EC2 saat Anda tidak lagi membutuhkannya.

**penting**  
**Mengakhiri sebuah instance bersifat permanen dan ireversibel.**  
Setelah Anda menghentikan sebuah instance, Anda tidak dapat lagi terhubung dengannya, dan itu tidak dapat dipulihkan. Semua volume Amazon EBS terlampir yang dikonfigurasi untuk dihapus saat penghentian juga dihapus secara permanen dan tidak dapat dipulihkan. Semua data yang disimpan pada volume penyimpanan instance hilang secara permanen. Untuk informasi selengkapnya, lihat [Cara kerja penghentian instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-ec2-instance-termination-works.html).  
Sebelum menghentikan instans, pastikan bahwa Anda telah mencadangkan semua data yang perlu disimpan setelah penghentian penyimpanan persisten.

Segera setelah status instans berubah menjadi `shutting-down` atau`terminated`, Anda berhenti menimbulkan biaya untuk contoh itu. Jika Anda ingin menyambung kembali ke instance nanti, gunakan [stop-instance](https://docs.aws.amazon.com/cli/v1/reference/ec2/stop-instances.html) sebagai gantinya. `terminate-instances` Untuk informasi selengkapnya, lihat [Menghentikan Instans Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) di Panduan *Pengguna Amazon EC2*.

Contoh berikut menunjukkan cara menghapus instance menggunakan `[aws ec2 terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html)` perintah.

```
$ aws ec2 terminate-instances --instance-ids i-5203422c
{
    "TerminatingInstances": [
        {
            "InstanceId": "i-5203422c",
            "CurrentState": {
                "Code": 32,
                "Name": "shutting-down"
            },
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}
```

## Referensi
<a name="cli-services-ec2-instances-references"></a>

**AWS CLI Referensi:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)`
+ `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)`
+ `[aws ec2 run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`
+ `[aws ec2 terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html)`

**Referensi lainnya:**
+ [Dokumentasi Cloud Komputasi Elastis Amazon](https://docs.aws.amazon.com/ec2/)
+ Untuk melihat dan berkontribusi pada AWS SDK dan contoh AWS CLI kode, lihat [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples/) di. *GitHub*

# Ubah jenis instans Amazon EC2 dengan skrip bash di AWS CLI
<a name="cli-services-ec2-instance-type-script"></a>

Contoh skrip bash untuk Amazon EC2 ini mengubah jenis instans untuk instans Amazon EC2 menggunakan (). AWS Command Line Interface AWS CLI Ini menghentikan instance jika sedang berjalan, mengubah jenis instance, dan kemudian, jika diminta, memulai ulang instance. Skrip Shell adalah program yang dirancang untuk berjalan di antarmuka baris perintah.

**catatan**  
Untuk contoh perintah tambahan, lihat [referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Sebelum Anda mulai](#cli-services-ec2-instance-type-script-prereqs)
+ [Tentang contoh ini](#cli-services-ec2-instance-type-script-about)
+ [Parameter](#cli-services-ec2-instance-type-script-params)
+ [Berkas](#cli-services-ec2-instance-type-script-files.title)
+ [Referensi](#cli-services-ec2-instance-type-script-references)

## Sebelum Anda mulai
<a name="cli-services-ec2-instance-type-script-prereqs"></a>

Sebelum Anda dapat menjalankan salah satu contoh di bawah ini, hal-hal berikut perlu diselesaikan.
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Profil yang Anda gunakan harus memiliki izin yang memungkinkan AWS operasi dilakukan oleh contoh.
+ Instans Amazon EC2 yang sedang berjalan di akun yang Anda memiliki izin untuk berhenti dan memodifikasinya. Jika Anda menjalankan skrip pengujian, ia meluncurkan instance untuk Anda, menguji mengubah jenisnya, dan kemudian mengakhiri instance.
+ Sebagai praktik AWS terbaik, berikan kode ini hak istimewa paling sedikit, atau hanya izin yang diperlukan untuk melakukan tugas. Untuk informasi selengkapnya, lihat [Memberikan Hak Istimewa Paling Sedikit](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) di Panduan Pengguna *AWS Identity and Access Management (IAM)*.
+ Kode ini belum diuji di semua AWS Wilayah. Beberapa AWS layanan hanya tersedia di Wilayah tertentu. Untuk informasi selengkapnya, lihat [Titik Akhir Layanan dan Kuota di Panduan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) *Referensi AWS Umum*. 
+ Menjalankan kode ini dapat mengakibatkan biaya ke AWS akun Anda. Adalah tanggung jawab Anda untuk memastikan bahwa sumber daya apa pun yang dibuat oleh skrip ini dihapus ketika Anda selesai dengan mereka. 

## Tentang contoh ini
<a name="cli-services-ec2-instance-type-script-about"></a>

Contoh ini ditulis sebagai fungsi dalam file skrip shell `change_ec2_instance_type.sh` yang Anda dapat `source` dari skrip lain atau dari baris perintah. Setiap file skrip berisi komentar yang menjelaskan masing-masing fungsi. Setelah fungsi dalam memori, Anda dapat memanggilnya dari baris perintah. Misalnya, perintah berikut mengubah jenis instance yang ditentukan menjadi`t2.nano`:

```
$ source ./change_ec2_instance_type.sh
$ ./change_ec2_instance_type -i *instance-id* -t new-type
```

Untuk contoh lengkap dan file skrip yang dapat diunduh, lihat [Mengubah Jenis Instans Amazon EC2](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/ec2/change-ec2-instance-type) di Repositori *AWS Contoh Kode*. *GitHub*

## Parameter
<a name="cli-services-ec2-instance-type-script-params"></a>

**-i** - *(string)* Menentukan ID contoh untuk memodifikasi.

**-t** - *(string)* Menentukan jenis instans Amazon EC2 untuk beralih ke.

**-r** - *(switch)* Secara default, ini tidak disetel. Jika `-r` disetel, restart instance setelah sakelar tipe.

**-f** - *(switch)* Secara default, skrip meminta pengguna untuk mengonfirmasi mematikan instance sebelum beralih. Jika `-f` disetel, fungsi tidak meminta pengguna sebelum mematikan instance untuk membuat sakelar tipe

**-v** - *(switch)* Secara default, skrip beroperasi secara diam-diam dan menampilkan output hanya jika terjadi kesalahan. Jika `-v` diatur, fungsi menampilkan status di seluruh operasinya.

## Berkas
<a name="cli-services-ec2-instance-type-script-files.title"></a>

**`change_ec2_instance_type.sh`**  
File skrip utama berisi `change_ec2_instance_type()` fungsi yang melakukan tugas-tugas berikut:  
+ Memverifikasi bahwa instans Amazon EC2 yang ditentukan ada.
+ Kecuali `-f` dipilih, memperingatkan pengguna sebelum menghentikan instance.
+ Mengubah jenis instance
+ Jika Anda menyetel`-r`, restart instance dan mengonfirmasi bahwa instance sedang berjalan
Lihat kode untuk `[change\$1ec2\$1instance\$1type.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/change_ec2_instance_type.sh)` aktif *GitHub*.

**`test_change_ec2_instance_type.sh`**  
`test_change_ec2_instance_type.sh`Skrip file menguji berbagai jalur kode untuk `change_ec2_instance_type` fungsi tersebut. Jika semua langkah dalam skrip pengujian berfungsi dengan benar, skrip pengujian menghapus semua sumber daya yang dibuatnya.  
Anda dapat menjalankan skrip pengujian dengan parameter berikut:  
+ **-v** - *(switch)* Setiap tes menunjukkan pass/failure status saat mereka berjalan. Secara default, tes berjalan diam-diam dan output hanya mencakup pass/failure status keseluruhan akhir.
+ **-i** - *(beralih)* Skrip berhenti setelah setiap tes untuk memungkinkan Anda menelusuri hasil perantara dari setiap langkah. Memungkinkan Anda memeriksa status instans saat ini menggunakan konsol Amazon EC2. Script melanjutkan ke langkah berikutnya setelah Anda menekan *ENTER* pada prompt.
Lihat kode untuk `[test\$1change\$1ec2\$1instance\$1type.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/test_change_ec2_instance_type.sh)` aktif *GitHub*.

**`awsdocs_general.sh`**  
File skrip `awsdocs_general.sh` menyimpan fungsi tujuan umum yang digunakan di seluruh contoh lanjutan untuk file AWS CLI.  
Lihat kode untuk `[awsdocs\$1general.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/ec2/change-ec2-instance-type/awsdocs_general.sh)` aktif *GitHub*.

## Referensi
<a name="cli-services-ec2-instance-type-script-references"></a>

**AWS CLI Referensi:**
+ `[aws ec2](https://docs.aws.amazon.com/cli/v1/reference/ec2/index.html)`
+ `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/describe-instances.html)`
+ `[aws ec2 modify-instance-attribute](https://docs.aws.amazon.com/cli/v1/reference/ec2/modify-instance-attribute.html)`
+ `[aws ec2 start-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/start-instances.html)`
+ `[aws ec2 stop-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/stop-instances.html)`
+ `[aws ec2 wait instance-running](https://docs.aws.amazon.com/cli/v1/reference/ec2/wait/instance-running.html)`
+ `[aws ec2 wait instance-stopped](https://docs.aws.amazon.com/cli/v1/reference/ec2/wait/instance-stopped.html)`

**Referensi lainnya:**
+ [Dokumentasi Cloud Komputasi Elastis Amazon](https://docs.aws.amazon.com/ec2/)
+ Untuk melihat dan berkontribusi pada AWS SDK dan contoh AWS CLI kode, lihat [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples/) di. *GitHub*