Apa Itu AWS App Mesh? - AWS App Mesh

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

Apa Itu AWS App Mesh?

AWS App Meshadalah mesh layanan yang membuatnya mudah untuk memantau dan mengontrol layanan. Jaring layanan adalah lapisan infrastruktur yang didedikasikan untuk menangani service-to-service komunikasi, biasanya melalui serangkaian proxy jaringan ringan yang digunakan bersama kode aplikasi. App Mesh menstandarisasi bagaimana cara layanan Anda berkomunikasi, memberi Anda end-to-end visibilitas dan membantu memastikan ketersediaan tinggi untuk aplikasi Anda. App Mesh memberikan visibilitas yang konsisten dan kontrol lalu lintas jaringan untuk setiap layanan dalam aplikasi.

Menambahkan App Mesh ke aplikasi contoh

Pertimbangkan aplikasi contoh sederhana berikut yang tidak menggunakan App Mesh. Kedua layanan dapat berjalanAWS Fargate, Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Service (Amazon EC2), Amazon Elastic Container Service (Amazon EC2), Amazon EC2 dengan Docker.

Dalam ilustrasi ini,serviceB keduanyaserviceA dan dapat ditemukan melaluiapps.local namespace. Katakanlah, misalnya, Anda memutuskan untuk menyebarkan versi baruserviceb.apps.local bernamaservicebv2.apps.local. Selanjutnya, Anda ingin mengarahkan persentase lalu lintas dariservicea.apps.local keserviceb.apps.local dan persentase keservicebv2.apps.local. Bila Anda yakinservicebv2 itu berkinerja baik, Anda ingin mengirim 100 persen lalu lintas ke sana.

App Mesh dapat membantu Anda melakukan ini tanpa mengubah kode aplikasi atau nama layanan terdaftar. Jika Anda menggunakan App Mesh dengan aplikasi contoh ini, maka mesh Anda mungkin terlihat seperti ilustrasi berikut.

Dalam konfigurasi ini, layanan tidak lagi berkomunikasi satu sama lain secara langsung. Sebaliknya, mereka berkomunikasi satu sama lain melalui proxy. Proxy yang digunakan denganservicea.apps.local layanan membaca konfigurasi App Mesh dan mengirimkan lalu lintas keserviceb.apps.local atauservicebv2.apps.local berdasarkan konfigurasi.

Komponen App Mesh

App Mesh terdiri dari komponen-komponen berikut, diilustrasikan dalam contoh sebelumnya:

  • Mesh layanan - Mesh layanan adalah batasan logis untuk lalu lintas jaringan jaringan antara layanan yang berada di dalamnya. Dalam contoh, mesh diberi namaapps, dan berisi semua sumber daya lain untuk mesh. Untuk informasi selengkapnya, lihat Jaring layanan.

  • Layanan virtual - Layanan virtual adalah abstraksi dari layanan sebenarnya yang disediakan oleh simpul virtual, secara langsung atau tidak langsung, dengan menggunakan router virtual. Dalam ilustrasi, dua layanan virtual mewakili dua layanan yang sebenarnya. Nama-nama layanan virtual adalah nama yang dapat ditemukan dari layanan yang sebenarnya. Ketika layanan virtual dan layanan sebenarnya memiliki nama yang sama, beberapa layanan dapat berkomunikasi satu sama lain menggunakan nama yang sama yang mereka gunakan sebelum App Mesh diimplementasikan. Untuk informasi selengkapnya, lihat Layanan virtual.

  • Node virtual - Node virtual bertindak sebagai pointer logis ke layanan yang dapat ditemukan, seperti Amazon ECS atau Kubernetes. Untuk setiap layanan virtual, Anda akan memiliki setidaknya satu node virtual. Dalam ilustrasi, layananservicea.apps.local virtual mendapat informasi konfigurasi untuk node virtual bernamaserviceA. NodeserviceA virtual dikonfigurasi denganservicea.apps.local nama untuk penemuan layanan. Layananserviceb.apps.local virtual dikonfigurasi untuk merutekan lalu lintas ke nodeserviceBv2 virtualserviceB dan melalui router virtual bernamaserviceB. Untuk informasi selengkapnya, lihat Node virtual.

  • Router dan rute virtual - Router virtual menangani lalu lintas untuk satu atau lebih layanan virtual dalam mesh Anda. Rute dikaitkan dengan router virtual. Rute ini digunakan untuk mencocokkan permintaan untuk router virtual dan untuk mendistribusikan lalu lintas ke node virtual yang terkait. Dalam ilustrasi sebelumnya, routerserviceB virtual memiliki rute yang mengarahkan persentase lalu lintas ke nodeserviceB virtual, dan persentase lalu lintas ke nodeserviceBv2 virtual. Anda dapat mengatur persentase lalu lintas yang dialihkan ke node virtual tertentu dan mengubahnya dari waktu ke waktu. Anda dapat merutekan lalu lintas berdasarkan kriteria seperti header HTTP, jalur URL, atau nama layanan dan metode gRPC. Anda dapat mengonfigurasi kebijakan coba lagi untuk mencoba kembali sambungan jika ada kesalahan dalam respons. Misalnya, dalam ilustrasi, kebijakan coba ulang untuk rute dapat menentukan bahwa koneksi keserviceb.apps.local dicoba ulang lima kali, dengan sepuluh detik antara upaya coba lagi, jikaserviceb.apps.local mengembalikan jenis kesalahan tertentu. Untuk informasi selengkapnya, lihat Router virtual dan Rute.

  • Proxy - Anda mengkonfigurasi layanan Anda untuk menggunakan proxy setelah Anda membuat mesh dan sumber dayanya. Proxy membaca konfigurasi App Mesh dan mengarahkan lalu lintas dengan tepat. Dalam ilustrasi, semua komunikasi dariservicea.apps.local untukserviceb.apps.local melewati proxy yang dikerahkan dengan setiap layanan. Layanan berkomunikasi satu sama lain menggunakan nama penemuan layanan yang sama yang mereka gunakan sebelum memperkenalkan App Mesh. Karena proxy membaca konfigurasi App Mesh, Anda dapat mengontrol cara kedua layanan berkomunikasi satu sama lain. Bila Anda ingin mengubah konfigurasi App Mesh, Anda tidak perlu mengubah atau men-deploy ulang layanan itu sendiri atau proxy. Untuk informasi lebih lanjut, lihat Gambar utusan.

