Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagian ini menjelaskan cara untuk menerbitkan ke topik Amazon SNS sambil menjaga pesan aman dalam jaringan privat. Anda memublikasikan pesan dari EC2 instans Amazon yang di-host di Amazon Virtual Private Cloud (Amazon VPC). Pesan tetap berada di dalam AWS jaringan tanpa bepergian ke internet publik. Dengan menerbitkan pesan secara privat dari VPC, Anda dapat meningkatkan keamanan lalu lintas antara aplikasi Anda dan Amazon SNS. Keamanan ini penting ketika Anda menerbitkan informasi yang dapat diidentifikasi secara pribadi (PII) tentang pelanggan Anda, atau ketika aplikasi Anda tunduk pada peraturan pasar. Sebagai contoh, menerbitkan secara privat sangat membantu jika Anda memiliki sistem pemeliharaan kesehatan yang harus mematuhi Health Insurance Portability and Accountability Act (HIPAA), atau sistem keuangan yang harus mematuhi Payment Card Industry Data Security Standard (PCI DSS).
Langkah-langkah umumnya adalah sebagai berikut:
-
Gunakan AWS CloudFormation template untuk secara otomatis membuat jaringan pribadi sementara di Anda Akun AWS.
-
Buat VPC endpoint yang menghubungkan VPC dengan Amazon SNS.
-
Masuk ke EC2 instans Amazon dan publikasikan pesan secara pribadi ke topik Amazon SNS.
-
Verifikasi bahwa pesan telah berhasil dikirimkan.
-
Hapus sumber daya yang Anda buat selama proses ini sehingga tidak tetap ada di Anda Akun AWS.
Diagram berikut menggambarkan jaringan pribadi yang Anda buat di AWS akun Anda saat Anda menyelesaikan langkah-langkah ini:

