

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

# Contoh perintah terpandu untuk AWS CLI
<a name="cli-chap-services"></a>

The AWS Command Line Interface (AWS CLI) adalah alat open source yang memungkinkan Anda berinteraksi dengan berbagai macam Layanan AWS menggunakan perintah di shell baris perintah Anda. Bagian ini memberikan contoh terpandu yang menunjukkan cara memanfaatkan AWS CLI untuk mengakses beberapa Layanan AWS. Ini termasuk beberapa AWS CLI perintah khusus, seperti `aws s3` perintah tingkat tinggi. Contoh perintah ini menunjukkan tindakan umum yang digunakan untuk beberapa orang Layanan AWS dan menyediakan sumber daya tambahan untuk informasi lebih lanjut.

Apakah Anda AWS pengguna berpengalaman atau baru mengenal AWS CLI, contoh terpandu ini berfungsi sebagai sumber daya untuk merampingkan AWS operasi Anda.

Untuk referensi lengkap dari semua perintah yang tersedia untuk masing-masing Layanan AWS, lihat [versi 2 panduan referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html). Selain itu, Anda dapat menggunakan [bantuan baris perintah bawaan](cli-usage-help.md) untuk menjelajahi array Layanan AWS, perintah, opsi, dan fitur di AWS CLI.

