Tutorial: Mengirim pesan ke antrian Amazon SQS dari Amazon Virtual Private Cloud - Amazon Simple Queue Service

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

Tutorial: Mengirim pesan ke antrian Amazon SQS dari Amazon Virtual Private Cloud

Dalam tutorial ini, Anda mempelajari cara mengirim pesan ke antrian Amazon SQS melalui jaringan pribadi yang aman. Jaringan ini terdiri dari VPC yang berisi instans Amazon EC2. Instans terhubung ke Amazon SQS melalui titik akhir VPC antarmuka, memungkinkan Anda untuk terhubung ke instans Amazon EC2 dan mengirim pesan ke antrian Amazon SQS meskipun jaringan terputus dari internet publik. Untuk informasi selengkapnya, lihat Titik akhir Amazon Virtual Private Cloud untuk Amazon SQS.

penting
  • Anda dapat menggunakan Amazon Virtual Private Cloud hanya dengan titik akhir HTTPS Amazon SQS.

  • Saat mengonfigurasi Amazon SQS untuk mengirim pesan dari Amazon VPC, Anda harus mengaktifkan DNS pribadi dan menentukan titik akhir dalam format. sqs.us-east-2.amazonaws.com

  • DNS pribadi tidak mendukung titik akhir lama seperti atau. queue.amazonaws.com us-east-2.queue.amazonaws.com

Langkah 1: Buat pasangan kunci Amazon EC2

Sebuah key pair memungkinkan Anda terhubung ke instans Amazon EC2. Ini terdiri dari kunci publik yang mengenkripsi informasi login Anda dan kunci pribadi yang mendekripsi itu.

  1. Masuk ke konsol Amazon EC2.

  2. Pada menu navigasi, di bawah Jaringan & Keamanan, pilih Pasangan Kunci.

  3. Pilih Buat pasangan kunci.

  4. Dalam Buat Pasangan Kunci kotak dialog, untuk Nama pasangan kunci, masukkanSQS-VPCE-Tutorial-Key-Pair, lalu pilih Buat.

  5. Browser Anda mengunduh file kunci pribadi SQS-VPCE-Tutorial-Key-Pair.pem secara otomatis.

    penting

    Simpan file ini di tempat yang aman. EC2 tidak menghasilkan .pem file untuk key pair yang sama untuk kedua kalinya.

  6. Untuk memungkinkan klien SSH terhubung ke instans EC2 Anda, atur izin untuk file kunci pribadi Anda sehingga hanya pengguna Anda yang dapat memiliki izin membaca untuk itu, misalnya:

    chmod 400 SQS-VPCE-Tutorial-Key-Pair.pem

Langkah 2: Buat AWS sumber daya

Untuk menyiapkan infrastruktur yang diperlukan, Anda harus menggunakan AWS CloudFormation template, yang merupakan cetak biru untuk membuat tumpukan yang terdiri dari AWS sumber daya, seperti instans Amazon EC2 dan antrian Amazon SQS.

Tumpukan untuk tutorial ini mencakup sumber daya berikut:

  • VPC dan sumber daya jaringan terkait, termasuk subnet, grup keamanan, gateway internet, dan tabel rute

  • Instans Amazon EC2 diluncurkan ke subnet VPC

  • Antrean Amazon SQS

  1. Unduh AWS CloudFormation template bernama SQS-VPCE-Tutorial-CloudFormation.yamldariGitHub.

  2. Masuk ke konsol AWS CloudFormation.

  3. Pilih Buat Tumpukan.

  4. Pada halaman Pilih Template, pilih Unggah templat ke Amazon S3, pilih SQS-VPCE-SQS-Tutorial-CloudFormation.yaml file, lalu pilih Berikutnya.

  5. Di halaman Tentukan Detail, lakukan hal berikut:

    1. Untuk Nama tumpukan, masukkan SQS-VPCE-Tutorial-Stack.

    2. Untuk KeyName, pilih SQS-VPCE-Tutorial-Key-Pair.

    3. Pilih Selanjutnya.

  6. Pada halaman Opsi, pilih Selanjutnya.

  7. Pada halaman Tinjauan, di bagian Kemampuan, pilih Saya mengakui yang AWS CloudFormation mungkin membuat sumber daya IAM dengan nama khusus. , dan kemudian pilih Buat.

AWS CloudFormation mulai membuat tumpukan dan menampilkan status CREATE_IN_PROGRESS. Saat proses selesai, AWS CloudFormation menampilkan status CREATE_COMPLETE.

Langkah 3: Konfirmasikan bahwa instans EC2 Anda tidak dapat diakses publik

