

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

# Menanyakan Laporan Biaya dan Penggunaan menggunakan Amazon Athena
<a name="cur-query-athena"></a>

Amazon Athena adalah layanan kueri tanpa server yang dapat Anda gunakan untuk menganalisis data dari Laporan AWS Biaya dan Penggunaan (CUR AWS ) di Amazon Simple Storage Service (Amazon S3) menggunakan SQL standar. Ini membantu Anda menghindari keharusan membuat solusi gudang data Anda sendiri untuk menanyakan data AWS CUR.

Kami sangat menyarankan Anda membuat bucket Amazon S3 baru dan laporan AWS CUR baru untuk digunakan dengan Athena. AWS CUR hanya mendukung format kompresi Apache Parquet untuk Athena dan secara otomatis menimpa laporan sebelumnya yang disimpan di bucket S3 Anda.

Bagian ini menguraikan cara menggunakan Athena dengan Laporan Biaya dan Penggunaan. Untuk deskripsi lengkap tentang layanan Athena, lihat Panduan Pengguna [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/).

**Topics**
+ [Menyiapkan Athena menggunakan template CloudFormation](use-athena-cf.md)
+ [Menyiapkan Athena secara manual](cur-ate-manual.md)
+ [Menjalankan kueri Amazon Athena](cur-ate-run.md)
+ [Memuat data laporan ke sumber daya lain](cur-query-other.md)

Untuk demonstrasi laporan kueri menggunakan Athena, lihat video berikut.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/KEeJEZTYE8E/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/KEeJEZTYE8E)


# Menyiapkan Athena menggunakan template CloudFormation
<a name="use-athena-cf"></a>

**penting**  
CloudFormation tidak mendukung sumber daya Lintas wilayah. Jika Anda berencana untuk menggunakan CloudFormation template, Anda harus membuat semua sumber daya di AWS Wilayah yang sama. Wilayah harus mendukung layanan berikut:  
AWS Lambda
Amazon Simple Storage Service (Amazon S3)
AWS Glue
Amazon Athena

Untuk merampingkan dan mengotomatiskan integrasi Laporan Biaya dan Penggunaan Anda dengan Athena, AWS sediakan CloudFormation templat dengan beberapa sumber daya utama bersama dengan laporan yang Anda siapkan untuk integrasi Athena. CloudFormation Template mencakup AWS Glue crawler, AWS Glue database, dan AWS Lambda acara. 

Proses penyiapan integrasi Athena menggunakan CloudFormation menghapus semua peristiwa Amazon S3 yang mungkin sudah dimiliki bucket Anda. Ini dapat berdampak negatif pada proses berbasis peristiwa yang ada yang Anda miliki untuk laporan AWS CUR yang ada. Kami sangat menyarankan Anda membuat bucket Amazon S3 baru dan laporan AWS CUR baru untuk digunakan dengan Athena.

Sebelum Anda dapat menggunakan CloudFormation template untuk mengotomatiskan integrasi Athena, pastikan Anda melakukan hal berikut:
+ Buat bucket Amazon S3 baru untuk laporan Anda. Lihat informasi yang lebih lengkap di [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dalam *Panduan Pengguna Amazon S3*. 
+ [Buat laporan baru](cur-create.md) untuk digunakan dengan Athena. Selama proses penyiapan, untuk **Laporkan integrasi data**, pilih **Athena**.
+ Tunggu laporan pertama dikirimkan ke bucket Amazon S3 Anda. Diperlukan waktu hingga 24 jam AWS untuk menyampaikan laporan pertama Anda.<a name="use-athena-cf-steps"></a>

**Untuk menggunakan template Athena CloudFormation**

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Dari daftar bucket, pilih bucket tempat Anda memilih untuk menerima laporan AWS CUR Anda.

1. Pilih awalan jalur laporan Anda (*your-report-path-prefix/*). Kemudian, pilih nama laporan Anda (*your-report-name/*).

1. Pilih file `.yml` template.

1. Pilih **Tindakan objek**, lalu pilih **Unduh sebagai**.

1. Buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Jika Anda belum pernah menggunakan CloudFormation sebelumnya, pilih **Create New Stack**. Atau, pilih **Buat Tumpukan**.

1. Dalam **Siapkan templat**, pilih **Templat sudah siap**.

1. Di bawah **Sumber templat**, pilih **Unggah file templat**.

1. Pilih **Pilih file**.

1. Pilih `.yml` template yang diunduh, lalu pilih **Buka**.

1. Pilih **Berikutnya**.

1. Untuk **nama Stack**, masukkan nama untuk template Anda dan pilih **Berikutnya**.

1. Pilih **Berikutnya**.

1. Di bagian bawah halaman, pilih **Saya mengakui yang AWS CloudFormation mungkin membuat sumber daya IAM**. 

   Template ini menciptakan sumber daya berikut:
   + Tiga peran IAM
   +  AWS Glue Database
   +  AWS Glue Perayap
   + Dua fungsi lambda
   + Pemberitahuan Amazon S3

1. Pilih **Buat tumpukan**.

**Untuk memperbarui template Athena CloudFormation yang ada**

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Dari daftar bucket, pilih bucket tempat Anda memilih untuk menerima laporan AWS CUR Anda.

1. Pilih awalan jalur laporan Anda (*your-report-path-prefix/*). Kemudian, pilih nama laporan Anda (*your-report-name/*).

1. Pilih file `.yml` template.

1. Pilih **Tindakan objek**, lalu pilih **Unduh sebagai**.

1. Buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Pilih tumpukan yang sebelumnya dibuat, lalu pilih **Perbarui**.

1. Di bawah **Siapkan templat**, pilih **Ganti templat saat ini**.

1. Di bawah **Sumber templat**, pilih **Unggah file templat**.

1. Pilih **Pilih file**.

1. Pilih `.yml` template yang diunduh, lalu pilih **Buka**.

1. Pilih **Berikutnya**.

1. Pada halaman **Tentukan detail tumpukan**, ubah detail apa pun, lalu pilih **Berikutnya**.

1. Pilih **Berikutnya**.

1. Di bagian bawah halaman, pilih **Saya mengakui yang AWS CloudFormation mungkin membuat sumber daya IAM**. 

1. Pilih **Perbarui tumpukan**.

# Menyiapkan Athena secara manual
<a name="cur-ate-manual"></a>

Kami sangat menyarankan Anda menggunakan AWS CloudFormation template untuk membuat tabel Anda alih-alih membuatnya sendiri. Kueri SQL yang disediakan membuat tabel yang hanya mencakup satu bulan data, tetapi AWS CloudFormation template membuat tabel yang dapat mencakup beberapa bulan dan yang diperbarui secara otomatis. Untuk informasi selengkapnya tentang cara mengatur AWS CloudFormation template, lihat[Menyiapkan Athena menggunakan template CloudFormation](use-athena-cf.md).

Jika Anda memilih untuk tidak menggunakan CloudFormation templat untuk mengatur tabel Athena Anda, ikuti langkah-langkah di bawah ini secara manual. Anda perlu membuat tabel sebelum dapat menjalankan kueri SQL pada data AWS CUR Anda. Anda perlu melakukan langkah ini setidaknya sebulan sekali dan tabel hanya menyertakan data dari AWS CUR saat ini.

Sebagai bagian dari proses pembuatan tabel, AWS mengubah nama kolom AWS CUR. Untuk informasi lebih lanjut tentang proses transformasi, lihat[Nama kolom](cur-ate-run.md#column-transformations).
+ [Membuat meja Athena](create-manual-table.md)
+ [Membuat tabel status Laporan Biaya dan Penggunaan](create-manual-cur-table.md)
+ [Mengunggah partisi laporan](upload-report-partitions.md)

# Membuat meja Athena
<a name="create-manual-table"></a>

AWS termasuk SQL yang perlu Anda jalankan untuk membuat tabel ini di bucket AWS CUR Anda.<a name="create-manual-table-steps"></a>

**Untuk membuat tabel Athena Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Dari daftar bucket, pilih bucket tempat Anda memilih untuk menerima Laporan Biaya dan Penggunaan.

1. Navigasikan jalan`your-report-prefix-your-report-name-path-to-report`.

   Jalur yang tepat tergantung pada apakah AWS CUR Anda disetel untuk menimpa versi sebelumnya. Untuk informasi selengkapnya, lihat [Garis waktu pengiriman Laporan Biaya dan Penggunaan](understanding-report-versions.md#access-cur-s3-timeline).

1. Buka file `my-report-name-create-table.sql`.

1. Salin SQL dari file, dimulai dengan `CREATE` dan diakhiri dengan`LOCATION 's3://your-report-prefix/your-report-name/the-rest-of-the=path'`. Catat baris pertama, karena Anda memerlukan nama database dan tabel untuk membuat database Athena.

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Di panel **kueri New query 1**, paste SQL berikut. Untuk*`<database name>.<table name>`*, gunakan database dan nama tabel dari baris pertama SQL yang Anda salin.

   ```
   CREATE DATABASE <database name>
   ```

1. Pilih **Run query** (Jalankan kueri).

1. Di menu dropdown, pilih database yang baru saja Anda buat.

1. Di panel **kueri New query 1**, paste sisa SQL dari file SQL.

1. Pilih **Run query** (Jalankan kueri).

Setelah Anda membuat tabel Anda, Anda perlu memuat partisi Anda sebelum Anda dapat menjalankan kueri. Untuk informasi selengkapnya, lihat [Mengunggah partisi laporan](upload-report-partitions.md).

# Membuat tabel status Laporan Biaya dan Penggunaan
<a name="create-manual-cur-table"></a>

AWS menyegarkan AWS CUR Anda beberapa kali sehari. Tidak ada cara bagi Athena untuk mengetahui kapan AWS sedang dalam proses menyegarkan laporan Anda, yang dapat menghasilkan hasil kueri dengan kombinasi data lama dan baru. Untuk mengurangi ini, buat tabel untuk melacak AWS apakah menyegarkan Laporan Biaya dan Penggunaan Anda dan kueri tabel tersebut untuk melihat AWS apakah menyegarkan data Anda. Anda hanya perlu membuat tabel ini sekali. Setelah itu, AWS jaga agar tabel tetap up to date.<a name="create-refresh-table"></a>

**Untuk membuat tabel penyegaran**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Di panel **kueri New query 1**, paste SQL berikut. 

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS cost_and_usage_data_status(
     status STRING)
   ROW FORMAT SERDE
     'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
   WITH SERDEPROPERTIES (
    'serialization.format' = '1'
   )
   LOCATION 's3://{S3_Bucket_Name}/{Report_Key}/cost_and_usage_data_status/'
   ```

1. Pilih **Run query** (Jalankan kueri).

Untuk memeriksa AWS apakah menyegarkan data Anda, gunakan konsol Athena untuk menjalankan kueri SQL berikut.

```
select status from cost_and_usage_data_status 
```

# Mengunggah partisi laporan
<a name="upload-report-partitions"></a>

Untuk menanyakan data Laporan Biaya dan Penggunaan, Anda perlu mengunggah data ke tabel Athena Anda. Anda harus melakukan ini untuk setiap laporan AWS CUR baru yang AWS dikirimkan kepada Anda.<a name="upload-partitions"></a>

**Untuk mengunggah partisi terbaru Anda**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Pilih tiga titik vertikal di sebelah nama tabel Anda.

1. Pilih **Memuat partisi.**

Jika Anda tidak mengunggah partisi Anda, Athena tidak mengembalikan hasil atau pesan kesalahan yang menunjukkan data yang hilang.

# Menjalankan kueri Amazon Athena
<a name="cur-ate-run"></a>

Untuk menjalankan kueri Athena pada data Anda, pertama-tama gunakan konsol Athena untuk memeriksa apakah AWS menyegarkan data Anda dan kemudian jalankan kueri Anda di konsol Athena. Ketika Anda menjalankan SQL Anda, pastikan bahwa database yang benar dipilih dari daftar dropdown. Anda dapat menggunakan SQL berikut untuk memeriksa status.

```
select status from cost_and_usage_data_status 
```

Dua hasil yang mungkin adalah `READY` dan`UPDATING`. Jika statusnya`READY`, maka Anda dapat menanyakan database Athena Anda. Jika statusnya`UPDATING`, maka Athena mungkin mengembalikan hasil yang tidak lengkap.

Setelah mengonfirmasi bahwa AWS menyegarkan data Anda, Anda dapat menjalankan kueri Anda sendiri. Misalnya, kueri berikut menunjukkan year-to-date biaya berdasarkan layanan untuk setiap bulan dalam database contoh yang disebut`mycostandusage_parquet`. Kueri berikut menunjukkan year-to-date biaya 2018. Perbarui tahun untuk melihat year-to-date biaya saat ini.

```
SELECT line_item_product_code,
sum(line_item_blended_cost) AS cost, month
FROM mycostandusage_parquet
WHERE year='2018'
GROUP BY  line_item_product_code, month
HAVING sum(line_item_blended_cost) > 0
ORDER BY  line_item_product_code;
```

## Nama kolom
<a name="column-transformations"></a>

Pembatasan nama kolom Athena berbeda dari batasan nama kolom Laporan Biaya dan Penggunaan. Ini berarti bahwa ketika data AWS CUR Anda diunggah ke tabel Athena, nama kolom berubah. AWS membuat perubahan berikut:
+ Garis bawah ditambahkan di depan huruf besar
+ Huruf besar diganti dengan huruf kecil 
+ Setiap karakter non-alfanumerik diganti dengan garis bawah
+ Garis bawah duplikat dihapus
+ Setiap garis bawah terkemuka dan tertinggal dihapus
+ Jika nama kolom lebih panjang dari panjang nama kolom yang diizinkan, garis bawah dihapus dari kiri ke kanan

**catatan**  
Setelah menerapkan aturan ini, beberapa kolom tag sumber daya akan memiliki nama duplikat. AWS menggabungkan kolom ketika ada lebih dari satu kolom dengan nama yang sama. 

Sebagai contoh, nama kolom `ExampleColumnName` menjadi`example_column_name`, dan nama kolom `Example Column Name` menjadi`example_column_name`.

# Memuat data laporan ke sumber daya lain
<a name="cur-query-other"></a>

Anda dapat mengunggah Laporan Biaya dan Penggunaan ke Amazon Redshift dan Amazon Quick untuk menganalisis AWS biaya dan penggunaan Anda.

**Topics**
+ [Memuat data laporan ke Amazon Quick](#cur-query-other-qs)
+ [Memuat data laporan ke Amazon Redshift](#cur-query-other-rs)

## Memuat data laporan ke Amazon Quick
<a name="cur-query-other-qs"></a>

Anda dapat mengunggah Laporan Biaya dan Penggunaan ke Amazon Quick.

Untuk informasi selengkapnya tentang mengunggah ke Quick, lihat [Membuat Kumpulan Data Menggunakan File Amazon S3](https://docs.aws.amazon.com/quicksight/latest/user/create-a-data-set-s3.html) di Panduan Pengguna *Cepat*.

## Memuat data laporan ke Amazon Redshift
<a name="cur-query-other-rs"></a>

Bagian ini menunjukkan bagaimana Anda dapat mengunggah AWS CUR ke Amazon Redshift untuk menganalisis AWS biaya dan penggunaan Anda.

**penting**  
Kolom Amazon Redshift tidak peka huruf besar/kecil dan memiliki batasan karakter yang lebih ketat daripada tag yang ditentukan pengguna. Untuk mencegah konflik antara Amazon Redshift dan tag yang ditentukan pengguna, AWS ganti tag Anda dengan tag,,, dll. `userTag0` `userTag1` `userTag2` Setelah membuat tabel Amazon Redshift dan mengunggah laporan ke dalamnya, Anda dapat membuat tabel Amazon Redshift yang memetakan AWS tag -defined ke tag yang ditentukan pengguna. Tabel tag memungkinkan Anda untuk mencari tag asli Anda.  
Misalnya, jika Anda memiliki tag `OWNER` dan`Owner`, Amazon Redshift tidak memungkinkan Anda membuat tabel dengan dua kolom bernama “pemilik”. Sebagai gantinya, Anda membuat tabel laporan dengan kolom `userTag0` dan `userTag1` bukan `OWNER` dan`Owner`, lalu membuat tabel dengan kolom `remappedUserTag` dan`userTag`. `remappedUserTag`Kolom menyimpan tag AWS-defined `userTag0` dan`userTag1`, dan `userTag` kolom menyimpan tag asli Anda, `OWNER` dan `Owner` 

AWS menyediakan perintah untuk membuat tabel Amazon Redshift Anda, mengunggah laporan Anda, membuat tabel tag Anda, dan menyisipkan semua baris tag ke dalam tabel tag Anda. Perintah diberikan kepada Anda dalam `RedshiftCommands.sql` file yang disimpan bersama file manifes Anda di S3, dan dalam file **Helper file** **Redshift** di konsol Billing and Cost Management. AWS juga menyediakan RedshiftManifest file, yang mengontrol yang melaporkan perintah dalam unggahan RedshiftCommand file. Menghapus atau menghapus RedshiftManifest file merusak perintah salin dalam RedshiftCommands file.

**Untuk menemukan `RedshiftCommands.sql` file di konsol Billing and Cost Management**

1. Buka Konsol Manajemen Penagihan dan Biaya di [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/).

1. Di panel navigasi, di bawah **Halaman Legacy**, pilih Laporan **Biaya dan Penggunaan**.

1. Pilih laporan yang ingin Anda unggah ke Amazon Redshift.

1. Di samping **Anda telah mengaktifkan melihat laporan di layanan berikut:**, pilih **Amazon Redshift**.

1. Salin perintah dari kotak dialog dan tempelkan ke klien SQL Anda.

Prosedur berikut mengasumsikan keakraban dengan database dan Amazon Redshift.

**Untuk mengunggah Laporan Biaya dan Penggunaan ke Amazon Redshift**

1. Buat cluster Amazon Redshift.

   Untuk informasi selengkapnya, lihat [Membuat Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#create-cluster) di Panduan *Manajemen Pergeseran Merah Amazon*.

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Arahkan ke lokasi Amazon S3 tempat Anda menyimpan CUR Anda AWS .

1. Buka file `RedshiftCommands.sql`.

   File berisi perintah khusus untuk membuat tabel Amazon Redshift, mengunggah AWS CUR dari Amazon S3, dan membuat tabel tag yang memungkinkan tag yang ditentukan pengguna diimpor ke Amazon Redshift.

1. Dalam `copy` perintah, ganti *<AWS\$1ROLE>* dengan ARN peran IAM yang memiliki izin untuk mengakses bucket Amazon S3 tempat Anda menyimpan CUR Anda. AWS 

1. Ganti *<S3\$1BUCKET\$1REGION>* dengan Wilayah bucket Amazon S3 tempat Anda berada. Misalnya, `us-east-1`.

1. Gunakan klien SQL untuk terhubung ke cluster.

   Untuk informasi selengkapnya, lihat [Mengakses Cluster dan Database Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/using-rs-tools.html) di Panduan Manajemen Pergeseran *Merah* Amazon.

1. Salin perintah SQL dari `RedshiftCommands.sql` file ke klien SQL Anda dalam urutan berikut:
   + create table - Perintah ini membuat tabel Amazon Redshift dengan skema yang disesuaikan agar sesuai dengan laporan Anda.
   + copy - Perintah ini menggunakan peran IAM yang disediakan untuk mengunggah file AWS CUR dari S3 ke Amazon Redshift.
   + create tag table - Perintah ini membuat tabel yang memungkinkan Anda memetakan tag AWS-defined ke tag yang ditentukan pengguna Anda.
   + insert - Perintah ini memasukkan tag yang ditentukan pengguna ke dalam tabel tag.

1. Setelah menyalin semua data dari AWS CUR ke Amazon Redshift, Anda dapat melakukan kueri data menggunakan SQL. Untuk informasi selengkapnya tentang kueri data di Amazon Redshift, lihat Amazon Redshift SQL di Panduan Pengembang Database [https://docs.aws.amazon.com/redshift/latest/dg/c_redshift-sql.html](https://docs.aws.amazon.com/redshift/latest/dg/c_redshift-sql.html).

**catatan**  
Jumlah kolom dalam Laporan Biaya dan Penggunaan dapat berubah dari bulan ke bulan, seperti ketika tag alokasi biaya baru dibuat atau layanan menambahkan atribut produk baru. Kami menyarankan Anda menyalin data dari AWS CUR Anda ke tabel baru setiap bulan, dan kemudian menyalin kolom yang Anda minati ke dalam month-by-month tabel terpisah.