Untuk contoh perintah lainnya yang tidak tersedia di bagian ini, lihat [AWS CLI contoh perintah](cli_code_examples.md) bagian. Ini adalah contoh perintah open source yang juga tersedia dalam [versi 2 panduan referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html). Contoh perintah di-host di [AWS CLI](https://github.com/aws/aws-cli/tree/develop/awscli/examples)repositori pada. *GitHub*



 Untuk contoh skrip bash open source, lihat. [AWS CLI dengan contoh kode skrip Bash](bash_code_examples.md) Contoh skrip Bash di-host di [Repositori Contoh AWS Kode](https://github.com/awsdocs/aws-doc-sdk-examples) di. *GitHub*

**Topics**
+ [DynamoDB](cli-services-dynamodb.md)
+ [Amazon EC2](cli-services-ec2.md)
+ [Amazon Glacier](cli-services-glacier.md)
+ [IAM](cli-services-iam.md)
+ [Amazon S3](cli-services-s3.md)
+ [Amazon SNS](cli-services-sns.md)

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

The AWS Command Line Interface (AWS CLI) menyediakan dukungan untuk semua layanan AWS database, termasuk Amazon DynamoDB. Anda dapat menggunakan AWS CLI untuk operasi dadakan, seperti membuat tabel. Anda juga dapat menggunakannya untuk menanamkan operasi DynamoDB dalam skrip utilitas. 

*Untuk informasi selengkapnya tentang menggunakan DynamoDB AWS CLI with, `` `[dynamodb](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/index.html)` lihat di AWS CLI Command Reference.*

Untuk membuat daftar AWS CLI perintah untuk DynamoDB, gunakan perintah berikut.

```
$ aws dynamodb help
```

**Topics**
+ [Prasyarat](#cli-services-dynamodb-prereqs)
+ [Membuat dan menggunakan tabel DynamoDB](#cli-services-dynamodb-using)
+ [Menggunakan DynamoDB Lokal](#cli-services-dynamodb-local)
+ [Sumber daya](#cli-services-dynamodb-resources)

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

Untuk menjalankan `dynamodb` 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).

## Membuat dan menggunakan tabel DynamoDB
<a name="cli-services-dynamodb-using"></a>

Format baris perintah terdiri dari nama perintah DynamoDB, diikuti oleh parameter untuk perintah itu. AWS CLI Mendukung [sintaks singkatan CLI untuk nilai parameter, dan](cli-usage-shorthand.md) JSON penuh.

Contoh berikut membuat tabel bernama`MusicCollection`. 

```
$ aws dynamodb create-table \
    --table-name MusicCollection \
    --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1
```

Anda dapat menambahkan baris baru ke tabel dengan perintah yang mirip dengan yang ditunjukkan pada contoh berikut. Contoh-contoh ini menggunakan kombinasi sintaks singkatan dan JSON.

```
$ aws dynamodb put-item \
    --table-name MusicCollection \
    --item '{
        "Artist": {"S": "No One You Know"},
        "SongTitle": {"S": "Call Me Today"} ,
        "AlbumTitle": {"S": "Somewhat Famous"} 
      }' \
    --return-consumed-capacity TOTAL
{
    "ConsumedCapacity": {
        "CapacityUnits": 1.0,
        "TableName": "MusicCollection"
    }
}
```

```
$ aws dynamodb put-item \
    --table-name MusicCollection \
    --item '{ 
        "Artist": {"S": "Acme Band"}, 
        "SongTitle": {"S": "Happy Day"} , 
        "AlbumTitle": {"S": "Songs About Life"} 
      }' \
    --return-consumed-capacity TOTAL
{
    "ConsumedCapacity": {
        "CapacityUnits": 1.0,
        "TableName": "MusicCollection"
    }
}
```

Mungkin sulit untuk membuat JSON yang valid dalam perintah satu baris. Untuk membuat ini lebih mudah, AWS CLI dapat membaca file JSON. Misalnya, pertimbangkan cuplikan JSON berikut, yang disimpan dalam file bernama. `expression-attributes.json`

```
{
  ":v1": {"S": "No One You Know"},
  ":v2": {"S": "Call Me Today"}
}
```

Anda dapat menggunakan file itu untuk mengeluarkan `query` permintaan menggunakan file AWS CLI. Dalam contoh berikut, konten `expression-attributes.json` file digunakan sebagai nilai untuk `--expression-attribute-values` parameter.

```
$ aws dynamodb query --table-name MusicCollection \
    --key-condition-expression "Artist = :v1 AND SongTitle = :v2" \
    --expression-attribute-values file://expression-attributes.json
{
    "Count": 1,
    "Items": [
        {
            "AlbumTitle": {
                "S": "Somewhat Famous"
            },
            "SongTitle": {
                "S": "Call Me Today"
            },
            "Artist": {
                "S": "No One You Know"
            }
        }
    ],
    "ScannedCount": 1,
    "ConsumedCapacity": null
}
```

## Menggunakan DynamoDB Lokal
<a name="cli-services-dynamodb-local"></a>

Selain DynamoDB, Anda dapat menggunakan AWS CLI dengan DynamoDB Local. DynamoDB Local adalah database sisi klien kecil dan server yang meniru layanan DynamoDB. DynamoDB Local memungkinkan Anda untuk menulis aplikasi yang menggunakan DynamoDB API, tanpa memanipulasi tabel atau data apa pun dalam layanan web DynamoDB. Sebagai gantinya, semua tindakan API dialihkan ke database lokal. Ini memungkinkan Anda menghemat throughput yang disediakan, penyimpanan data, dan biaya transfer data.

Untuk informasi selengkapnya tentang DynamoDB Local dan cara menggunakannya dengan, lihat bagian berikut AWS CLI dari Panduan Pengembang Amazon [DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/):
+ [DynamoDB Lokal](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html)
+ [Menggunakan AWS CLI dengan DynamoDB Local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.CLI.html#UsingWithDDBLocal)

## Sumber daya
<a name="cli-services-dynamodb-resources"></a>

**AWS CLI referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/dynamodb/index.html](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/dynamodb/create-table.html](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/create-table.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/dynamodb/put-item.html](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/put-item.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/dynamodb/query.html](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/query.html)

**Referensi layanan:**
+ [DynamoDB Lokal di Panduan Pengembang](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html) Amazon DynamoDB
+ [Menggunakan AWS CLI with DynamoDB Local di Panduan Pengembang Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.CLI.html#UsingWithDDBLocal)

# 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*

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


| Pengantar Amazon Glacier | 
| --- | 
|    | 

Topik ini menunjukkan contoh AWS CLI perintah yang melakukan tugas umum untuk Amazon Glacier. Contoh menunjukkan cara menggunakan file untuk mengunggah file besar AWS CLI ke Amazon Glacier dengan membaginya menjadi bagian-bagian yang lebih kecil dan mengunggahnya dari baris perintah.

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

```
aws glacier help
```

**catatan**  
Untuk referensi perintah dan contoh tambahan, lihat `[aws glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)` di *AWS CLI Command Reference*.

**Topics**
+ [Prasyarat](#cli-services-glacier-prereqs)
+ [Buat lemari besi Amazon Glacier](#cli-services-glacier-vault)
+ [Siapkan file untuk diunggah](#cli-services-glacier-prep)
+ [Memulai upload dan meng-upload file multipart](#cli-services-glacier-initiate)
+ [Selesaikan unggahan](#cli-services-glacier-complete)
+ [Sumber daya](#cli-services-glacier-resources)

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

Untuk menjalankan `glacier` 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).
+ Tutorial ini menggunakan beberapa alat baris perintah yang biasanya sudah diinstal sebelumnya pada sistem operasi mirip Unix, termasuk Linux dan macOS. Pengguna Windows dapat menggunakan alat yang sama dengan menginstal [Cygwin](https://www.cygwin.com/) dan menjalankan perintah dari terminal Cygwin. Kami mencatat perintah dan utilitas asli Windows yang melakukan fungsi yang sama jika tersedia.

## Buat lemari besi Amazon Glacier
<a name="cli-services-glacier-vault"></a>

Buat lemari besi dengan `[create-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/create-vault.html)` perintah.

```
$ aws glacier create-vault --account-id - --vault-name myvault
{
    "location": "/123456789012/vaults/myvault"
}
```

**catatan**  
Semua perintah Amazon Glacier memerlukan parameter ID akun. Gunakan karakter tanda hubung (`--account-id -`) untuk menggunakan akun saat ini.

## Siapkan file untuk diunggah
<a name="cli-services-glacier-prep"></a>

Buat file untuk unggahan pengujian. Perintah berikut membuat file bernama *largefile* yang berisi persis 3 MiB data acak.

**Linux atau macOS**

```
$ dd if=/dev/urandom of=largefile bs=3145728 count=1
1+0 records in
1+0 records out
3145728 bytes (3.1 MB) copied, 0.205813 s, 15.3 MB/s
```

`dd`adalah utilitas yang menyalin sejumlah byte dari file input ke file output. Contoh sebelumnya menggunakan file perangkat sistem `/dev/urandom` sebagai sumber data acak. `fsutil`melakukan fungsi serupa di Windows.

**Windows**

```
C:\> fsutil file createnew largefile 3145728
File C:\temp\largefile is created
```

Selanjutnya, bagi file menjadi potongan 1 MiB (1.048.576 byte) menggunakan file splitter.

```
$ split -b 1048576 --verbose largefile chunk
creating file `chunkaa'
creating file `chunkab'
creating file `chunkac'
```

## Memulai upload dan meng-upload file multipart
<a name="cli-services-glacier-initiate"></a>

Buat unggahan multibagian di Amazon Glacier dengan menggunakan perintah. `[initiate-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)`

```
$ aws glacier initiate-multipart-upload --account-id - --archive-description "multipart upload test" --part-size 1048576 --vault-name myvault
{
    "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ",
    "location": "/123456789012/vaults/myvault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
}
```

Amazon Glacier memerlukan ukuran setiap bagian dalam byte (1 MiB dalam contoh ini), nama vault Anda, dan ID akun untuk mengonfigurasi unggahan multibagian. AWS CLI Output ID upload ketika operasi selesai. Simpan ID unggahan ke variabel shell untuk digunakan nanti.

**Linux atau macOS**

```
$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
```

**Windows**

```
C:\> set UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
```

Selanjutnya, gunakan `[upload-multipart-part](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html)` perintah untuk mengunggah masing-masing dari tiga bagian.

```
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkaa --range 'bytes 0-1048575/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkab --range 'bytes 1048576-2097151/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkac --range 'bytes 2097152-3145727/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
```

**catatan**  
Contoh sebelumnya menggunakan tanda dolar (`$`) untuk referensi isi variabel `UPLOADID` shell di Linux. Pada baris perintah Windows, gunakan tanda persen (%) di kedua sisi nama variabel (misalnya,`%UPLOADID%`).

Anda harus menentukan rentang byte setiap bagian saat Anda mengunggahnya sehingga Amazon Glacier dapat memasangnya kembali dalam urutan yang benar. Setiap bagian adalah 1.048.576 byte, sehingga bagian pertama menempati byte 0-1048575, yang kedua 1048576-2097151, dan yang ketiga 2097152-3145727.

## Selesaikan unggahan
<a name="cli-services-glacier-complete"></a>

Amazon Glacier memerlukan hash pohon dari file asli untuk mengonfirmasi bahwa semua bagian yang diunggah mencapai utuh. AWS 

Untuk menghitung hash pohon, Anda harus membagi file menjadi 1 bagian MiB dan menghitung hash SHA-256 biner dari setiap bagian. Kemudian Anda membagi daftar hash menjadi pasangan, menggabungkan dua hash biner di setiap pasangan, dan mengambil hash dari hasilnya. Ulangi proses ini sampai hanya ada satu hash yang tersisa. Jika ada jumlah ganjil hash di tingkat mana pun, promosikan ke tingkat berikutnya tanpa memodifikasinya.

Kunci untuk menghitung hash pohon dengan benar saat menggunakan utilitas baris perintah adalah menyimpan setiap hash dalam format biner dan mengkonversi ke heksadesimal hanya pada langkah terakhir. Menggabungkan atau hashing versi heksadesimal dari setiap hash di pohon akan menyebabkan hasil yang salah.

**catatan**  
Pengguna Windows dapat menggunakan `type` perintah sebagai pengganti`cat`. [OpenSSL tersedia untuk Windows di OpenSSL.org.](https://www.openssl.org/source/)

**Untuk menghitung hash pohon**

1. Jika Anda belum melakukannya, pisahkan file asli menjadi 1 bagian MiB.

   ```
   $ split --bytes=1048576 --verbose largefile chunk
   creating file `chunkaa'
   creating file `chunkab'
   creating file `chunkac'
   ```

1. Hitung dan simpan hash biner SHA-256 dari setiap potongan.

   ```
   $ openssl dgst -sha256 -binary chunkaa > hash1
   $ openssl dgst -sha256 -binary chunkab > hash2
   $ openssl dgst -sha256 -binary chunkac > hash3
   ```

1. Gabungkan dua hash pertama dan ambil hash biner hasilnya.

   ```
   $ cat hash1 hash2 > hash12
   $ openssl dgst -sha256 -binary hash12 > hash12hash
   ```

1. Gabungkan hash induk dari potongan `aa` dan `ab` dengan hash potongan dan hash hasilnya, kali ini mengeluarkan `ac` heksadesimal. Simpan hasilnya dalam variabel shell.

   ```
   $ cat hash12hash hash3 > hash123
   $ openssl dgst -sha256 hash123
   SHA256(hash123)= 9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
   $ TREEHASH=9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
   ```

Terakhir, selesaikan unggahan dengan `[complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)` perintah. Perintah ini mengambil ukuran file asli dalam byte, nilai hash pohon akhir dalam heksadesimal, dan ID akun dan nama vault Anda.

```
$ aws glacier complete-multipart-upload --checksum $TREEHASH --archive-size 3145728 --upload-id $UPLOADID --account-id - --vault-name myvault
{
    "archiveId": "d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg",
    "checksum": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67",
    "location": "/123456789012/vaults/myvault/archives/d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"
}
```

Anda juga dapat memeriksa status brankas menggunakan `[describe-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-vault.html)` perintah.

```
$ aws glacier describe-vault --account-id - --vault-name myvault
{
    "SizeInBytes": 3178496,
    "VaultARN": "arn:aws:glacier:us-west-2:123456789012:vaults/myvault",
    "LastInventoryDate": "2018-12-07T00:26:19.028Z",
    "NumberOfArchives": 1,
    "CreationDate": "2018-12-06T21:23:45.708Z",
    "VaultName": "myvault"
}
```

**catatan**  
Status Vault diperbarui sekitar sekali per hari. Lihat [Bekerja dengan Vaults untuk informasi](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) lebih lanjut.

Sekarang aman untuk menghapus file chunk dan hash yang Anda buat.

```
$ rm chunk* hash*
```

*Untuk informasi selengkapnya tentang unggahan multibagian, lihat [Mengunggah Arsip Besar di Checksum Suku Cadang dan Komputasi di](https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) [Panduan Pengembang](https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html) Amazon Glacier.* 

## Sumber daya
<a name="cli-services-glacier-resources"></a>

**AWS CLI Referensi:**
+ `[aws glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)`
+ `[aws glacier complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)`
+ `[aws glacier create-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/create-vault.html)`
+ `[aws glacier describe-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-vault.html)`
+ `[aws glacier initiate-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)`

**Referensi layanan:**
+ [Panduan Pengembang Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/)
+ [Mengunggah Arsip Besar di Bagian dalam](https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) Panduan Pengembang *Amazon Glacier*
+ [Checksum Komputasi](https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html) di Panduan Pengembang Amazon *Glacier*
+ [Bekerja dengan Vaults di Panduan](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) Pengembang Amazon *Glacier*

# Menggunakan IAM di AWS CLI
<a name="cli-services-iam"></a>


| Pengantar AWS Identity and Access Management | 
| --- | 
|    | 

Anda dapat mengakses fitur AWS Identity and Access Management (IAM) menggunakan AWS Command Line Interface (AWS CLI). Untuk membuat daftar AWS CLI perintah untuk IAM, gunakan perintah berikut.

```
aws iam help
```

Topik ini menunjukkan contoh AWS CLI perintah yang melakukan tugas-tugas umum untuk IAM.

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

Untuk informasi selengkapnya tentang layanan IAM, lihat [Panduan AWS Identity and Access Management Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html).

**Topics**
+ [Membuat pengguna dan grup IAM](#cli-services-iam-new-user-group)
+ [Melampirkan kebijakan terkelola IAM ke pengguna](#cli-services-iam-policy)
+ [Menyetel kata sandi awal untuk pengguna IAM](#cli-services-iam-set-pw)
+ [Membuat kunci akses untuk pengguna IAM](#cli-services-iam-create-creds)

## Membuat pengguna dan grup IAM
<a name="cli-services-iam-new-user-group"></a>

**Untuk membuat grup dan menambahkan pengguna baru ke dalamnya**

1. Gunakan perintah untuk membuat grup.

   ```
   $ aws iam create-group --group-name MyIamGroup
   {
       "Group": {
           "GroupName": "MyIamGroup",
           "CreateDate": "2018-12-14T03:03:52.834Z",
           "GroupId": "AGPAJNUJ2W4IJVEXAMPLE",
           "Arn": "arn:aws:iam::123456789012:group/MyIamGroup",
           "Path": "/"
       }
   }
   ```

1. Gunakan perintah untuk membuat pengguna.

   ```
   $ aws iam create-user --user-name MyUser
   {
       "User": {
           "UserName": "MyUser",
           "Path": "/",
           "CreateDate": "2018-12-14T03:13:02.581Z",
           "UserId": "AIDAJY2PE5XUZ4EXAMPLE",
           "Arn": "arn:aws:iam::123456789012:user/MyUser"
       }
   }
   ```

1. Gunakan perintah untuk menambahkan pengguna ke grup.

   ```
   $ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup
   ```

1. Untuk memverifikasi bahwa `MyIamGroup` grup berisi`MyUser`, gunakan perintah.

   ```
   $ aws iam get-group --group-name MyIamGroup
   {
       "Group": {
           "GroupName": "MyIamGroup",
           "CreateDate": "2018-12-14T03:03:52Z",
           "GroupId": "AGPAJNUJ2W4IJVEXAMPLE",
           "Arn": "arn:aws:iam::123456789012:group/MyIamGroup",
           "Path": "/"
       },
       "Users": [
           {
               "UserName": "MyUser",
               "Path": "/",
               "CreateDate": "2018-12-14T03:13:02Z",
               "UserId": "AIDAJY2PE5XUZ4EXAMPLE",
               "Arn": "arn:aws:iam::123456789012:user/MyUser"
           }
       ],
       "IsTruncated": "false"
   }
   ```

## Melampirkan kebijakan terkelola IAM ke pengguna
<a name="cli-services-iam-policy"></a>

Kebijakan dalam contoh ini memberi pengguna “Akses Pengguna Daya”.

**Untuk melampirkan kebijakan terkelola IAM ke pengguna**

1. Tentukan Nama Sumber Daya Amazon (ARN) dari kebijakan yang akan dilampirkan. Perintah berikut digunakan `list-policies` untuk menemukan ARN kebijakan dengan nama. `PowerUserAccess` Kemudian menyimpan ARN itu dalam variabel lingkungan.

   ```
   $ export POLICYARN=$(aws iam list-policies --query 'Policies[?PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text)       ~
   $ echo $POLICYARN
   arn:aws:iam::aws:policy/PowerUserAccess
   ```

1. Untuk melampirkan kebijakan, gunakan perintah, dan referensi variabel lingkungan yang memegang ARN kebijakan.

   ```
   $ aws iam attach-user-policy --user-name MyUser --policy-arn $POLICYARN
   ```

1. Verifikasi bahwa kebijakan dilampirkan ke pengguna dengan menjalankan perintah.

   ```
   $ aws iam list-attached-user-policies --user-name MyUser
   {
       "AttachedPolicies": [
           {
               "PolicyName": "PowerUserAccess",
               "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess"
           }
       ]
   }
   ```

Untuk informasi selengkapnya, lihat [Sumber Daya Manajemen Akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-additional-resources.html). Topik ini menyediakan tautan ke ikhtisar izin dan kebijakan, serta tautan ke contoh kebijakan untuk mengakses Amazon S3, EC2 Amazon, dan layanan lainnya.

## Menyetel kata sandi awal untuk pengguna IAM
<a name="cli-services-iam-set-pw"></a>

Perintah berikut digunakan `[create-login-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-login-profile.html)` untuk mengatur kata sandi awal pada pengguna yang ditentukan. Saat pengguna masuk untuk pertama kalinya, pengguna diminta untuk mengubah kata sandi menjadi sesuatu yang hanya diketahui pengguna.

```
$ aws iam create-login-profile --user-name MyUser --password My!User1Login8P@ssword --password-reset-required
{
    "LoginProfile": {
        "UserName": "MyUser",
        "CreateDate": "2018-12-14T17:27:18Z",
        "PasswordResetRequired": true
    }
}
```

Anda dapat menggunakan `update-login-profile` perintah untuk *mengubah* kata sandi untuk pengguna.

```
$ aws iam update-login-profile --user-name MyUser --password My!User1ADifferentP@ssword
```

## Membuat kunci akses untuk pengguna IAM
<a name="cli-services-iam-create-creds"></a>

Anda dapat menggunakan perintah untuk membuat kunci akses bagi pengguna. Kunci akses adalah seperangkat kredensi keamanan yang terdiri dari ID kunci akses dan kunci rahasia. 

Seorang pengguna hanya dapat membuat dua kunci akses pada satu waktu. Jika Anda mencoba membuat set ketiga, perintah mengembalikan `LimitExceeded` kesalahan.

```
$ aws iam create-access-key --user-name MyUser
{
    "AccessKey": {
        "UserName": "MyUser",
        "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "Status": "Active",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "CreateDate": "2018-12-14T17:34:16Z"
    }
}
```

Gunakan perintah untuk menghapus kunci akses bagi pengguna. Tentukan kunci akses mana yang akan dihapus dengan menggunakan ID kunci akses.

```
$ aws iam delete-access-key --user-name MyUser --access-key-id AKIAIOSFODNN7EXAMPLE
```

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


| Pengantar Amazon Simple Storage Service (Amazon S3) | 
| --- | 
|    | 

Anda dapat mengakses fitur Amazon Simple Storage Service (Amazon S3) Simple Storage Service (). AWS Command Line Interface AWS CLI Amazon S3 adalah layanan penyimpanan objek yang sangat skalabel dan tahan lama. Amazon S3 dirancang untuk menyediakan kapasitas penyimpanan yang hampir tidak terbatas, menjadikannya solusi ideal untuk berbagai kebutuhan penyimpanan dan manajemen data.

Amazon S3 memungkinkan Anda untuk menyimpan dan mengambil sejumlah data, dari file kecil hingga kumpulan data besar, dalam bentuk objek. Setiap objek disimpan dalam wadah yang disebut ember, yang dapat diakses dan dikelola melalui Konsol Manajemen AWS atau secara terprogram melalui AWS SDKs, alat, dan AWS CLI.

Termasuk penyimpanan dasar, Amazon S3 juga menawarkan berbagai fitur termasuk manajemen siklus hidup, pembuatan versi, skalabilitas, dan keamanan. Ini terintegrasi dengan solusi lain yang Layanan AWS memungkinkan Anda membangun solusi berbasis cloud yang sesuai dengan kebutuhan Anda.

 AWS CLI Ini menyediakan dua tingkatan perintah untuk mengakses Amazon S3:
+ **s3** — Perintah tingkat tinggi khusus yang dibuat khusus untuk AWS CLI yang menyederhanakan melakukan tugas-tugas umum, seperti membuat, memanipulasi, menghapus, dan menyinkronkan objek dan bucket.
+ **s3api** - Mengekspos akses langsung ke semua operasi API Amazon S3 yang memungkinkan Anda untuk melakukan operasi lanjutan.

**Topics**
+ [Menggunakan perintah tingkat tinggi (s3) di AWS CLI](cli-services-s3-commands.md)
+ [Menggunakan perintah API-level (s3api) di AWS CLI](cli-services-s3-apicommands.md)
+ [Contoh skrip untuk siklus hidup bucket Amazon S3 di AWS CLI](cli-services-s3-lifecycle-example.md)

# Menggunakan perintah tingkat tinggi (s3) di AWS CLI
<a name="cli-services-s3-commands"></a>

Topik ini menjelaskan beberapa perintah yang dapat Anda gunakan untuk mengelola bucket dan objek Amazon S3 menggunakan perintah di. AWS CLI Untuk perintah yang tidak tercakup dalam topik ini dan contoh perintah tambahan, lihat perintah di *AWS CLI Referensi*.

`aws s3`Perintah tingkat tinggi menyederhanakan pengelolaan objek Amazon S3. Perintah ini memungkinkan Anda untuk mengelola konten Amazon S3 di dalam dirinya sendiri dan dengan direktori lokal.

**Topics**
+ [Prasyarat](#using-s3-commands-prereqs)
+ [Sebelum Anda mulai](#using-s3-commands-before)
+ [Membuat bucket](#using-s3-commands-managing-buckets-creating)
+ [Daftar ember dan benda](#using-s3-commands-listing-buckets)
+ [Hapus ember](#using-s3-commands-delete-buckets)
+ [Hapus objek](#using-s3-commands-delete-objects)
+ [Pindahkan objek](#using-s3-commands-managing-objects-move)
+ [Menyalin objek](#using-s3-commands-managing-objects-copy)
+ [Sinkronkan objek](#using-s3-commands-managing-objects-sync)
+ [Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param)
+ [Sumber daya](#using-s3-commands-managing-buckets-references)

## Prasyarat
<a name="using-s3-commands-prereqs"></a>

Untuk menjalankan `s3` 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).
+ Profil yang Anda gunakan harus memiliki izin yang memungkinkan AWS operasi dilakukan oleh contoh.
+ Pahami istilah Amazon S3 ini:
  + **Bucket** - Folder Amazon S3 tingkat atas.
  + **Awalan** - Folder Amazon S3 dalam ember.
  + **Objek** - Item apa pun yang di-host di ember Amazon S3.

## Sebelum Anda mulai
<a name="using-s3-commands-before"></a>

Bagian ini menjelaskan beberapa hal yang perlu diperhatikan sebelum Anda menggunakan `aws s3` perintah.

### Unggahan objek besar
<a name="using-s3-commands-before-large"></a>

Saat Anda menggunakan `aws s3` perintah untuk mengunggah objek besar ke bucket Amazon S3, AWS CLI secara otomatis melakukan pengunggahan multibagian. Anda tidak dapat melanjutkan unggahan yang gagal saat menggunakan `aws s3` perintah ini. 

Jika unggahan multipart gagal karena batas waktu, atau jika Anda membatalkan secara manual AWS CLI, maka akan AWS CLI menghentikan unggahan dan membersihkan file apa pun yang dibuat. Proses ini dapat memakan waktu beberapa menit. 

Jika proses upload atau pembersihan multipart dibatalkan oleh perintah kill atau kegagalan sistem, file yang dibuat tetap berada di bucket Amazon S3. [Untuk membersihkan unggahan multipart, gunakan perintah s3api . abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)

### Properti file dan tag dalam salinan multipart
<a name="using-s3-commands-before-tags"></a>

Saat Anda menggunakan perintah AWS CLI versi 1 di `aws s3` namespace untuk menyalin file dari satu lokasi bucket Amazon S3 ke lokasi bucket Amazon S3 lainnya, dan operasi tersebut [menggunakan salinan multibagian](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CopyingObjctsMPUapi.html), tidak ada properti file dari objek sumber yang disalin ke objek tujuan.

Secara default, perintah AWS CLI versi 2 di `s3` namespace yang melakukan salinan multipart mentransfer semua tag dan kumpulan properti berikut dari sumber ke salinan tujuan:`content-type`,,,,`content-language`, `content-encoding` `content-disposition``cache-control`, `expires` dan. `metadata`

Ini dapat menghasilkan panggilan AWS API tambahan ke titik akhir Amazon S3 yang tidak akan dibuat jika Anda menggunakan AWS CLI versi 1. Ini dapat mencakup:`HeadObject`,`GetObjectTagging`, dan`PutObjectTagging`.

Jika Anda perlu mengubah perilaku default ini dalam perintah AWS CLI versi 2, gunakan `--copy-props` parameter untuk menentukan salah satu opsi berikut:
+ **default** — Nilai default. Menentukan bahwa salinan mencakup semua tag yang dilampirkan ke objek sumber dan properti yang dicakup oleh `--metadata-directive` parameter yang digunakan untuk salinan non-multipart:`content-type`,,,,, `content-language``content-encoding`, `content-disposition` dan. `cache-control` `expires` `metadata`
+ **metadata-directive** - Menentukan bahwa salinan hanya mencakup properti yang dicakup oleh parameter yang digunakan untuk salinan non-multipart. `--metadata-directive` Itu tidak menyalin tag apa pun.
+ **none** - Menentukan bahwa salinan termasuk tidak ada properti dari objek sumber.

## Membuat bucket
<a name="using-s3-commands-managing-buckets-creating"></a>

Gunakan perintah untuk membuat ember. Nama bucket harus unik ***secara global*** (unik di semua Amazon S3) dan harus sesuai dengan DNS. 

Nama bucket dapat berisi huruf kecil, angka, tanda hubung, dan titik. Nama bucket dapat dimulai dan diakhiri hanya dengan huruf atau angka, dan tidak dapat berisi titik di sebelah tanda hubung atau periode lain. 

**Sintaksis**

```
$ aws s3 mb <target> [--options]
```

### contoh s3 mb
<a name="using-s3-commands-managing-buckets-creating-examples"></a>

Contoh berikut membuat `s3://amzn-s3-demo-bucket` bucket.

```
$ aws s3 mb s3://amzn-s3-demo-bucket
```

## Daftar ember dan benda
<a name="using-s3-commands-listing-buckets"></a>

Untuk membuat daftar bucket, folder, atau objek Anda, gunakan perintah. Menggunakan perintah tanpa target atau opsi mencantumkan semua ember. 

**Sintaksis**

```
$ aws s3 ls <target> [--options]
```

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi yang tersedia, lihat di *Referensi AWS CLI Perintah*.

### s3 ls contoh
<a name="using-s3-commands-managing-objects-list-examples"></a>

Contoh berikut mencantumkan semua bucket Amazon S3 Anda.

```
$ aws s3 ls
2018-12-11 17:08:50 amzn-s3-demo-bucket1
2018-12-14 14:55:44 amzn-s3-demo-bucket2
```

Perintah berikut mencantumkan semua objek dan awalan dalam ember. Dalam contoh output ini, awalan `example/` memiliki satu file bernama`MyFile1.txt`.

```
$ aws s3 ls s3://amzn-s3-demo-bucket
                           PRE example/
2018-12-04 19:05:48          3 MyFile1.txt
```

Anda dapat memfilter output ke awalan tertentu dengan memasukkannya ke dalam perintah. Perintah berikut mencantumkan objek di *bucket-name/example/* (yaitu, objek yang *bucket-name* disaring oleh awalan*example/*).

```
$ aws s3 ls s3://amzn-s3-demo-bucket/example/
2018-12-06 18:59:32          3 MyFile1.txt
```

Untuk hanya menampilkan ember dan objek di wilayah tertentu, gunakan opsi `--region`

```
$ aws s3 ls --region us-east-2
2018-12-06 18:59:32          3 MyFile1.txt
```

Jika Anda memiliki daftar besar ember dan objek, Anda dapat membuat paginasi hasil menggunakan opsi `--max-items` atau`--page-size`. `--max-items`Opsi membatasi berapa banyak total bucket dan objek yang dikembalikan dalam panggilan dan `--page-size` opsi membatasi berapa banyak dari mereka yang tercantum pada halaman.

```
$ aws s3 ls --max-items 100 --page-size 10
```

Untuk informasi lebih lanjut tentang pagination, lihat [Cara menggunakan parameter --page-size](cli-usage-pagination.md#cli-usage-pagination-pagesize) dan[Cara menggunakan parameter --max-items](cli-usage-pagination.md#cli-usage-pagination-maxitems).

## Hapus ember
<a name="using-s3-commands-delete-buckets"></a>

Untuk menghapus ember, gunakan perintah. 

**Sintaksis**

```
$ aws s3 rb <target> [--options]
```

### contoh s3 rb
<a name="using-s3-commands-removing-buckets-examples"></a>

Contoh berikut menghapus `s3://amzn-s3-demo-bucket` ember.

```
$ aws s3 rb s3://amzn-s3-demo-bucket
```

Secara default, bucket harus kosong agar operasi berhasil. Untuk menghapus ember yang tidak kosong, Anda harus menyertakan `--force` opsi. *Jika Anda menggunakan bucket berversi yang berisi objek yang sebelumnya dihapus—tetapi dipertahankan—, perintah ini tidak memungkinkan Anda untuk menghapus bucket.* Anda harus terlebih dahulu menghapus semua konten.

Contoh berikut menghapus semua objek dan awalan di bucket, dan kemudian menghapus bucket.

```
$ aws s3 rb s3://amzn-s3-demo-bucket --force
```

## Hapus objek
<a name="using-s3-commands-delete-objects"></a>

Untuk menghapus objek dalam ember atau direktori lokal Anda, gunakan perintah. 

**Sintaksis**

```
$ aws s3 rm  <target> [--options]
```

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi, lihat di *Referensi AWS CLI Perintah*.

### s3 rm contoh
<a name="using-s3-commands-delete-objects-examples"></a>

Contoh berikut menghapus `filename.txt` dari`s3://amzn-s3-demo-bucket/example`.

```
$ aws s3 rm s3://amzn-s3-demo-bucket/example/filename.txt
```

Contoh berikut menghapus semua objek dari `s3://amzn-s3-demo-bucket/example` menggunakan `--recursive` opsi.

```
$ aws s3 rm s3://amzn-s3-demo-bucket/example --recursive
```

## Pindahkan objek
<a name="using-s3-commands-managing-objects-move"></a>

Gunakan perintah untuk memindahkan objek dari ember atau direktori lokal. `s3 mv`Perintah menyalin objek sumber atau file ke tujuan yang ditentukan dan kemudian menghapus objek sumber atau file.

**Sintaksis**

```
$ aws s3 mv <source> <target> [--options]
```

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi yang tersedia, lihat di *Referensi AWS CLI Perintah*.

**Awas**  
Jika Anda menggunakan semua jenis titik akses ARNs atau alias titik akses di sumber atau tujuan Amazon S3 Anda, Anda harus berhati-hati agar sumber dan URIs tujuan Amazon URIs S3 Anda menyelesaikan ke bucket dasar yang berbeda. Jika bucket sumber dan tujuan sama, file sumber atau objek dapat dipindahkan ke dirinya sendiri, yang dapat mengakibatkan penghapusan file sumber atau objek Anda secara tidak sengaja. Untuk memverifikasi bahwa bucket sumber dan tujuan tidak sama, gunakan `--validate-same-s3-paths` parameter, atau atur variabel lingkungan ``AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS`` ke`true`.

### s3 mv contoh
<a name="using-s3-commands-managing-objects-move-examples"></a>

Contoh berikut memindahkan semua objek dari `s3://amzn-s3-demo-bucket/example` ke`s3://amzn-s3-demo-bucket/`.

```
$ aws s3 mv s3://amzn-s3-demo-bucket/example s3://amzn-s3-demo-bucket/
```

Contoh berikut memindahkan file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengan perintah. `s3 mv`

```
$ aws s3 mv filename.txt s3://amzn-s3-demo-bucket
```

Contoh berikut memindahkan file dari bucket Amazon S3 ke direktori kerja saat ini, tempat `./` menentukan direktori kerja Anda saat ini.

```
$ aws s3 mv s3://amzn-s3-demo-bucket/filename.txt ./
```

## Menyalin objek
<a name="using-s3-commands-managing-objects-copy"></a>

Gunakan perintah untuk menyalin objek dari ember atau direktori lokal. 

**Sintaksis**

```
$ aws s3 cp <source> <target> [--options]
```

Anda dapat menggunakan parameter dasbor untuk streaming file ke input standar (`stdin`) atau output standar (`stdout`). 

**Awas**  
Jika Anda menggunakan PowerShell, shell mungkin mengubah pengkodean CRLF atau menambahkan CRLF ke input atau output pipa, atau output yang dialihkan.

`s3 cp`Perintah menggunakan sintaks berikut untuk mengunggah aliran file dari `stdin` bucket tertentu.

**Sintaksis**

```
$ aws s3 cp - <target> [--options]
```

`s3 cp`Perintah menggunakan sintaks berikut untuk mengunduh aliran file Amazon S3 untuk. `stdout`

**Sintaksis**

```
$ aws s3 cp <target> [--options] -
```

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi, lihat di *Referensi AWS CLI Perintah*.

### `s3 cp` contoh
<a name="using-s3-commands-managing-objects-copy-examples"></a>

Contoh berikut menyalin semua objek dari `s3://amzn-s3-demo-bucket/example` ke`s3://amzn-s3-demo-bucket/`.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/example s3://amzn-s3-demo-bucket/
```

Contoh berikut menyalin file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengan perintah. `s3 cp`

```
$ aws s3 cp filename.txt s3://amzn-s3-demo-bucket
```

Contoh berikut menyalin file dari bucket Amazon S3 Anda ke direktori kerja Anda saat ini, yang `./` menentukan direktori kerja Anda saat ini.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/filename.txt ./
```

Contoh berikut menggunakan echo untuk mengalirkan teks “hello world” ke `s3://bucket-name/filename.txt` file.

```
$ echo "hello world" | aws s3 cp - s3://amzn-s3-demo-bucket/filename.txt
```

Contoh berikut mengalirkan `s3://amzn-s3-demo-bucket/filename.txt` file ke `stdout` dan mencetak konten ke konsol.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/filename.txt -
hello world
```

Contoh berikut mengalirkan konten `s3://bucket-name/pre` to`stdout`, menggunakan `bzip2` perintah untuk mengompres file, dan mengunggah file terkompresi baru yang diberi nama. `key.bz2` `s3://bucket-name`

```
$ aws s3 cp s3://amzn-s3-demo-bucket/pre - | bzip2 --best | aws s3 cp - s3://amzn-s3-demo-bucket/key.bz2
```

## Sinkronkan objek
<a name="using-s3-commands-managing-objects-sync"></a>

Perintah menyinkronkan isi ember dan direktori, atau isi dua ember. Biasanya, `s3 sync` menyalin file atau objek yang hilang atau usang antara sumber dan target. Namun, Anda juga dapat menyediakan `--delete` opsi untuk menghapus file atau objek dari target yang tidak ada di sumbernya. 

**Sintaksis**

```
$ aws s3 sync <source> <target> [--options]
```

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihat[Opsi yang sering digunakan untuk perintah s3](#using-s3-commands-managing-objects-param). Untuk daftar lengkap opsi, lihat di *Referensi AWS CLI Perintah*.

### contoh sinkronisasi s3
<a name="using-s3-commands-managing-objects-sync-examples"></a>

Contoh berikut menyinkronkan konten jalur *bernama awalan Amazon S3 di bucket *bernama** amzn-s3-demo-bucket dengan direktori kerja saat ini. 

`s3 sync`memperbarui file apa pun yang memiliki ukuran atau waktu modifikasi yang berbeda dari file dengan nama yang sama di tempat tujuan. Output menampilkan operasi tertentu yang dilakukan selama sinkronisasi. Perhatikan bahwa operasi secara rekursif menyinkronkan subdirektori `MySubdirectory` dan isinya dengan. `s3://amzn-s3-demo-bucket/path/MySubdirectory`

```
$ aws s3 sync . s3://amzn-s3-demo-bucket/path
upload: MySubdirectory\MyFile3.txt to s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt
upload: MyFile2.txt to s3://amzn-s3-demo-bucket/path/MyFile2.txt
upload: MyFile1.txt to s3://amzn-s3-demo-bucket/path/MyFile1.txt
```

Contoh berikut, yang memperluas yang sebelumnya, menunjukkan cara menggunakan `--delete` opsi.

```
// Delete local file
$ rm ./MyFile1.txt

// Attempt sync without --delete option - nothing happens
$ aws s3 sync . s3://amzn-s3-demo-bucket/path

// Sync with deletion - object is deleted from bucket
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --delete
delete: s3://amzn-s3-demo-bucket/path/MyFile1.txt

// Delete object from bucket
$ aws s3 rm s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt
delete: s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt

// Sync with deletion - local file is deleted
$ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete
delete: MySubdirectory\MyFile3.txt

// Sync with Infrequent Access storage class
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --storage-class STANDARD_IA
```

Saat menggunakan `--delete` opsi, `--include` opsi `--exclude` dan dapat memfilter file atau objek yang akan dihapus selama `s3 sync` operasi. Dalam hal ini, string parameter harus menentukan file yang akan dikecualikan dari, atau menyertakan untuk, penghapusan dalam konteks direktori target atau bucket. Bagian berikut menunjukkan satu contoh.

```
Assume local directory and s3://amzn-s3-demo-bucket/path currently in sync and each contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt
'''

// Sync with delete, excluding files that match a pattern. MyFile88.txt is deleted, while remote MyFile1.txt is not.
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --delete --exclude "path/MyFile?.txt"
delete: s3://amzn-s3-demo-bucket/path/MyFile88.txt
'''

// Sync with delete, excluding MyFile2.rtf - local file is NOT deleted
$ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete --exclude "./MyFile2.rtf"
download: s3://amzn-s3-demo-bucket/path/MyFile1.txt to MyFile1.txt
'''

// Sync with delete, local copy of MyFile2.rtf is deleted
$ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete
delete: MyFile2.rtf
```

## Opsi yang sering digunakan untuk perintah s3
<a name="using-s3-commands-managing-objects-param"></a>

Opsi berikut sering digunakan untuk perintah yang dijelaskan dalam topik ini. Untuk daftar lengkap opsi yang dapat Anda gunakan pada perintah, lihat perintah khusus dalam [versi 2 panduan referensi](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**acl**  
`s3 sync`dan `s3 cp` dapat menggunakan `--acl` opsi. Ini memungkinkan Anda untuk mengatur izin akses untuk file yang disalin ke Amazon S3. `--acl`Opsi menerima`private`,`public-read`, dan `public-read-write` nilai. Untuk informasi selengkapnya, lihat [ACL Kalengan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) di Panduan *Pengguna Amazon S3*.  

```
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --acl public-read
```

**mengecualikan**  
Saat Anda menggunakan`s3 cp`,`s3 mv`,`s3 sync`, atau `s3 rm` perintah, Anda dapat memfilter hasil dengan menggunakan `--include` opsi `--exclude` or. `--exclude`Opsi menetapkan aturan untuk hanya mengecualikan objek dari perintah, dan opsi berlaku dalam urutan yang ditentukan. Seperti yang ditunjukkan dalam contoh berikut.  

```
Local directory contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt

// Exclude all .txt files, resulting in only MyFile2.rtf being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt"

// Exclude all .txt files but include all files with the "MyFile*.txt" format, resulting in, MyFile1.txt, MyFile2.rtf, MyFile88.txt being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" --include "MyFile*.txt"

// Exclude all .txt files, but include all files with the "MyFile*.txt" format, but exclude all files with the "MyFile?.txt" format resulting in, MyFile2.rtf and MyFile88.txt being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" --include "MyFile*.txt" --exclude "MyFile?.txt"
```

**memasukkan**  
Saat Anda menggunakan`s3 cp`,`s3 mv`,`s3 sync`, atau `s3 rm` perintah, Anda dapat memfilter hasil menggunakan `--include` opsi `--exclude` or. `--include`Opsi menetapkan aturan untuk hanya menyertakan objek yang ditentukan untuk perintah, dan opsi berlaku dalam urutan yang ditentukan. Seperti yang ditunjukkan dalam contoh berikut.  

```
Local directory contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt

// Include all .txt files, resulting in MyFile1.txt and MyFile88.txt being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt"

// Include all .txt files but exclude all files with the "MyFile*.txt" format, resulting in no files being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" --exclude "MyFile*.txt"

// Include all .txt files, but exclude all files with the "MyFile*.txt" format, but include all files with the "MyFile?.txt" format resulting in MyFile1.txt being copied

$ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" --exclude "MyFile*.txt" --include "MyFile?.txt"
```

**pemberian izin**  
`s3 sync`Perintah `s3 cp``s3 mv`,, dan menyertakan `--grants` opsi yang dapat Anda gunakan untuk memberikan izin pada objek kepada pengguna atau grup tertentu. Atur `--grants` opsi ke daftar izin menggunakan sintaks berikut. Ganti `Permission`, `Grantee_Type`, dan `Grantee_ID` dengan nilai Anda sendiri.  
**Sintaksis**  

```
--grants Permission=Grantee_Type=Grantee_ID
         [Permission=Grantee_Type=Grantee_ID ...]
```
Setiap nilai mengandung elemen-elemen berikut:  
+ *Permission*- Menentukan izin yang diberikan. Dapat diatur ke`read`,`readacl`,`writeacl`, atau`full`.
+ *Grantee\$1Type*— Menentukan bagaimana mengidentifikasi penerima hibah. Dapat diatur ke`uri`,`emailaddress`, atau`id`.
+ *Grantee\$1ID*— Menentukan penerima hibah berdasarkan. *Grantee\$1Type*
  + `uri`— URI kelompok. Untuk informasi lebih lanjut, lihat [Siapa penerima hibah?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ACLOverview.html#SpecifyingGrantee)
  + `emailaddress`— Alamat email akun.
  + `id`— ID kanonik akun.
Untuk informasi selengkapnya tentang kontrol akses Amazon S3, lihat Kontrol [akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html).  
Contoh berikut menyalin objek ke dalam ember. Ini memberikan `read` izin pada objek untuk semua orang, dan `full` izin (, `read``readacl`, dan`writeacl`) ke akun yang terkait dengan. `user@example.com`   

```
$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com
```
Anda juga dapat menentukan kelas penyimpanan nondefault (`REDUCED_REDUNDANCY`atau`STANDARD_IA`) untuk objek yang Anda unggah ke Amazon S3. Untuk melakukan ini, gunakan `--storage-class` opsi.  

```
$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --storage-class REDUCED_REDUNDANCY
```

**tidak menimpa**  
`s3 sync`Perintah `s3 cp``s3 mv`,, dan menyertakan `--no-overwrite` opsi yang dapat Anda gunakan untuk mencegah penimpaan objek yang sudah ada di tujuan.  
Contoh berikut menyalin objek dari bucket ke direktori lokal hanya jika belum ada di direktori lokal.  

```
$ aws s3 cp --no-overwrite s3://amzn-s3-demo-bucket/file.txt file.txt
```
Contoh berikut secara rekursif menyalin file dari direktori lokal ke bucket. Ini hanya akan menyalin file yang belum ada di ember.  

```
$ aws s3 cp --recursive --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```
Contoh berikut memindahkan objek dari direktori lokal ke bucket hanya jika objek tersebut belum ada di lokasi tujuan bucket.  

```
$ aws s3 mv --no-overwrite file.txt s3://amzn-s3-demo-bucket/file.txt
```
Contoh berikut menyinkronkan file dari direktori lokal ke bucket. Ini hanya akan menyinkronkan file yang belum ada di bucket tujuan.  

```
$ aws s3 sync --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```

**rekursif**  
Bila Anda menggunakan opsi ini, perintah dilakukan pada semua file atau objek di bawah direktori atau awalan yang ditentukan. Contoh berikut menghapus `s3://amzn-s3-demo-bucket/path` dan semua isinya.  

```
$ aws s3 rm s3://amzn-s3-demo-bucket/path --recursive
```

## Sumber daya
<a name="using-s3-commands-managing-buckets-references"></a>

**AWS CLI Referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html)

**Referensi layanan:**
+ [Bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) *di Panduan Pengguna Amazon S3*
+ [Bekerja dengan objek Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) Pengguna *Amazon S3*
+ [Kunci daftar secara hierarkis menggunakan awalan dan pembatas dalam Panduan Pengguna](https://docs.aws.amazon.com//AmazonS3/latest/userguide/ListingKeysHierarchy.html) *Amazon S3*
+ [https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html)

# Menggunakan perintah API-level (s3api) di AWS CLI
<a name="cli-services-s3-apicommands"></a>

Perintah API-level (terkandung dalam set `s3api` perintah) menyediakan akses langsung ke Amazon Simple Storage Service (Amazon APIs S3), dan mengaktifkan beberapa operasi yang tidak diekspos dalam perintah tingkat tinggi. `s3` Perintah ini setara dengan AWS layanan lain yang menyediakan akses tingkat API ke fungsionalitas layanan. Untuk informasi selengkapnya tentang `s3` perintah, lihat [Menggunakan perintah tingkat tinggi (s3) di AWS CLI](cli-services-s3-commands.md)

Topik ini memberikan contoh yang menunjukkan cara menggunakan perintah tingkat rendah yang dipetakan ke Amazon S3. APIs Selain itu, Anda dapat menemukan contoh untuk setiap perintah API S3 di `s3api` bagian [referensi](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html).

**Topics**
+ [Prasyarat](#cli-services-s3-apicommands-prereqs)
+ [Menerapkan ACL kustom](#cli-services-s3-apicommands-acls)
+ [Konfigurasikan kebijakan pencatatan](#cli-services-s3-apicommands-logpol)
+ [Sumber daya](#cli-services-s3-apicommands-resources)

## Prasyarat
<a name="cli-services-s3-apicommands-prereqs"></a>

Untuk menjalankan `s3api` 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).
+ Profil yang Anda gunakan harus memiliki izin yang memungkinkan AWS operasi dilakukan oleh contoh.
+ Pahami istilah Amazon S3 ini:
  + **Bucket** - Folder Amazon S3 tingkat atas.
  + **Awalan** - Folder Amazon S3 dalam ember.
  + **Objek** - Item apa pun yang di-host di ember Amazon S3.

## Menerapkan ACL kustom
<a name="cli-services-s3-apicommands-acls"></a>

Dengan perintah tingkat tinggi, Anda dapat menggunakan `--acl` opsi untuk menerapkan daftar kontrol akses (ACLs) yang telah ditentukan sebelumnya ke objek Amazon S3. Tetapi Anda tidak dapat menggunakan perintah itu untuk mengatur lebar ember ACLs. Namun, Anda dapat melakukan ini dengan menggunakan perintah `` `[put-bucket-acl](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html)` API-level. 

Contoh berikut menunjukkan cara memberikan kontrol penuh kepada dua AWS pengguna (*user1@example.com* dan *user2@example.com*) dan izin baca untuk semua orang. Pengidentifikasi untuk “semua orang” berasal dari URI khusus yang Anda lewati sebagai parameter.

```
$ aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-full-control 'emailaddress="user1@example.com",emailaddress="user2@example.com"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'
```

Untuk detail tentang cara membuat ACLs, lihat [PUT Bucket acl](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) di Referensi *API Amazon Simple Storage Service*. Perintah `s3api` ACL di CLI, `put-bucket-acl` seperti, menggunakan notasi argumen [singkatan yang sama](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html).

## Konfigurasikan kebijakan pencatatan
<a name="cli-services-s3-apicommands-logpol"></a>

Perintah API `put-bucket-logging` mengonfigurasi kebijakan pencatatan bucket. 

Dalam contoh berikut, AWS pengguna *user@example.com* diberikan kontrol penuh atas file log, dan semua pengguna telah membaca akses ke file tersebut. Perhatikan bahwa `put-bucket-acl` perintah juga diperlukan untuk memberikan sistem pengiriman log Amazon S3 (ditentukan oleh URI) izin yang diperlukan untuk membaca dan menulis log ke bucket.

```
$ aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'
$ aws s3api put-bucket-logging --bucket amzn-s3-demo-bucket --bucket-logging-status file://logging.json
```

`logging.json`File dalam perintah sebelumnya memiliki konten berikut.

```
{
  "LoggingEnabled": {
    "TargetBucket": "amzn-s3-demo-bucket",
    "TargetPrefix": "amzn-s3-demo-bucketLogs/",
    "TargetGrants": [
      {
        "Grantee": {
          "Type": "AmazonCustomerByEmail",
          "EmailAddress": "user@example.com"
        },
        "Permission": "FULL_CONTROL"
      },
      {
        "Grantee": {
          "Type": "Group",
          "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
        },
        "Permission": "READ"
      }
    ]
  }
}
```

## Sumber daya
<a name="cli-services-s3-apicommands-resources"></a>

**AWS CLI Referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-acl.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-logging.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-logging.html)

**Referensi layanan:**
+ [Bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) *di Panduan Pengguna Amazon S3*
+ [Bekerja dengan objek Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) Pengguna *Amazon S3*
+ [Kunci daftar secara hierarkis menggunakan awalan dan pembatas dalam Panduan Pengguna](https://docs.aws.amazon.com//AmazonS3/latest/userguide/ListingKeysHierarchy.html) *Amazon S3*
+ [https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html)

# Contoh skrip untuk siklus hidup bucket Amazon S3 di AWS CLI
<a name="cli-services-s3-lifecycle-example"></a>

Topik ini menggunakan contoh skrip bash untuk operasi siklus hidup bucket Amazon S3 menggunakan (). AWS Command Line Interface AWS CLI Contoh scripting ini menggunakan set perintah. Skrip Shell adalah program yang dirancang untuk berjalan di antarmuka baris perintah.

**Topics**
+ [Sebelum Anda mulai](#cli-services-s3-lifecycle-example-before)
+ [Tentang contoh ini](#cli-services-s3-lifecycle-example-about)
+ [Berkas](#cli-services-s3-lifecycle-example-files)
+ [Referensi](#cli-services-s3-lifecycle-example-references)

## Sebelum Anda mulai
<a name="cli-services-s3-lifecycle-example-before"></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.
+ Sebagai praktik AWS terbaik, berikan kode ini hak istimewa paling sedikit, atau hanya izin yang diperlukan untuk melakukan tugas. Untuk informasi lebih lanjut, lihat [Berikan hak istimewa terkecil](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dalam *Panduan Pengguna 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. 

Layanan Amazon S3 menggunakan istilah berikut:
+ Bucket - Folder Amazon S3 tingkat atas.
+ Awalan - Folder Amazon S3 dalam ember.
+ Objek - Item apa pun yang dihosting di ember Amazon S3.

## Tentang contoh ini
<a name="cli-services-s3-lifecycle-example-about"></a>

Contoh ini menunjukkan bagaimana berinteraksi dengan beberapa operasi Amazon S3 dasar menggunakan serangkaian fungsi dalam file skrip shell. Fungsinya terletak di file skrip shell bernama`bucket-operations.sh`. Anda dapat memanggil fungsi-fungsi ini di file lain. Setiap file skrip berisi komentar yang menjelaskan masing-masing fungsi.

Untuk melihat hasil antara setiap langkah, jalankan skrip dengan `-i` parameter. Anda dapat melihat status bucket saat ini atau isinya menggunakan konsol Amazon S3. Script hanya melanjutkan ke langkah berikutnya ketika Anda menekan **enter** pada prompt. 

*Untuk contoh lengkap dan file skrip yang dapat diunduh, lihat Operasi [Siklus Hidup Bucket Amazon S3 di](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations) Repositori Contoh Kode AWS . *GitHub**

## Berkas
<a name="cli-services-s3-lifecycle-example-files"></a>

Contoh berisi file-file berikut:

**bucket-operations.sh**  
File skrip utama ini dapat bersumber dari file lain. Ini termasuk fungsi yang melakukan tugas-tugas berikut:  
+ Membuat ember dan memverifikasi bahwa itu ada
+ Menyalin file dari komputer lokal ke ember
+ Menyalin file dari satu lokasi bucket ke lokasi bucket yang berbeda
+ Daftar isi ember
+ Menghapus file dari ember
+ Menghapus bucket
Lihat kode untuk `[bucket-operations.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations/bucket_operations.sh)` aktif *GitHub*.

**test-bucket-operations.sh**  
File skrip shell `test-bucket-operations.sh` menunjukkan cara memanggil fungsi dengan mencari `bucket-operations.sh` file dan memanggil masing-masing fungsi. Setelah memanggil fungsi, skrip pengujian menghapus semua sumber daya yang dibuatnya.   
Lihat kode untuk `[test-bucket-operations.sh](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/aws-cli/bash-linux/s3/bucket-lifecycle-operations/test_bucket_operations.sh)` aktif *GitHub*.

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

## Referensi
<a name="cli-services-s3-lifecycle-example-references"></a>

**AWS CLI referensi:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-bucket.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-bucket.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/head-bucket.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-bucket.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html)

**Referensi lainnya:**
+ [Bekerja dengan bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) *di Panduan Pengguna Amazon S3*
+ [Bekerja dengan objek Amazon S3 di Panduan](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) Pengguna *Amazon S3*
+ 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*

# Mengakses Amazon SNS di AWS CLI
<a name="cli-services-sns"></a>

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

```
aws sns 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 yang melakukan tugas umum untuk Amazon SNS.

**Topics**
+ [Buat topik](#cli-create-sns-topic)
+ [Berlangganan topik](#cli-subscribe-sns-topic)
+ [Publikasikan ke topik](#cli-publish-sns-topic)
+ [Berhenti berlangganan dari suatu topik](#cli-unsubscribe-sns-topic)
+ [Hapus topik](#cli-delete-sns-topic)

## Buat topik
<a name="cli-create-sns-topic"></a>

Untuk membuat topik, gunakan perintah dan tentukan nama yang akan ditetapkan ke topik.

```
$ aws sns create-topic --name my-topic
{
    "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
}
```

Catat respons`TopicArn`, yang Anda gunakan nanti untuk mempublikasikan pesan.

## Berlangganan topik
<a name="cli-subscribe-sns-topic"></a>

Untuk berlangganan topik, gunakan perintah. 

Contoh berikut menentukan `email` protokol dan alamat email untuk. `notification-endpoint`

```
$ aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --protocol email --notification-endpoint saanvi@example.com
{
    "SubscriptionArn": "pending confirmation"
}
```

AWS segera mengirim pesan konfirmasi melalui email ke alamat yang Anda tentukan dalam `subscribe` perintah. Pesan email memiliki teks berikut.

```
You have chosen to subscribe to the topic:
arn:aws:sns:us-west-2:123456789012:my-topic
To confirm this subscription, click or visit the following link (If this was in error no action is necessary):
Confirm subscription
```

Setelah penerima mengklik tautan **Konfirmasi langganan**, browser penerima menampilkan pesan notifikasi dengan informasi yang mirip dengan yang berikut ini.

```
Subscription confirmed!

You have subscribed saanvi@example.com to the topic:my-topic.

Your subscription's id is:
arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

If it was not your intention to subscribe, click here to unsubscribe.
```

## Publikasikan ke topik
<a name="cli-publish-sns-topic"></a>

Untuk mengirim pesan ke semua pelanggan suatu topik, gunakan perintah. 

Contoh berikut mengirimkan pesan “Hello World\$1” untuk semua pelanggan dari topik yang ditentukan.

```
$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello World!"
{
    "MessageId": "4e41661d-5eec-5ddf-8dab-2c867EXAMPLE"
}
```

Dalam contoh ini, AWS kirim pesan email dengan teks “Hello World\$1” ke`saanvi@example.com`.

## Berhenti berlangganan dari suatu topik
<a name="cli-unsubscribe-sns-topic"></a>

Untuk berhenti berlangganan dari topik dan berhenti menerima pesan yang dipublikasikan ke topik itu, gunakan perintah dan tentukan ARN dari topik yang ingin Anda hentikan berlangganan.

```
$ aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE
```

Untuk memverifikasi bahwa Anda berhasil berhenti berlangganan, gunakan perintah untuk mengonfirmasi bahwa ARN tidak lagi muncul dalam daftar.

```
$ aws sns list-subscriptions
```

## Hapus topik
<a name="cli-delete-sns-topic"></a>

Untuk menghapus topik, jalankan perintah.

```
$ aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic
```

Untuk memverifikasi bahwa topik AWS berhasil dihapus, gunakan perintah untuk mengonfirmasi bahwa topik tidak lagi muncul dalam daftar.

```
$ aws sns list-topics
```