Jaringan ini terdiri dari VPC yang berisi instance Amazon EC2 . Instans menghubungkan ke Amazon SNS melalui VPC endpoint antarmuka. Jenis titik akhir ini terhubung ke layanan yang didukung oleh AWS PrivateLink. Dengan koneksi ini dibuat, Anda dapat masuk ke EC2 instans Amazon dan mempublikasikan pesan ke topik Amazon SNS, meskipun jaringan terputus dari internet publik. Topik ini menggemari pesan yang diterimanya ke dua AWS Lambda fungsi berlangganan. Fungsi-fungsi ini mencatat pesan yang mereka terima di Amazon CloudWatch Logs.
Dibutuhkan sekitar 20 menit untuk menyelesaikan langkah-langkah tersebut.
Topik
Sebelum Anda mulai
Sebelum Anda memulai, Anda memerlukan akun Amazon Web Services (AWS). Saat Anda mendaftar, akun Anda secara otomatis mendaftar untuk semua layanan AWS, termasuk Amazon SNS dan Amazon VPC. Jika Anda belum membuat akun, buka https://aws.amazon.com/
Langkah 1: Buat EC2 key pair Amazon
Sebuah key pair digunakan untuk login ke EC2 instans Amazon. Pasangan kunci terdiri dari kunci publik yang digunakan untuk mengenkripsi informasi login Anda, dan kunci privat yang digunakan untuk mendekripsinya. Saat Anda membuat pasangan kunci, Anda harus mengunduh salinan kunci privat. Kemudian, Anda menggunakan key pair untuk masuk ke EC2 instance Amazon. Untuk login, Anda harus menentukan nama pasangan kunci, dan Anda harus memberikan kunci privat.
Untuk membuat pasangan kunci
Masuk ke AWS Management Console dan buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Dalam menu navigasi di sebelah kiri, cari bagian Jaringan & Keamanan. Kemudian, pilih Pasangan Kunci.
-
Pilih Buat Pasangan Kunci.
-
Di jendela Buat Pasangan Kunci, untuk Nama pasangan kunci, ketik
VPCE-Tutorial-KeyPair
. Kemudian, pilih Buat. -
File kunci privat tersebut akan secara otomatis diunduh oleh peramban Anda. Simpan di tempat yang aman. Amazon EC2 memberikan file ekstensi
.pem
. -
(Opsional) Jika Anda akan menggunakan klien SSH pada komputer Mac atau Linux untuk menghubungkan ke instans Anda, gunakan perintah
chmod
untuk mengatur izin file kunci privat Anda sehingga hanya Anda yang dapat membacanya:-
Buka terminal dan navigasikan ke direktori yang berisi kunci privat:
$
cd /
filepath_to_private_key
/ -
Mengatur izin menggunakan perintah berikut ini:
$
chmod 400 VPCE-Tutorial-KeyPair.pem
-
Langkah 2: Buat AWS sumber daya
Untuk mengatur infrastruktur, Anda menggunakan AWS CloudFormation template. Template adalah file yang bertindak sebagai cetak biru untuk membangun AWS sumber daya, seperti EC2 instans Amazon dan topik Amazon SNS. Template untuk proses ini disediakan GitHub untuk Anda unduh.
Anda menyediakan template untuk AWS CloudFormation, dan AWS CloudFormation menyediakan sumber daya yang Anda butuhkan sebagai tumpukan di Anda Akun AWS. Tumpukan adalah kumpulan sumber daya yang Anda kelola sebagai unit tunggal. Ketika Anda menyelesaikan langkah-langkah ini, Anda dapat menggunakan AWS CloudFormation untuk menghapus semua sumber daya dalam tumpukan sekaligus. Sumber daya ini tidak tetap ada di Anda Akun AWS, kecuali jika Anda menginginkannya.
Tumpukan untuk proses ini mencakup sumber daya berikut ini:
-
VPC dan sumber daya jaringan yang berkaitan, termasuk subnet, grup keamanan, gateway internet, dan tabel rute.
-
EC2 Instans Amazon yang diluncurkan ke subnet di VPC.
-
Topik Amazon SNS.
-
Dua AWS Lambda fungsi. Fungsi-fungsi ini menerima pesan yang dipublikasikan ke topik Amazon SNS, dan mereka mencatat peristiwa di CloudWatch Log.
-
CloudWatch Metrik dan log Amazon.
-
Peran IAM yang memungkinkan EC2 instans Amazon menggunakan Amazon SNS, dan peran IAM yang memungkinkan fungsi Lambda menulis ke log. CloudWatch
Untuk membuat sumber AWS daya
-
Unduh file template
dari situs GitHub web. -
Masuk ke konsol AWS CloudFormation
tersebut. -
Pilih Buat Tumpukan.
-
Pada halaman Pilih Templat, pilih Unggah templat ke Amazon S3, pilih file, dan pilih Berikutnya.
-
Pada halaman Tentukan Detail, tentukan nama tumpukan dan kunci:
-
Untuk Nama tumpukan, ketik
VPCE-Tutorial-Stack
. -
Untuk KeyName, pilih VPCE-tutorial-. KeyPair
-
Untuk SSHLocation, pertahankan nilai default dari
0.0.0.0/0
. -
Pilih Berikutnya.
-
-
Pada halaman Opsi, simpan semua nilai default, dan pilih Berikutnya.
-
Pada halaman Tinjau, verifikasi detail tumpukan.
-
Di bawah Kemampuan, akui bahwa AWS CloudFormation mungkin membuat sumber daya IAM dengan nama khusus.
-
Pilih Buat.
AWS CloudFormation Konsol membuka halaman Stacks. VPCE-Tutorial-StackMemiliki status CREATE_IN_PROGRESS. Dalam beberapa menit, setelah proses pembuatan selesai, status berubah menjadi CREATE_COMPLETE.
Tip
Pilih tombol Segarkan untuk melihat status tumpukan terbaru.
Langkah 3: Konfirmasikan bahwa EC2 instans Amazon Anda tidak memiliki akses internet
EC2 Instans Amazon yang diluncurkan di VPC Anda pada langkah sebelumnya tidak memiliki akses internet. Ini melarang lalu lintas keluar, dan tidak dapat menerbitkan pesan ke Amazon SNS. Verifikasikan ini dengan masuk ke instans. Kemudian, upayakan untuk menghubungkan ke titik akhir publik, dan upayakan untuk mengirim pesan Amazon SNS.
Pada titik ini, upaya menerbitkan gagal. Dalam langkah berikutnya, setelah Anda membuat VPC endpoint untuk Amazon SNS, upaya Anda untuk menerbitkan berhasil.
Untuk terhubung ke EC2 instans Amazon Anda
-
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Dalam menu navigasi di sebelah kiri, cari bagian Instans. Kemudian, pilih Instans.
-
Dalam daftar contoh, pilih VPCE -. Tutorial-EC2Instance
-
Salin nama host yang disediakan di kolom Public DNS (IPv4).
-
Buka terminal. Dari direktori yang berisi key pair, sambungkan ke instance menggunakan perintah berikut, di
instance-hostname
mana nama host yang Anda salin dari konsol Amazon EC2 :$
ssh -i VPCE-Tutorial-KeyPair.pem ec2-user@
instance-hostname
Untuk memverifikasi bahwa instans tidak memiliki konektivitas internet
-
Di terminal Anda, upayakan untuk menghubungkan ke titik akhir publik, seperti amazon.com:
$
ping amazon.com
Karena upaya koneksi gagal, Anda dapat membatalkan kapan saja (Ctrl + C pada Windows atau Command + C pada macOS).
Untuk memverifikasi bahwa instans tidak memiliki konektivitas ke Amazon SNS
-
Masuk ke konsol Amazon SNS
. -
Di panel navigasi di sebelah kiri, pilih Topik.
-
Pada halaman Topik, salin Amazon Resource Name (ARN) ke topik VPCE-Tutorial-Topic.
-
Di terminal Anda, upayakan untuk menerbitkan pesan ke topik:
$
aws sns publish --region
aws-region
--topic-arnsns-topic-arn
--message "Hello"Karena upaya menerbitkan gagal, Anda dapat membatalkan setiap saat.
Langkah 4: Buat VPC endpoint Amazon untuk Amazon SNS
Untuk menghubungkan VPC ke Amazon SNS, Anda harus menentukan VPC endpoint antarmuka. Setelah menambahkan titik akhir, Anda dapat masuk ke EC2 instans Amazon di VPC Anda, dan dari sana Anda dapat menggunakan Amazon SNS API. Anda dapat menerbitkan pesan ke topik, dan pesan diterbitkan secara privat. Mereka tetap berada dalam AWS jaringan, dan mereka tidak melakukan perjalanan internet publik.
catatan
Instans masih kekurangan akses ke AWS layanan lain dan titik akhir di internet.
Untuk membuat titik akhir
-
Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/
-
Di menu navigasi di sebelah kiri, pilih Titik Akhir.
-
Pilih Buat Titik Akhir.
-
Pada halaman Buat Titik Akhir, untuk Kategori layanan, pilih layanan AWS .
-
Untuk Nama Layanan, pilih nama layanan untuk Amazon SNS.
Nama layanan bervariasi berdasarkan wilayah yang dipilih. Misalnya, jika Anda memilih US East (Virginia N.), nama layanannya adalah com.amazonaws.
us-east-1
.sns. -
Untuk VPC, pilih VPC yang memiliki nama VPCE-Tutorial-VPC.
-
Untuk Subnet, pilih subnet yang memiliki VPCE-Tutorial-Subnet di ID subnet.
-
Untuk Aktifkan Nama DNS Privat, pilih Aktifkan untuk titik akhir ini.
-
Untuk grup Keamanan, pilih Pilih grup keamanan, dan pilih VPCE-tutorial -. SecurityGroup
-
Pilih Buat titik akhir. Konsol Amazon VPC mengonfirmasi bahwa VPC endpoint dibuat.
-
Pilih Tutup.
Konsol Amazon VPC membuka halaman Titik akhir. Titik akhir baru memiliki status tertunda. Dalam beberapa menit, setelah proses pembuatan selesai, status berubah menjadi tersedia.
Langkah 5: Terbitkan pesan ke topik Amazon SNS Anda
Sekarang VPC Anda menyertakan titik akhir untuk Amazon SNS, Anda dapat masuk ke EC2 instans Amazon dan mempublikasikan pesan ke topik tersebut.
Untuk menerbitkan pesan
-
Jika terminal Anda tidak lagi terhubung ke EC2 instans Amazon Anda, sambungkan lagi:
$
ssh -i VPCE-Tutorial-KeyPair.pem ec2-user@
instance-hostname
-
Jalankan perintah yang sama yang Anda lakukan sebelumnya untuk menerbitkan pesan ke topik Amazon SNS Anda. Kali ini, upaya untuk menerbitkan berhasil, dan Amazon SNS mengembalikan ID pesan:
$
aws sns publish --region
aws-region
--topic-arnsns-topic-arn
--message "Hello"{ "MessageId": "5b111270-d169-5be6-9042-410dfc9e86de" }
Langkah 6: Verifikasi pengiriman pesan Anda
Ketika topik Amazon SNS menerima pesan, akan melakukan fan out pesan dengan mengirimkannya ke dua fungsi Lambda yang berlangganan. Ketika fungsi-fungsi ini menerima pesan, mereka mencatat peristiwa ke CloudWatch log. Untuk memverifikasi bahwa pengiriman pesan Anda berhasil, periksa apakah fungsi telah dipanggil, dan periksa apakah CloudWatch log telah diperbarui.
Untuk memverifikasi bahwa fungsi Lambda dipanggil
-
Buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/
. -
Pada halaman Fungsi, pilih VPCe-Tutorial-Lambda-1.
-
Pilih Pemantauan.
-
Periksa grafik Hitungan invokasi. Grafik ini menunjukkan jumlah waktu saat fungsi Lambda telah dijalankan.
Jumlah invokasi cocok dengan jumlah waktu saat Anda menerbitkan pesan ke topik.
Untuk memverifikasi bahwa CloudWatch log telah diperbarui
-
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Di panel navigasi di sebelah kiri, pilih Log.
-
Periksa log yang ditulis oleh fungsi Lambda:
-
Pilih grup log/aws/lambda/VPCE-Tutorial-Lambda-1/.
-
Pilih pengaliran log.
-
Periksa bahwa log mencakup entri
From SNS: Hello
. -
Pilih Grup Log pada bagian atas konsol untuk kembali ke halaman Grup Log. Kemudian, ulangi langkah-langkah sebelumnya untuk the /aws/lambda/VPCE -Tutorial-Lambda-2/log group.
-
Selamat! Dengan menambahkan titik akhir untuk Amazon SNS ke VPC, Anda dapat menerbitkan pesan ke topik dari dalam jaringan yang terkelola oleh VPC. Pesan diterbitkan secara privat tanpa dipaparkan ke internet publik.
Langkah 7: Membersihkan
Kecuali Anda ingin mempertahankan sumber daya yang Anda buat, Anda dapat menghapusnya sekarang. Dengan menghapus AWS sumber daya yang tidak lagi Anda gunakan, Anda mencegah tagihan yang tidak perlu ke Anda Akun AWS.
Pertama, hapus VPC endpoint Anda menggunakan konsol Amazon VPC. Kemudian, hapus sumber daya lain yang Anda buat dengan menghapus tumpukan di AWS CloudFormation konsol. Saat Anda menghapus tumpukan, AWS CloudFormation hapus sumber daya tumpukan dari tumpukan Anda Akun AWS.
Untuk menghapus VPC endpoint Anda
-
Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/
-
Di menu navigasi di sebelah kiri, pilih Titik Akhir.
-
Pilih titik akhir yang Anda buat.
-
Pilih Tindakan, dan kemudian pilih Hapus Titik Akhir.
-
Di jendela Hapus Titik Akhir, pilih Ya, Hapus.
Status titik akhir ubah ke menghapus. Setelah penghapusan selesai, titik akhir dihapus dari halaman.
Untuk menghapus AWS CloudFormation tumpukan Anda
-
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Pilih tumpukan VPCe-Tutorial-Stack.
-
Pilih Tindakan, dan kemudian pilih Hapus Tumpukan.
-
Di jendela Hapus Tumpukan, pilih Ya, Hapus.
Status tumpukan berubah menjadi DELETE_IN_PROGRESS. Saat penghapusan selesai, tumpukan dihapus dari halaman.
Sumber daya terkait
Untuk informasi selengkapnya, lihat sumber daya berikut ini.