AWS CloudFormation Template Anda meluncurkan instans EC2 yang diberi nama SQS-VPCE-Tutorial-EC2-Instance ke dalam VPC Anda. Instans EC2 ini tidak mengizinkan lalu lintas keluar dan tidak dapat mengirim pesan ke Amazon SQS. Untuk memverifikasi ini, Anda harus terhubung ke instance, mencoba menyambung ke titik akhir publik, dan kemudian mencoba mengirim pesan kepada Amazon SQS.

  1. Masuk ke konsol Amazon EC2.

  2. Pada menu navigasi, di bawah Instans, pilih Instans.

  3. Pilih SQS-VPCE -. Tutorial-EC2Instance

  4. Salin nama host di bawah DNS Publik (IPv4), misalnya, ec2-203-0-113-0.us-west-2.compute.amazonaws.com.

  5. Dari direktori yang berisi key pair yang Anda buat sebelumnya, sambungkan ke instance menggunakan perintah berikut, misalnya:

    ssh -i SQS-VPCE-Tutorial-Key-Pair.pem ec2-user@ec2-203-0-113-0.us-east-2.compute.amazonaws.com
  6. Cobalah untuk terhubung ke titik akhir publik apa pun, misalnya:

    ping amazon.com

    Upaya koneksi gagal, seperti yang diharapkan.

  7. Masuk ke konsol Amazon SQS.

  8. Dari daftar antrian, pilih antrian yang dibuat oleh AWS CloudFormation template Anda, misalnya, vpce-sqs-tutorial-stack-cfqueue-1abcdefgh2ijk.

  9. Pada tabel Detail, salin URL, misalnya, https://sqs.us-east-2.amazonaws.com/123456789012/.

  10. Dari instans EC2 Anda, coba publikasikan pesan ke antrian menggunakan perintah berikut, misalnya:

    aws sqs send-message --region us-east-2 --endpoint-url https://sqs.us-east-2.amazonaws.com/ --queue-url https://sqs.us-east-2.amazonaws.com/123456789012/ --message-body "Hello from Amazon SQS."

    Upaya pengiriman gagal, seperti yang diharapkan.

    penting

    Kemudian, saat Anda membuat titik akhir VPC untuk Amazon SQS, upaya pengiriman Anda akan berhasil.

Langkah 4: Buat titik akhir Amazon VPC untuk Amazon SQS

Untuk menghubungkan VPC Anda ke Amazon SQS, Anda harus menentukan titik akhir VPC antarmuka. Setelah menambahkan titik akhir, Anda dapat menggunakan Amazon SQS API dari instans EC2 di VPC Anda. Ini memungkinkan Anda mengirim pesan ke antrian dalam AWS jaringan tanpa melintasi internet publik.

catatan

Instans EC2 masih belum memiliki akses ke AWS layanan dan titik akhir lain di internet.

  1. Masuk ke Amazon konsol Amazon VPC.

  2. Pada menu navigasi, pilih Endpoints.

  3. Pilih Buat Titik Akhir.

  4. Pada halaman Buat Titik Akhir, untuk Nama Layanan, pilih nama layanan untuk Amazon SQS.

    catatan

    Nama layanan bervariasi berdasarkan AWS Wilayah saat ini. Misalnya, jika Anda berada di AS Timur (Ohio), nama layanannya adalah com.amazonaws. us-east-2 .sqs.

  5. Untuk VPC, pilih SQS-VPCE-Tutorial-VPC.

  6. Untuk Subnet, pilih subnet yang Subnetnya ID berisi SQS-VPCE-Tutorial-Subnet.

  7. Untuk grup Keamanan, pilih Pilih grup keamanan, lalu pilih grup keamanan yang Nama grupnya berisi SQS VPCE Tutorial Security Group.

  8. Pilih Buat Titik Akhir.

    Titik akhir VPC antarmuka dibuat dan ID-nya ditampilkan, misalnya, vpce-0ab1cdef2ghi3j456k.

  9. Pilih Tutup.

    Konsol Amazon VPC membuka halaman Titik akhir.

Amazon VPC mulai membuat titik akhir dan menampilkan status tertunda. Ketika proses selesai, Amazon VPC menampilkan status yang tersedia.

Langkah 5: Kirim pesan ke antrian Amazon SQS Anda

Sekarang VPC Anda menyertakan titik akhir untuk Amazon SQS, Anda dapat terhubung ke instans EC2 dan mengirim pesan ke antrian Anda.

  1. Sambungkan kembali ke instans EC2 Anda, misalnya:

    ssh -i SQS-VPCE-Tutorial-Key-Pair.pem ec2-user@ec2-203-0-113-0.us-east-2.compute.amazonaws.com
  2. Cobalah untuk mempublikasikan pesan ke antrian lagi menggunakan perintah berikut, misalnya:

    aws sqs send-message --region us-east-2 --endpoint-url https://sqs.us-east-2.amazonaws.com/ --queue-url https://sqs.us-east-2.amazonaws.com/123456789012/ --message-body "Hello from Amazon SQS."

    Upaya pengiriman berhasil dan intisari MD5 dari badan pesan dan ID pesan ditampilkan, misalnya:

    { "MD5OfMessageBody": "a1bcd2ef3g45hi678j90klmn12p34qr5", "MessageId": "12345a67-8901-2345-bc67-d890123e45fg" }

Untuk informasi tentang menerima dan menghapus pesan dari antrian yang dibuat oleh AWS CloudFormation template Anda (misalnya, vpce-sqs-tutorial-stack-cfqueue-1abcdefgh2ijk), lihat. Menerima dan menghapus pesan di Amazon SQS

Untuk informasi tentang menghapus sumber daya Anda, lihat berikut ini: