

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

# Apa itu Amazon API Gateway?
<a name="welcome"></a>

Amazon API Gateway adalah AWS layanan untuk membuat, menerbitkan, memelihara, memantau, dan mengamankan REST, HTTP, dan WebSocket APIs pada skala apa pun. Pengembang API dapat membuat akses APIs itu AWS atau layanan web lainnya, serta data yang disimpan di [AWS Cloud](https://aws.amazon.com/what-is-cloud-computing/). Sebagai pengembang API Gateway API, Anda dapat membuat APIs untuk digunakan dalam aplikasi klien Anda sendiri. Atau Anda dapat APIs menyediakannya untuk pengembang aplikasi pihak ketiga. Untuk informasi selengkapnya, lihat [Siapa yang menggunakan API Gateway?](api-gateway-overview-developer-experience.md#apigateway-who-uses-api-gateway).

API Gateway membuat RESTful APIs bahwa:
+ Berbasis HTTP.
+ Aktifkan komunikasi client-server stateless.
+ Menerapkan metode HTTP standar seperti GET, POST, PUT, PATCH, dan DELETE.

Untuk informasi selengkapnya tentang API Gateway REST APIs dan HTTP APIs[Pilih antara REST APIs dan HTTP APIs](http-api-vs-rest.md), lihat[API Gateway HTTP APIs](http-api.md),[Gunakan API Gateway untuk membuat REST APIs](api-gateway-overview-developer-experience.md#api-gateway-overview-rest),, dan[Kembangkan REST APIs di API Gateway](rest-api-develop.md).

API Gateway membuat WebSocket APIs bahwa:
+ Patuhi [WebSocket](https://datatracker.ietf.org/doc/html/rfc6455)protokol, yang memungkinkan komunikasi full-duplex stateful antara klien dan server.
+ Rutekan pesan masuk berdasarkan konten pesan.

Untuk informasi selengkapnya tentang API Gateway WebSocket APIs, lihat [Gunakan API Gateway untuk membuat WebSocket APIs](api-gateway-overview-developer-experience.md#api-gateway-overview-websocket) dan[Ikhtisar WebSocket APIs di API Gateway](apigateway-websocket-api-overview.md).

**Topics**
+ [Arsitektur API Gateway](#api-gateway-overview-aws-backbone)
+ [Fitur API Gateway](#api-gateway-overview-features)
+ [Kasus penggunaan API Gateway](api-gateway-overview-developer-experience.md)
+ [Mengakses API Gateway](#introduction-accessing-apigateway)
+ [Bagian dari infrastruktur AWS tanpa server](#api-gateway-overview-a-serverless-pillar)
+ [Cara memulai dengan Amazon API Gateway](#welcome-how-to-get-started)
+ [Konsep Amazon API Gateway](api-gateway-basic-concept.md)
+ [Pilih antara REST APIs dan HTTP APIs](http-api-vs-rest.md)
+ [Memulai dengan konsol REST API](getting-started-rest-new-console.md)

## Arsitektur API Gateway
<a name="api-gateway-overview-aws-backbone"></a>

Diagram berikut menunjukkan arsitektur API Gateway.

![\[Diagram arsitektur API Gateway\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/Product-Page-Diagram_Amazon-API-Gateway-How-Works.png)


Diagram ini menggambarkan bagaimana APIs Anda membangun di Amazon API Gateway memberi Anda atau pelanggan pengembang Anda pengalaman pengembang yang terintegrasi dan konsisten untuk membangun aplikasi tanpa AWS server. API Gateway menangani semua tugas yang terlibat dalam menerima dan memproses hingga ratusan ribu panggilan API bersamaan. Tugas-tugas ini termasuk manajemen lalu lintas, otorisasi dan kontrol akses, pemantauan, dan manajemen versi API. 

API Gateway bertindak sebagai “pintu depan” bagi aplikasi untuk mengakses data, logika bisnis, atau fungsionalitas dari layanan backend Anda, seperti beban kerja yang berjalan di Amazon Elastic Compute Cloud (Amazon EC2), kode yang berjalan, aplikasi web apa pun, atau aplikasi komunikasi AWS Lambda real-time.

## Fitur API Gateway
<a name="api-gateway-overview-features"></a>

Amazon API Gateway menawarkan fitur-fitur seperti berikut:
+ [Support untuk stateful ([WebSocket](apigateway-websocket-api.md)) dan stateless ([HTTP dan REST](http-api.md)).](apigateway-rest-api.md) APIs
+ Mekanisme [otentikasi](apigateway-control-access-to-api.md) yang kuat dan fleksibel, seperti AWS Identity and Access Management kebijakan, fungsi otorisasi Lambda, dan kumpulan pengguna Amazon Cognito.
+ [Penerapan rilis Canary untuk meluncurkan perubahan](canary-release.md) dengan aman.
+ [CloudTrail](cloudtrail.md)logging dan pemantauan penggunaan API dan perubahan API.
+ CloudWatch akses logging dan eksekusi logging, termasuk kemampuan untuk mengatur alarm. Untuk informasi selengkapnya, lihat [Pantau eksekusi REST API dengan CloudWatch metrik Amazon](monitoring-cloudwatch.md) dan [Pantau eksekusi WebSocket API dengan CloudWatch metrik](apigateway-websocket-api-logging.md).
+ Kemampuan untuk menggunakan CloudFormation template untuk mengaktifkan pembuatan API. Untuk informasi selengkapnya, lihat [Referensi Jenis Sumber Daya Amazon API Gateway dan Referensi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGateway.html) [Jenis Sumber Daya Amazon API Gateway V2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGatewayV2.html).
+ Support untuk [nama domain kustom](how-to-custom-domains.md).
+ Integrasi dengan [AWS WAF](apigateway-control-access-aws-waf.md)untuk APIs melindungi Anda dari eksploitasi web umum.
+ Integrasi dengan [AWS X-Ray](apigateway-xray.md)untuk memahami dan memprioritaskan latensi kinerja.

Untuk daftar lengkap rilis fitur API Gateway, lihat[Riwayat dokumen](history.md).

# Kasus penggunaan API Gateway
<a name="api-gateway-overview-developer-experience"></a>

Bagian kasus penggunaan berikut menyajikan ikhtisar tentang berbagai jenis API Gateway APIs dan berbagai jenis pengembang yang menggunakan API Gateway. Untuk informasi lebih rinci tentang perbedaan antara REST APIs dan HTTP APIs, lihat[Pilih antara REST APIs dan HTTP APIs](http-api-vs-rest.md).

**Topics**
+ [Gunakan API Gateway untuk membuat REST APIs](#api-gateway-overview-rest)
+ [Gunakan API Gateway untuk membuat HTTP APIs](#api-gateway-overview-http)
+ [Gunakan API Gateway untuk membuat WebSocket APIs](#api-gateway-overview-websocket)
+ [Siapa yang menggunakan API Gateway?](#apigateway-who-uses-api-gateway)

## Gunakan API Gateway untuk membuat REST APIs
<a name="api-gateway-overview-rest"></a>

API API Gateway REST terdiri dari sumber daya dan metode. Resource adalah entitas logis yang dapat diakses aplikasi melalui jalur sumber daya. Metode sesuai dengan permintaan REST API yang dikirimkan oleh pengguna API Anda dan respons yang dikembalikan ke pengguna. 

Misalnya, `/incomes` bisa menjadi jalur sumber daya yang mewakili pendapatan pengguna aplikasi. Sumber daya dapat memiliki satu atau lebih operasi yang ditentukan oleh kata kerja HTTP yang sesuai seperti GET, POST, PUT, PATCH, dan DELETE. Kombinasi jalur sumber daya dan operasi mengidentifikasi metode API. Misalnya, `POST /incomes` metode dapat menambahkan pendapatan yang diperoleh oleh penelepon, dan `GET /expenses` metode dapat menanyakan biaya yang dilaporkan yang dikeluarkan oleh penelepon. 

Aplikasi tidak perlu tahu di mana data yang diminta disimpan dan diambil dari backend. *Di API Gateway REST APIs, frontend dienkapsulasi oleh *permintaan metode dan respons metode*.* *API berinteraksi dengan backend melalui *permintaan integrasi dan respons integrasi*.*

Misalnya, dengan DynamoDB sebagai backend, pengembang API menyiapkan permintaan integrasi untuk meneruskan permintaan metode masuk ke backend yang dipilih. Penyiapan mencakup spesifikasi tindakan DynamoDB yang sesuai, peran dan kebijakan IAM yang diperlukan, dan transformasi data input yang diperlukan. Backend mengembalikan hasilnya ke API Gateway sebagai respons integrasi. 

Untuk merutekan respons integrasi ke respons metode yang sesuai (dari kode status HTTP yang diberikan) ke klien, Anda dapat mengonfigurasi respons integrasi untuk memetakan parameter respons yang diperlukan dari integrasi ke metode. Anda kemudian menerjemahkan format data keluaran backend ke format frontend, jika perlu. API Gateway memungkinkan Anda untuk menentukan skema atau model untuk [payload](https://en.wikipedia.org/wiki/Payload_(computing)) untuk memfasilitasi pengaturan template pemetaan tubuh.

API Gateway menyediakan fungsionalitas manajemen REST API seperti berikut ini:
+ Support untuk membuat SDKs dan membuat dokumentasi API menggunakan ekstensi API Gateway ke OpenAPI
+ Pelambatan permintaan HTTP

## Gunakan API Gateway untuk membuat HTTP APIs
<a name="api-gateway-overview-http"></a>

HTTP APIs memungkinkan Anda untuk membuat RESTful APIs dengan latensi yang lebih rendah dan biaya lebih rendah daripada REST APIs.

Anda dapat menggunakan HTTP APIs untuk mengirim permintaan ke AWS Lambda fungsi atau ke titik akhir HTTP yang dapat dirutekan secara publik.

Misalnya, Anda dapat membuat API HTTP yang terintegrasi dengan fungsi Lambda di backend. Saat klien memanggil API Anda, API Gateway mengirimkan permintaan ke fungsi Lambda dan mengembalikan respons fungsi ke klien.

HTTP APIs mendukung [OpenID Connect dan otorisasi OAuth ](https://openid.net/developers/how-connect-works/) [2.0](https://oauth.net/2/). Mereka datang dengan dukungan bawaan untuk berbagi sumber daya lintas asal (CORS) dan penerapan otomatis.

Untuk mempelajari selengkapnya, lihat [Pilih antara REST APIs dan HTTP APIs](http-api-vs-rest.md).

## Gunakan API Gateway untuk membuat WebSocket APIs
<a name="api-gateway-overview-websocket"></a>

Dalam WebSocket API, klien dan server dapat saling mengirim pesan kapan saja. Server backend dapat dengan mudah mendorong data ke pengguna dan perangkat yang terhubung, menghindari kebutuhan untuk menerapkan mekanisme pemungutan suara yang kompleks.

Misalnya, Anda dapat membuat aplikasi tanpa server menggunakan API Gateway WebSocket API dan mengirim serta menerima pesan AWS Lambda ke dan dari pengguna individu atau grup pengguna di ruang obrolan. Atau Anda dapat memanggil layanan backend seperti, Amazon AWS Lambda Kinesis, atau titik akhir HTTP berdasarkan konten pesan.

Anda dapat menggunakan API Gateway WebSocket APIs untuk membangun aplikasi komunikasi real-time yang aman tanpa harus menyediakan atau mengelola server apa pun untuk mengelola koneksi atau pertukaran data skala besar. Kasus penggunaan yang ditargetkan mencakup aplikasi waktu nyata seperti berikut ini:
+ Aplikasi obrolan
+ Dasbor real-time seperti ticker saham
+ Peringatan dan notifikasi waktu nyata

API Gateway menyediakan fungsionalitas manajemen WebSocket API seperti berikut ini:
+ Pemantauan dan pembatasan koneksi dan pesan
+ Menggunakan AWS X-Ray untuk melacak pesan saat mereka melakukan perjalanan melalui layanan APIs to backend
+ Integrasi mudah dengan titik HTTP/HTTPS akhir

## Siapa yang menggunakan API Gateway?
<a name="apigateway-who-uses-api-gateway"></a>

Ada dua jenis pengembang yang menggunakan API Gateway: pengembang API dan pengembang aplikasi.

Pengembang API membuat dan menerapkan API untuk mengaktifkan fungsionalitas yang diperlukan di API Gateway. Pengembang API harus menjadi pengguna di AWS akun yang memiliki API.

Pengembang aplikasi membangun aplikasi yang berfungsi untuk memanggil AWS layanan dengan menjalankan API REST WebSocket atau yang dibuat oleh pengembang API di API Gateway.

Pengembang aplikasi adalah pelanggan pengembang API. [Pengembang aplikasi tidak perlu memiliki AWS akun, asalkan API tidak memerlukan izin IAM atau mendukung otorisasi pengguna melalui penyedia identitas federasi pihak ketiga yang didukung oleh federasi identitas kumpulan pengguna Amazon Cognito.](https://docs.aws.amazon.com/cognito/latest/developerguide/) Penyedia identitas tersebut termasuk Amazon, kumpulan pengguna Amazon Cognito, Facebook, dan Google.

### Membuat dan mengelola API Gateway API
<a name="api-gateway-overview-developer-experience-managing-api"></a>

Pengembang API bekerja dengan komponen layanan API Gateway untuk manajemen API, bernama`apigateway`, untuk membuat, mengonfigurasi, dan menerapkan API.

Sebagai pengembang API, Anda dapat membuat dan mengelola API dengan menggunakan konsol API Gateway, yang dijelaskan dalam[Memulai dengan API Gateway](getting-started.md), atau dengan memanggil[Referensi API](api-ref.md). Ada beberapa cara untuk memanggil API ini. Mereka termasuk menggunakan AWS Command Line Interface (AWS CLI), atau dengan menggunakan AWS SDK. Selain itu, Anda dapat mengaktifkan pembuatan API dengan [AWS CloudFormation templat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html) atau (dalam kasus REST APIs dan HTTP APIs)[Ekstensi OpenAPI untuk API Gateway](api-gateway-swagger-extensions.md). 

Untuk daftar Wilayah tempat API Gateway tersedia, serta titik akhir layanan kontrol terkait, lihat Titik Akhir [dan Kuota Amazon API Gateway](https://docs.aws.amazon.com/general/latest/gr/apigateway.html).

### Memanggil API Gateway API
<a name="api-gateway-overview-developer-experience-invoking-api"></a>

Pengembang aplikasi bekerja dengan komponen layanan API Gateway untuk eksekusi API, bernama`execute-api`, untuk memanggil API yang dibuat atau diterapkan di API Gateway. Entitas pemrograman yang mendasarinya diekspos oleh API yang dibuat. Ada beberapa cara untuk memanggil API semacam itu. Untuk mempelajari selengkapnya, lihat [Panggil REST APIs di API Gateway](how-to-call-api.md) dan [Memohon WebSocket APIs](apigateway-how-to-call-websocket-api.md).

## Mengakses API Gateway
<a name="introduction-accessing-apigateway"></a>

Anda dapat mengakses Amazon API Gateway dengan cara berikut:
+ **Konsol Manajemen AWS**— Konsol Manajemen AWS Menyediakan antarmuka web untuk membuat dan mengelola APIs. Setelah menyelesaikan langkah-langkahnya[Siapkan untuk menggunakan API Gateway](setting-up.md), Anda dapat mengakses konsol API Gateway di[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).
+ **AWS SDKs**Jika Anda menggunakan bahasa pemrograman yang AWS menyediakan SDK, Anda dapat menggunakan SDK untuk mengakses API Gateway. SDKs menyederhanakan otentikasi, mengintegrasikan dengan mudah dengan lingkungan pengembangan Anda, dan menyediakan akses ke perintah API Gateway. Untuk informasi lebih lanjut, lihat [Alat untuk Amazon Web Services](https://aws.amazon.com/developer/tools/).
+ **API Gateway V1 dan V2 APIs** — Jika Anda menggunakan bahasa pemrograman yang tidak tersedia untuk SDK, lihat Referensi [API Amazon API Gateway Versi 1 dan Referensi API](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html) [Amazon API Gateway Versi 2](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.html).
+ **AWS Command Line Interface** – Untuk informasi selengkapnya, lihat [Menyiapkan dengan AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/) di *AWS Command Line Interface Panduan Pengguna*.
+ **AWS Tools for Windows PowerShell**— Untuk informasi selengkapnya, lihat [Menyiapkan AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/) di *Panduan Alat AWS untuk PowerShell Pengguna*.

## Bagian dari infrastruktur AWS tanpa server
<a name="api-gateway-overview-a-serverless-pillar"></a>

Bersama dengan [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/), API Gateway membentuk bagian yang menghadap aplikasi dari infrastruktur tanpa AWS server. Untuk mempelajari lebih lanjut tentang memulai dengan tanpa server, lihat Panduan Pengembang Tanpa [Server](https://docs.aws.amazon.com/serverless/latest/devguide/welcome.html).

Agar aplikasi dapat memanggil AWS layanan yang tersedia untuk umum, Anda dapat menggunakan Lambda untuk berinteraksi dengan layanan yang diperlukan dan mengekspos fungsi Lambda melalui metode API di API Gateway. AWS Lambda menjalankan kode Anda pada infrastruktur komputasi yang sangat tersedia. Ini melakukan eksekusi dan administrasi sumber daya komputasi yang diperlukan. Untuk mengaktifkan aplikasi tanpa server, API Gateway mendukung [integrasi proxy yang efisien](api-gateway-set-up-simple-proxy.md) dengan AWS Lambda dan titik akhir HTTP. 

## Cara memulai dengan Amazon API Gateway
<a name="welcome-how-to-get-started"></a>

Untuk pengenalan Amazon API Gateway, lihat berikut ini:
+ [Memulai dengan API Gateway](getting-started.md), yang menyediakan panduan untuk membuat API HTTP.
+ [Tanah tanpa server](https://serverlessland.com/video?tag=Amazon%20API%20Gateway), yang menyediakan video instruksional.
+ [Happy Little API Shorts](https://www.youtube.com/playlist?list=PLJo-rJlep0EDFw7t0-IBHffVYKcPMDXHY), yang merupakan serangkaian video instruksional singkat.

# Konsep Amazon API Gateway
<a name="api-gateway-basic-concept"></a>

Bagian berikut menjelaskan konsep pengantar untuk menggunakan API Gateway.

**API Gateway**  <a name="apigateway-definition-apigateway"></a>
API Gateway adalah AWS layanan yang mendukung hal-hal berikut:  
+ Membuat, menyebarkan, dan mengelola antarmuka pemrograman [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer)aplikasi (API) untuk mengekspos titik akhir HTTP backend, AWS Lambda fungsi, atau layanan lainnya. AWS 
+ Membuat, menerapkan, dan mengelola [WebSocket](https://datatracker.ietf.org/doc/html/rfc6455)API untuk mengekspos AWS Lambda fungsi atau layanan lainnya AWS .
+ Memanggil metode API terbuka melalui HTTP frontend dan WebSocket titik akhir.

**API Gateway API REST**  <a name="apigateway-definition-apigateway-api"></a>
Kumpulan sumber daya HTTP dan metode yang terintegrasi dengan endpoint HTTP backend, fungsi Lambda, atau layanan lainnya. AWS Anda dapat menyebarkan koleksi ini dalam satu atau lebih tahap. Biasanya, sumber daya API diatur dalam pohon sumber daya sesuai dengan logika aplikasi. Setiap sumber daya API dapat mengekspos satu atau beberapa metode API yang memiliki kata kerja HTTP unik yang didukung oleh API Gateway. Untuk informasi selengkapnya, lihat [Pilih antara REST APIs dan HTTP APIs](http-api-vs-rest.md).

**API Gateway API HTTP**  <a name="apigateway-definition-http-api"></a>
Kumpulan rute dan metode yang terintegrasi dengan titik akhir HTTP backend atau fungsi Lambda. Anda dapat menyebarkan koleksi ini dalam satu atau lebih tahap. Setiap rute dapat mengekspos satu atau beberapa metode API yang memiliki kata kerja HTTP unik yang didukung oleh API Gateway. Untuk informasi selengkapnya, lihat [Pilih antara REST APIs dan HTTP APIs](http-api-vs-rest.md).

**API Gateway WebSocket API**  <a name="apigateway-definition-apigateway-websocket-api"></a>
Kumpulan WebSocket rute dan kunci rute yang terintegrasi dengan titik akhir HTTP backend, fungsi Lambda, atau layanan lainnya. AWS Anda dapat menyebarkan koleksi ini dalam satu atau lebih tahap. Metode API dipanggil melalui WebSocket koneksi frontend yang dapat Anda kaitkan dengan nama domain kustom terdaftar.

**Penerapan API**  <a name="apigateway-definition-api-deployment"></a>
 point-in-timeCuplikan API Gateway API Anda. Agar tersedia bagi klien untuk digunakan, penerapan harus dikaitkan dengan satu atau beberapa tahapan API.

**Pengembang API**  <a name="apigateway-definition-api-developer"></a>
 AWS Akun Anda yang memiliki penerapan API Gateway (misalnya, penyedia layanan yang juga mendukung akses terprogram).

**Titik akhir API**  <a name="apigateway-definition-api-endpoints"></a>
Nama host untuk API di API Gateway yang diterapkan ke Wilayah tertentu. Nama host adalah dari formulir`{api-id}.execute-api.{region}.amazonaws.com`. Jenis endpoint API berikut didukung:  
+ [Titik akhir API yang dioptimalkan tepi](#apigateway-definition-edge-optimized-api-endpoint)
+ [Titik akhir API pribadi](#apigateway-definition-private-api-endpoint)
+ [Titik akhir API regional](#apigateway-definition-regional-api-endpoint)

**Kunci API**  <a name="apigateway-definition-api-key"></a>
String alfanumerik yang digunakan API Gateway untuk mengidentifikasi pengembang aplikasi yang menggunakan REST atau API Anda. WebSocket API Gateway dapat menghasilkan kunci API atas nama Anda, atau Anda dapat mengimpornya dari file CSV. Anda dapat menggunakan kunci API bersama dengan [otorisasi Lambda](apigateway-use-lambda-authorizer.md) atau [paket penggunaan](api-gateway-api-usage-plans.md) untuk mengontrol akses ke Anda. APIs  
Lihat [titik akhir API](#apigateway-definition-api-endpoints).

**Pemilik API**  <a name="apigateway-definition-api-owner"></a>
Lihat [pengembang API](#apigateway-definition-api-developer).

**Tahap API**  <a name="apigateway-definition-api-stage"></a>
Referensi logis ke status siklus hidup API Anda (misalnya, 'dev', 'prod', 'beta', 'v2'). Tahapan API diidentifikasi oleh ID API dan nama panggung.

**Pengembang aplikasi**  <a name="apigateway-definition-app-developer"></a>
Pembuat aplikasi yang mungkin atau mungkin tidak memiliki AWS akun dan berinteraksi dengan API yang Anda, pengembang API, telah terapkan. Pengembang aplikasi adalah pelanggan Anda. Pengembang aplikasi biasanya diidentifikasi oleh [kunci API](#apigateway-definition-api-key).

**URL panggilan balik**  
Ketika klien baru terhubung melalui WebSocket koneksi, Anda dapat memanggil integrasi di API Gateway untuk menyimpan URL callback klien. Anda kemudian dapat menggunakan URL callback tersebut untuk mengirim pesan ke klien dari sistem backend.

**Portal pengembang**  <a name="apigateway-definition-developer-portal"></a>
Aplikasi tempat penyedia API dapat membagikan dokumentasi mereka APIs dan API kepada konsumen API. APIs dikelompokkan ke dalam produk, yang merupakan kumpulan titik akhir REST API, dokumentasi API, dan dokumentasi produk tambahan.  
Lihat [Portal API Gateway](apigateway-portals.md).

**Titik akhir API yang dioptimalkan tepi**  <a name="apigateway-definition-edge-optimized-api-endpoint"></a>
Nama host default API Gateway API yang diterapkan ke Wilayah tertentu saat menggunakan CloudFront distribusi untuk memfasilitasi akses klien biasanya dari seluruh AWS Wilayah. Permintaan API dirutekan ke CloudFront Point of Presence (POP) terdekat, yang biasanya meningkatkan waktu koneksi untuk klien yang beragam secara geografis.  
Lihat [titik akhir API](#apigateway-definition-api-endpoints).

**Permintaan integrasi**  <a name="apigateway-definition-integration-request"></a>
Antarmuka internal rute WebSocket API atau metode REST API di API Gateway, di mana Anda memetakan isi permintaan rute atau parameter dan isi permintaan metode ke format yang diperlukan oleh backend.

**Respon integrasi**  <a name="apigateway-definition-integration-response"></a>
Antarmuka internal rute WebSocket API atau metode REST API di API Gateway, tempat Anda memetakan kode status, header, dan payload yang diterima dari backend ke format respons yang dikembalikan ke aplikasi klien.

**Template pemetaan**  <a name="apigateway-definition-mapping-template"></a>
Skrip dalam [Velocity Template Language (VTL)](https://velocity.apache.org/engine/devel/vtl-reference.html) yang mengubah badan permintaan dari format data frontend ke format data backend, atau yang mengubah badan respons dari format data backend ke format data frontend. Template pemetaan dapat ditentukan dalam permintaan integrasi atau dalam respons integrasi. Mereka dapat mereferensikan data yang tersedia saat runtime sebagai variabel konteks dan tahap.   
Pemetaan dapat sesederhana [transformasi identitas](https://en.wikipedia.org/wiki/Identity_transform) yang melewati header atau badan melalui integrasi apa adanya dari klien ke backend untuk permintaan. Hal yang sama berlaku untuk respons, di mana muatan diteruskan dari backend ke klien.

**Permintaan metode**  <a name="apigateway-definition-method-request"></a>
Antarmuka publik metode API di API Gateway yang menentukan parameter dan isi yang harus dikirimkan oleh pengembang aplikasi dalam permintaan untuk mengakses backend melalui API.

**Metode respon**  <a name="apigateway-definition-method-response"></a>
Antarmuka publik REST API yang mendefinisikan kode status, header, dan model tubuh yang diharapkan oleh pengembang aplikasi dalam respons dari API. 

**Integrasi tiruan**  <a name="apigateway-definition-mock-integration"></a>
Dalam integrasi tiruan, respons API dihasilkan dari API Gateway secara langsung, tanpa perlu backend integrasi. Sebagai pengembang API, Anda memutuskan bagaimana API Gateway merespons permintaan integrasi tiruan. Untuk ini, Anda mengonfigurasi permintaan integrasi metode dan respons integrasi untuk mengaitkan respons dengan kode status tertentu.

**Model**  <a name="apigateway-definition-model"></a>
Skema data yang menentukan struktur data dari permintaan atau muatan respons. Model diperlukan untuk menghasilkan SDK API yang diketik dengan kuat. Ini juga digunakan untuk memvalidasi muatan. Sebuah model nyaman untuk menghasilkan template pemetaan sampel untuk memulai pembuatan template pemetaan produksi. Meskipun berguna, model tidak diperlukan untuk membuat template pemetaan.

**Portal**  <a name="apigateway-definition-portal"></a>
Lihat [Portal pengembang](#apigateway-definition-developer-portal).

**Produk Portal**  <a name="apigateway-definition-product"></a>
Layanan atau fungsionalitas yang ingin Anda bagikan. Produk portal Anda adalah kumpulan titik akhir REST produk dan halaman produk. Titik akhir REST produk adalah titik akses ke produk portal Anda, dan mereka terdiri dari jalur dan metode REST API dan tahap penerapannya. Halaman produk adalah dokumentasi yang Anda berikan untuk menjelaskan bagaimana konsumen API dapat menggunakan titik akhir produk Anda. Anda dapat berbagi produk di seluruh AWS akun untuk menambahkannya ke portal.  
Lihat [Membuat produk](apigateway-portals-create-portal-product.md).

**API Pribadi**  <a name="apigateway-definition-private-api"></a>
Lihat [Titik akhir API pribadi](#apigateway-definition-private-api).

**Titik akhir API pribadi**  <a name="apigateway-definition-private-api-endpoint"></a>
Titik akhir API yang diekspos melalui titik akhir VPC antarmuka dan memungkinkan klien mengakses sumber daya API pribadi dengan aman di dalam VPC. Private APIs diisolasi dari internet publik, dan mereka hanya dapat diakses menggunakan titik akhir VPC untuk API Gateway yang telah diberikan akses.

**Integrasi pribadi**  <a name="apigateway-definition-private-integration"></a>
Jenis integrasi API Gateway bagi klien untuk mengakses sumber daya di dalam VPC pelanggan melalui titik akhir REST API pribadi tanpa mengekspos sumber daya ke internet publik.

**Integrasi proxy**  <a name="apigateway-definition-proxy-integration"></a>
Konfigurasi integrasi API Gateway yang disederhanakan. Anda dapat mengatur integrasi proxy sebagai integrasi proxy HTTP atau integrasi proxy Lambda.   
Untuk integrasi proxy HTTP, API Gateway meneruskan seluruh permintaan dan respons antara frontend dan backend HTTP. Untuk integrasi proxy Lambda, API Gateway mengirimkan seluruh permintaan sebagai input ke fungsi Lambda backend. API Gateway kemudian mengubah output fungsi Lambda menjadi respons HTTP frontend.   
Dalam REST APIs, integrasi proxy paling sering digunakan dengan sumber daya proxy, yang diwakili oleh variabel jalur serakah (misalnya,`{proxy+}`) dikombinasikan dengan metode catch-all`ANY`.

**Buat cepat**  <a name="apigateway-definition-quick-create"></a>
Anda dapat menggunakan quick create untuk menyederhanakan pembuatan HTTP API. Pembuatan cepat membuat API dengan integrasi Lambda atau HTTP, rute tangkapan semua default, dan tahap default yang dikonfigurasi untuk menerapkan perubahan secara otomatis. Untuk informasi selengkapnya, lihat [Buat API HTTP dengan menggunakan AWS CLI](http-api-develop.md#http-api-examples.cli.quick-create).

**Titik akhir API regional**  <a name="apigateway-definition-regional-api-endpoint"></a>
Nama host API yang disebarkan ke Wilayah tertentu dan dimaksudkan untuk melayani klien, seperti EC2 instance, di Wilayah yang sama AWS . Permintaan API ditargetkan langsung ke API Gateway API khusus Wilayah tanpa melalui distribusi apa pun CloudFront . Untuk permintaan In-Region, titik akhir Regional melewati perjalanan pulang pergi yang tidak perlu ke distribusi. CloudFront   
Selain itu, Anda dapat menerapkan [perutean berbasis latensi](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-latency) pada titik akhir Regional untuk menerapkan API ke beberapa Wilayah menggunakan konfigurasi titik akhir API Regional yang sama, menetapkan nama domain kustom yang sama untuk setiap API yang diterapkan, dan mengonfigurasi catatan DNS berbasis latensi di Route 53 untuk merutekan permintaan klien ke Wilayah yang memiliki latensi terendah.  
Lihat [titik akhir API](#apigateway-definition-api-endpoints).

**Rute**  <a name="apigateway-definition-route"></a>
 WebSocket Rute di API Gateway digunakan untuk mengarahkan pesan masuk ke integrasi tertentu, seperti AWS Lambda fungsi, berdasarkan konten pesan. Saat menentukan WebSocket API, Anda menentukan kunci rute dan backend integrasi. Kunci rute adalah atribut di badan pesan. Ketika kunci rute dicocokkan dalam pesan masuk, backend integrasi dipanggil.   
Rute default juga dapat diatur untuk kunci rute yang tidak cocok atau untuk menentukan model proxy yang meneruskan pesan melalui apa adanya ke komponen backend yang melakukan perutean dan memproses permintaan.

**Permintaan rute**  <a name="apigateway-definition-route-request"></a>
Antarmuka publik metode WebSocket API di API Gateway yang mendefinisikan isi yang harus dikirimkan oleh pengembang aplikasi dalam permintaan untuk mengakses backend melalui API.

**Respon rute**  <a name="apigateway-definition-route-response"></a>
Antarmuka publik WebSocket API yang mendefinisikan kode status, header, dan model body yang diharapkan pengembang aplikasi dari API Gateway.

**Rencana penggunaan**  <a name="apigateway-definition-usage-plan"></a>
[Paket penggunaan](api-gateway-api-usage-plans.md) menyediakan klien API terpilih dengan akses ke satu atau beberapa REST yang diterapkan atau WebSocket APIs. Anda dapat menggunakan paket penggunaan untuk mengonfigurasi pembatasan dan batas kuota, yang diberlakukan pada kunci API klien individual.

**WebSocket koneksi**  
API Gateway mempertahankan koneksi persisten antara klien dan API Gateway itu sendiri. Tidak ada koneksi persisten antara API Gateway dan integrasi backend seperti fungsi Lambda. Layanan backend dipanggil sesuai kebutuhan, berdasarkan konten pesan yang diterima dari klien.

# Pilih antara REST APIs dan HTTP APIs
<a name="http-api-vs-rest"></a>

REST APIs dan HTTP APIs keduanya adalah produk RESTful API. REST APIs mendukung lebih banyak fitur daripada HTTP APIs, sedangkan HTTP APIs dirancang dengan fitur minimal sehingga dapat ditawarkan dengan harga lebih murah. Pilih REST APIs jika Anda memerlukan fitur seperti kunci API, pembatasan per klien, validasi permintaan, AWS WAF integrasi, atau titik akhir API pribadi. Pilih HTTP APIs jika Anda tidak memerlukan fitur yang disertakan dengan REST APIs.

Bagian berikut merangkum fitur inti yang tersedia di REST APIs dan HTTP APIs. Bila perlu, tautan tambahan disediakan untuk menavigasi antara bagian REST API dan HTTP API dari Panduan Pengembang API Gateway.

## Tipe titik akhir
<a name="http-api-vs-rest.differences.endpoint-type"></a>

Jenis titik akhir mengacu pada titik akhir yang dibuat API Gateway untuk API Anda. Untuk informasi selengkapnya, lihat [Jenis titik akhir API untuk REST APIs di API Gateway](api-gateway-api-endpoint-types.md). 


| Jenis titik akhir | API REST | API HTTPS | 
| --- | --- | --- | 
|  [Dioptimalkan tepi](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-edge-optimized)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Regional](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-regional)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | 
|  [Pribadi](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-private)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 

## Keamanan
<a name="http-api-vs-rest.differences.security"></a>

API Gateway menyediakan sejumlah cara untuk melindungi API Anda dari ancaman tertentu, seperti aktor jahat atau lonjakan lalu lintas. Untuk mempelajari selengkapnya, lihat [Lindungi REST Anda APIs di API Gateway](rest-api-protect.md) dan [Lindungi HTTP Anda APIs di API Gateway](http-api-protect.md).


| Fitur keamanan | API REST | API HTTPS | 
| --- | --- | --- | 
|  [Otentikasi TLS timbal balik](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-mutual-tls.md)  | 
|  [Sertifikat untuk otentikasi backend](getting-started-client-side-ssl-authentication.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [AWS WAF](apigateway-control-access-aws-waf.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 

## Otorisasi
<a name="http-api-vs-rest.differences.authorization"></a>

API Gateway mendukung beberapa mekanisme untuk mengontrol dan mengelola akses ke API Anda. Untuk informasi selengkapnya, lihat [Kontrol dan kelola akses ke REST APIs di API Gateway](apigateway-control-access-to-api.md) dan [Kontrol dan kelola akses ke HTTP APIs di API Gateway](http-api-access-control.md).


| Opsi otorisasi | API REST | API HTTPS | 
| --- | --- | --- | 
|  [IAM](permissions.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](permissions.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-access-control-iam.md)  | 
|  [Kebijakan sumber daya](apigateway-resource-policies.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak   | 
|  [Amazon Cognito](apigateway-integrate-with-cognito.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)Ya 1  | 
|  [Otorisasi khusus dengan suatu fungsi AWS Lambda](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-lambda-authorizer.md)  | 
|  [Token Web JSON (JWT)](http-api-jwt-authorizer.md) 2  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | 

1 Anda dapat menggunakan Amazon Cognito dengan otorisasi [JWT](http-api-jwt-authorizer.md).

2 Anda dapat menggunakan [otorisasi Lambda](apigateway-use-lambda-authorizer.md) untuk memvalidasi JWTs REST. APIs

## Manajemen API
<a name="http-api-vs-rest.differences.management"></a>

Pilih REST APIs jika Anda memerlukan kemampuan manajemen API seperti kunci API dan pembatasan tarif per klien. Lihat informasi selengkapnya di [Mendistribusikan REST Anda APIs ke klien di API Gateway](rest-api-distribute.md), [Nama domain khusus untuk REST publik APIs di API Gateway](how-to-custom-domains.md), dan [Nama domain khusus untuk HTTP APIs di API Gateway](http-api-custom-domain-names.md).


| Fitur | API REST | API HTTPS | 
| --- | --- | --- | 
|  [Domain kustom](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-custom-domain-names.md)  | 
|  [Kunci API](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Pembatasan tarif per klien](api-gateway-request-throttling.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Pelambatan penggunaan per klien](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Portal pengembang](apigateway-portals.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 

## Pengembangan
<a name="http-api-vs-rest.differences.development"></a>

Saat Anda mengembangkan API Gateway API, Anda memutuskan sejumlah karakteristik API Anda. Karakteristik ini bergantung pada kasus penggunaan API Anda. Untuk informasi lebih lanjut, lihat [Kembangkan REST APIs di API Gateway](rest-api-develop.md) dan [Kembangkan HTTP APIs di API Gateway](http-api-develop.md).


| Fitur | API REST | API HTTPS | 
| --- | --- | --- | 
|  [Konfigurasi CORS](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-cors.md)  | 
|  [Doa uji](how-to-test-method.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Caching](api-gateway-caching.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Penerapan yang dikendalikan pengguna](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-stages.md)  | 
|  [Penerapan otomatis](http-api-stages.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | 
|  [Tanggapan gateway khusus](api-gateway-gatewayResponse-definition.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Penerapan rilis kenari](canary-release.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Minta validasi](api-gateway-method-request-validation.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Minta transformasi parameter](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-parameter-mapping.md)  | 
|  [Minta transformasi tubuh](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 

## Memantau
<a name="http-api-vs-rest.differences.monitoring"></a>

API Gateway mendukung beberapa opsi untuk mencatat permintaan API dan memantau permintaan Anda APIs. Untuk informasi selengkapnya, lihat [Pantau REST APIs di API Gateway](rest-api-monitor.md) dan [Pantau HTTP APIs di API Gateway](http-api-monitor.md).


| Fitur | API REST | API HTTPS | 
| --- | --- | --- | 
|  [ CloudWatch Metrik Amazon](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-metrics.md)  | 
|  [Akses log ke CloudWatch Log](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-logging.md)  | 
|  [Akses log ke Amazon Data Firehose](apigateway-logging-to-kinesis.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Log eksekusi](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [AWS X-Ray menelusuri](apigateway-xray.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 

## Integrasi
<a name="http-api-vs-rest.differences.integrations"></a>

Integrasi menghubungkan API Gateway API Anda ke sumber daya backend. Untuk informasi selengkapnya, lihat [Integrasi untuk REST APIs di API Gateway](how-to-integration-settings.md) dan [Buat integrasi untuk HTTP APIs di API Gateway](http-api-develop-integrations.md).


| Fitur | API REST | API HTTPS | 
| --- | --- | --- | 
|  [Titik akhir HTTP publik](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-develop-integrations-http.md)  | 
|  [AWS layanan](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-develop-integrations-aws-services.md)  | 
|  [AWS Lambda fungsi](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-develop-integrations-lambda.md)  | 
|  [Integrasi pribadi dengan Network Load Balancers](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](http-api-develop-integrations-private.md)  | 
|  [Integrasi pribadi dengan Application Load Balancers](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg)[Ya](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | 
|  [Integrasi pribadi dengan AWS Cloud Map](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak   |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | 
|  [Integrasi tiruan](how-to-mock-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 
|  [Streaming respons](response-transfer-mode.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/success_icon.svg) Ya  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/negative_icon.svg) Tidak  | 

# Memulai dengan konsol REST API
<a name="getting-started-rest-new-console"></a>

Dalam latihan memulai ini, Anda membuat REST API tanpa server menggunakan konsol API Gateway REST API. Tanpa server APIs memungkinkan Anda fokus pada aplikasi Anda alih-alih menghabiskan waktu Anda menyediakan dan mengelola server. Latihan ini harus memakan waktu kurang dari 20 menit untuk diselesaikan, dan dimungkinkan dalam [Tingkat AWS Gratis](https://aws.amazon.com/free/).

Pertama, Anda membuat fungsi Lambda menggunakan konsol Lambda. Selanjutnya, Anda membuat REST API menggunakan konsol API Gateway REST API. Kemudian, Anda membuat metode API dan mengintegrasikannya dengan fungsi Lambda menggunakan integrasi proxy Lambda. Terakhir, Anda menerapkan dan menjalankan API Anda.

Saat Anda menjalankan REST API, API Gateway merutekan permintaan ke fungsi Lambda Anda. Lambda menjalankan fungsi dan mengembalikan respons ke API Gateway. API Gateway kemudian mengembalikan respons itu kepada Anda.

![\[Ikhtisar REST API yang Anda buat dalam tutorial ini.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/getting-started-overview-rest.png)


Untuk menyelesaikan latihan ini, Anda memerlukan pengguna Akun AWS dan AWS Identity and Access Management (IAM) dengan akses konsol. Untuk informasi selengkapnya, lihat [Siapkan untuk menggunakan API Gateway](setting-up.md).

**Topics**
+ [Langkah 1: Membuat fungsi Lambda](#getting-started-rest-new-console-create-function)
+ [Langkah 2: Buat REST API](#getting-started-rest-new-console-create-api)
+ [Langkah 3: Buat integrasi proxy Lambda](#getting-started-rest-new-console-create-integration)
+ [Langkah 4: Menerapkan API Anda](#getting-started-rest-new-console-deploy)
+ [Langkah 5: Panggil API Anda](#getting-started-rest-new-console-invoke-api)
+ [(Opsional) Langkah 6: Hapus](#getting-started-cleanup-rest)

## Langkah 1: Membuat fungsi Lambda
<a name="getting-started-rest-new-console-create-function"></a>

Anda menggunakan fungsi Lambda untuk backend API Anda. Lambda menjalankan kode Anda hanya saat diperlukan dan menskalakan secara otomatis, dari beberapa permintaan per hari hingga ribuan per detik.

Untuk latihan ini, Anda menggunakan fungsi Node.js default di konsol Lambda.

**Untuk membuat fungsi Lambda**

1. [Masuk ke konsol Lambda di https://console.aws.amazon.com /lambda.](https://console.aws.amazon.com/lambda)

1. Pilih **Buat fungsi**.

1. Di bagian **Informasi dasar**, untuk **Nama fungsi**, masukkan **my-function**.

1. Untuk semua opsi lain, gunakan pengaturan default.

1. Pilih **Buat fungsi**.

Kode fungsi Lambda default akan terlihat mirip dengan yang berikut ini:

```
export const handler = async (event) => {
    const response = {
        statusCode: 200,
        body: JSON.stringify('The API Gateway REST API console is great!'),
    };
    return response;
};
```

Anda dapat memodifikasi fungsi Lambda untuk latihan ini, selama respons fungsi selaras dengan [format yang dibutuhkan API Gateway](set-up-lambda-proxy-integrations.md#api-gateway-simple-proxy-for-lambda-output-format).

Ganti body respons default (`Hello from Lambda!`) dengan`The API Gateway REST API console is great!`. Ketika Anda memanggil fungsi contoh, ia mengembalikan `200` respons ke klien, bersama dengan respons yang diperbarui.

## Langkah 2: Buat REST API
<a name="getting-started-rest-new-console-create-api"></a>

Selanjutnya, Anda membuat REST API dengan sumber daya root (`/`).

**Untuk membuat REST API**

1. Masuk ke konsol API Gateway di [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Lakukan salah satu tindakan berikut:
   + Untuk membuat API pertama Anda, untuk **REST API**, pilih **Build**.
   + Jika Anda pernah membuat API sebelumnya, pilih **Create API**, lalu pilih **Build** for **REST API**.

1.  Untuk **nama API**, masukkan**my-rest-api**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi.

1. Tetap tetapkan **jenis endpoint API** ke **Regional**.

1. Untuk **jenis alamat IP**, pilih **IPv4**.

1. Pilih **Buat API**.

## Langkah 3: Buat integrasi proxy Lambda
<a name="getting-started-rest-new-console-create-integration"></a>

Selanjutnya, Anda membuat metode API untuk REST API di root resource (`/`) dan mengintegrasikan metode tersebut dengan fungsi Lambda Anda menggunakan integrasi proxy. Dalam integrasi proxy Lambda, API Gateway meneruskan permintaan masuk dari klien langsung ke fungsi Lambda.

**Untuk membuat integrasi proxy Lambda**

1. Pilih `/` sumber daya, lalu pilih **Create method**.

1. Untuk **jenis Metode**, pilih`ANY`.

1. Untuk **jenis Integrasi**, pilih **Lambda**.

1. Aktifkan **integrasi proxy Lambda**.

1. Untuk **fungsi Lambda**, masukkan**my-function**, lalu pilih fungsi Lambda Anda.

1. Pilih **metode Buat**.

## Langkah 4: Menerapkan API Anda
<a name="getting-started-rest-new-console-deploy"></a>

Selanjutnya, Anda membuat penerapan API dan mengaitkannya dengan sebuah panggung.

**Untuk men-deploy API Anda**

1. Pilih **Deploy API**.

1. Untuk **Stage**, pilih **New stage**.

1. Untuk **nama Panggung**, masukkan**Prod**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi.

1. Pilih **Deploy**.

Sekarang klien dapat menghubungi API Anda. **Untuk menguji API Anda sebelum menerapkannya, Anda dapat memilih metode **APAPUN** secara opsional, menavigasi ke tab **Uji**, lalu pilih Uji.**

## Langkah 5: Panggil API Anda
<a name="getting-started-rest-new-console-invoke-api"></a>

**Untuk menjalankan API Anda**

1. Dari panel navigasi utama, pilih **Stage**.

1. Di bawah **Detail tahap**, pilih ikon salin untuk menyalin URL pemanggilan API Anda.  
![\[Setelah Anda membuat REST API, konsol akan menampilkan URL pemanggilan API Anda.\]](http://docs.aws.amazon.com/id_id/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. Masukkan URL pemanggilan di browser web. 

   URL lengkap akan terlihat seperti`https://abcd123.execute-api.us-east-2.amazonaws.com/Prod`. 

   Browser Anda mengirimkan `GET` permintaan ke API.

1. Verifikasi respons API Anda. Anda akan melihat teks `"The API Gateway REST API console is great!"` di browser Anda.

## (Opsional) Langkah 6: Hapus
<a name="getting-started-cleanup-rest"></a>

Untuk mencegah biaya yang tidak perlu untuk Anda Akun AWS, hapus sumber daya yang Anda buat sebagai bagian dari latihan ini. Langkah-langkah berikut menghapus REST API Anda, fungsi Lambda Anda, dan sumber daya terkait.

**Untuk menghapus REST API**

1. Di panel **Sumber Daya**, pilih **tindakan API**, **Hapus API**.

1. Di kotak dialog **Delete API**, masukkan **konfirmasi**, lalu pilih **Hapus**.

**Untuk menghapus fungsi Lambda**

1. [Masuk ke konsol Lambda di https://console.aws.amazon.com /lambda.](https://console.aws.amazon.com/lambda)

1. Pada halaman **Fungsi**, pilih fungsi Anda. Pilih **Tindakan**, **Hapus**.

1. Di kotak dialog **Hapus 1 fungsi**, masukkan**delete**, lalu pilih **Hapus**.

**Untuk menghapus grup log fungsi Lambda**

1. Buka [Halaman grup log](https://console.aws.amazon.com/cloudwatch/home#logs:) di konsol Amazon CloudWatch.

1. Pada halaman **Grup log**, pilih grup log fungsi Anda (`/aws/lambda/my-function`). Kemudian, untuk **Tindakan**, pilih **Hapus grup log**.

1. Di kotak dialog **Hapus grup log**, pilih **Hapus**.

**Untuk menghapus peran eksekusi fungsi Lambda**

1. Buka [halaman Peran](https://console.aws.amazon.com/iam/home?#/roles) dari konsol IAM.

1. (Opsional) Pada halaman **Peran**, di kotak pencarian, masukkan**my-function**.

1. Pilih peran fungsi Anda (misalnya,`my-function-31exxmpl`), lalu pilih **Hapus**.

1. Di **Hapus`my-function-31exxmpl`?** kotak dialog, masukkan nama peran, lalu pilih **Hapus**.

**Tip**  
Anda dapat mengotomatiskan pembuatan dan pembersihan AWS sumber daya dengan menggunakan AWS CloudFormation atau AWS Serverless Application Model ()AWS SAM. Untuk beberapa contoh CloudFormation template, lihat [contoh template untuk API Gateway](https://github.com/awsdocs/amazon-api-gateway-developer-guide/tree/main/cloudformation-templates) di repositori **awsdocs** GitHub .