

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

# Menggunakan Amazon Data Firehose dengan AWS PrivateLink
<a name="vpc"></a>

Anda dapat menggunakan antarmuka VPC endpoint (AWS PrivateLink) untuk mengakses Amazon Data Firehose dari VPC Anda tanpa memerlukan Internet Gateway atau NAT Gateway. Endpoint VPC antarmuka tidak memerlukan gateway internet, perangkat NAT, koneksi VPN, atau koneksi. Direct Connect Endpoint VPC antarmuka didukung oleh AWS PrivateLink, sebuah AWS teknologi yang memungkinkan komunikasi pribadi antar AWS layanan menggunakan antarmuka elastic network dengan private di Amazon VPC IPs Anda. Untuk informasi selengkapnya, lihat [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html). 

## Menggunakan antarmuka VPC endpoint ()AWS PrivateLink untuk Firehose
<a name="using-interface-vpc-endpoints"></a>

Untuk memulai, buat titik akhir VPC antarmuka agar lalu lintas Amazon Data Firehose Anda dari sumber daya Amazon VPC Anda mulai mengalir melalui titik akhir VPC antarmuka. Saat membuat endpoint, Anda dapat melampirkan kebijakan endpoint yang mengontrol akses ke Amazon Data Firehose. Untuk selengkapnya tentang menggunakan kebijakan untuk mengontrol akses dari titik akhir VPC ke Amazon Data Firehose, lihat [Mengontrol Akses ke Layanan](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dengan Titik Akhir VPC.

Contoh berikut menunjukkan bagaimana Anda dapat mengatur AWS Lambda fungsi di VPC dan membuat titik akhir VPC untuk memungkinkan fungsi berkomunikasi secara aman dengan layanan Amazon Data Firehose. Dalam contoh ini, Anda menggunakan kebijakan yang memungkinkan fungsi Lambda mencantumkan aliran Firehose di Wilayah saat ini, tetapi tidak menjelaskan aliran Firehose apa pun.

**Buat VPC endpoint**

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

1. Pada Dasbor VPC pilih **Titik Akhir**.

1. Pilih **Buat Titik Akhir**.

1. Pada daftar nama layanan, pilih `com.amazonaws.your_region.kinesis-firehose`.

1. Pilih VPC dan satu atau beberapa subnet yang akan jadi tempat menciptakan titik akhir.

1. Pilih satu atau beberapa grup keamanan untuk dikaitkan dengan titik akhir.

1. Untuk **Kebijakan**, pilih **Kustom** dan tempelkan kebijakan berikut ini:

   ```
   {
       "Statement": [
           {
               "Sid": "Allow-only-specific-PrivateAPIs",
               "Principal": "*",
               "Action": [
                   "firehose:ListDeliveryStreams"
               ],
               "Effect": "Allow",
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "Allow-only-specific-PrivateAPIs",
               "Principal": "*",
               "Action": [
                   "firehose:DescribeDeliveryStream"
               ],
               "Effect": "Deny",
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

1. Pilih **Buat titik akhir**.

**Buat IAM role untuk digunakan dengan fungsi Lambda**

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

1. Di panel kiri, pilih **Peran** lalu pilih **Buat peran**.

1. Di bawah **Pilih jenis entitas tepercaya**, pertahankan pilihan default **Layanan AWS **.

1. Di bawah **Pilih layanan yang akan menggunakan di peran ini**, pilih **Lambda**.

1. Pilih **Berikutnya: Izin**.

1. Dari daftar kebijakan, cari dan tambahkan dua kebijakan bernama `AWS LambdaVPCAccessExecutionRole` dan `AmazonDataFirehoseReadOnlyAccess`.
**penting**  
Ini adalah contoh. Anda mungkin memerlukan kebijakan yang lebih ketat untuk lingkungan produksi Anda.

1. Pilih **Berikutnya: Tanda**. Anda tidak perlu menambahkan tanda untuk tujuan latihan ini. Pilih **Berikutnya: Tinjauan**.

1. Masukkan nama peran, lalu pilih **Buat peran**.

**Buat fungsi Lambda di dalam VPC**

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

1. Pilih **Buat fungsi**.

1. Pilih **Penulis dari scratch**.

1. Masukkan nama untuk fungsi tersebut, lalu atur **Runtime** ke `Python 3.9` atau lebih tinggi.

1. Di bagian **Izin**, perluas **Pilih atau buat peran eksekusi**.

1. Pada daftar **Peran eksekusi**, pilih **Gunakan peran yang ada**.

1. Pada daftar **Peran yang ada**, pilih peran yang Anda buat sebelumnya.

1. Pilih **Buat fungsi**.

1. Di bawah **Kode fungsi**, tempelkan kode berikut.

   ```
       import json
       import boto3
       import os
       from botocore.exceptions import ClientError
        
       def lambda_handler(event, context):
           REGION = os.environ['AWS_REGION']
           client = boto3.client(
               'firehose',
               REGION
               
           )
           print("Calling list_delivery_streams with ListDeliveryStreams allowed policy.")
           delivery_stream_request = client.list_delivery_streams()
           print("Successfully returned list_delivery_streams request %s." % (
               delivery_stream_request
           ))
           describe_access_denied = False
           try:
               print("Calling describe_delivery_stream with DescribeDeliveryStream denied policy.")
               delivery_stream_info = client.describe_delivery_stream(DeliveryStreamName='test-describe-denied')
           except ClientError as e:
               error_code = e.response['Error']['Code']
               print ("Caught %s." % (error_code))
               if error_code == 'AccessDeniedException':
                   describe_access_denied = True
           
           if not describe_access_denied:
               raise
           else:
               print("Access denied test succeeded.")
   ```

1. Di bawah **Pengaturan dasar**, atur batas waktu menjadi 1 menit.

1. Di bawah **Jaringan**, pilih VPC tempat Anda membuat titik akhir di atas, lalu pilih subnet dan grup keamanan yang Anda kaitkan dengan titik akhir saat Anda membuatnya.

1. Di dekat bagian atas halaman, pilih **Simpan**.

1. Pilih **Uji**.

1. Masukkan nama peristiwa, lalu pilih **Buat**.

1. Pilih **Uji** sekali lagi. Hal ini akan menyebabkan fungsi berjalan. Setelah hasil eksekusi muncul, perluas **Detail** dan bandingkan output log dengan kode fungsi. Hasil yang berhasil menunjukkan daftar aliran Firehose di Wilayah, serta output berikut:

    `Calling describe_delivery_stream.` 

    `AccessDeniedException ` 

    `Access denied test succeeded.` 

## Didukung Wilayah AWS
<a name="availability"></a>

Titik akhir VPC antarmuka saat ini didukung dalam wilayah berikut. 
+ AS Timur (Ohio)
+ AS Timur (Virginia Utara)
+ AS Barat (California Utara)
+ AS Barat (Oregon)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Seoul)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ Asia Pasifik (Thailand)
+ Asia Pasifik (Tokyo)
+ Asia Pacific (Hong Kong)
+ Kanada (Pusat)
+ Kanada Barat (Calgary)
+ China (Beijing)
+ Tiongkok (Ningxia)
+ Eropa (Frankfurt)
+ Eropa (Irlandia)
+ Eropa (London)
+ Eropa (Paris)
+ Meksiko (Tengah)
+ Amerika Selatan (Sao Paulo)
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)
+ Eropa (Spanyol)
+ Timur Tengah (UAE)
+ Asia Pasifik (Jakarta)
+ Asia Pasifik (Osaka)
+ Israel (Tel Aviv)
+ Asia Pasifik (Malaysia)