Cara memulai

Untuk menggunakan App Mesh, Anda harus menjalankan layanan yang sudah adaAWS Fargate, Amazon ECS, Amazon EKS, Kubernetes di Amazon EC2, atau Amazon EC2 dengan Docker.

Untuk mulai menggunakan App Mesh lihat salah satu panduan berikut:

App Mesh

Anda dapat bekerja dengan App Mesh dengan cara berikut:

AWS Management Console

Konsol ini adalah antarmuka berbasis perambyang yang dapat Anda gunakan untuk mengelola sumber App Mesh yang dapat Anda gunakan untuk mengelola sumber App Mesh. Anda dapat membuka konsol App Mesh di https://console.aws.amazon.com/appmesh/.

AWS CLI

Memberikan perintah untuk rangkaian produk AWS yang luas, dan didukung di Windows, Mac, dan Linux. Untuk mulai, lihat Panduan Pengguna AWS Command Line Interface. Untuk informasi selengkapnya tentang perintah untuk App Mesh, lihat appmesh di ReferensiAWS CLI Perintah.

AWS Tools for Windows PowerShell

Memberikan perintah untuk rangkaianAWS produk yang luas bagi mereka yang membuat skrip di PowerShell lingkungan. Untuk mulai, lihat Panduan Pengguna AWS Tools for Windows PowerShell. Untuk informasi selengkapnya tentang cmdlet untuk App Mesh, lihat App Mesh di AWSAlat untuk Referensi PowerShell Cmdlet.

AWS CloudFormation

Memungkinkan Anda membuat templat yang menggambarkanAWS sumber daya yang Anda inginkan. Menggunakan template,AWS CloudFormation ketentuan dan mengkonfigurasi sumber daya untuk Anda. Untuk mulai, lihat Panduan Pengguna AWS CloudFormation. Untuk informasi selengkapnya tentang jenis resource App Mesh, lihat Referensi Jenis Sumber Daya App Mesh di ReferensiAWS CloudFormation Template.

AWS SDK

Kami juga menyediakan SDK yang memungkinkan Anda mengakses App Mesh dari berbagai bahasa pemrograman. SDK secara otomatis menangani tugas-tugas seperti:

  • Secara kriptografi menandatangani permintaan layanan Anda

  • Mencoba kembali permintaan

  • Menangani respons kesalahan

Untuk informasi selengkapnya tentang SDK yang tersedia, lihat Alat untuk Amazon Web Services.

Untuk informasi selengkapnya tentang App Mesh API, lihat ReferensiAWS App Mesh API API API.