Amazon API Gateway là dịch vụ được quản lý toàn phần, giúp các nhà phát triển dễ dàng phát hành, duy trì, giám sát, bảo mật và vận hành API ở mọi quy mô. Amazon API Gateway là một dịch vụ thanh toán theo mức sử dụng, đảm nhận tất cả các gánh nặng vô hình liên quan đến việc chạy API trên quy mô lớn một cách bảo mật và tin cậy.

Với sự phát triển nhanh chóng của thiết bị di động và Internet of Things (IoT), việc tạo hệ thống back-end và dữ liệu có thể truy cập ứng dụng thông qua API ngày càng trở nên phổ biến. Do có nhiều ứng dụng sử dụng các API này và cộng đồng các nhà phát triển đều trông cậy vào chúng nên thời gian và nỗ lực đầu tư vào công tác phát triển và quản lý API ngày càng tăng lên. Để giúp bạn dễ dàng sử dụng các API này, API Gateway có thể tạo ra SDK máy khách cho một số ngôn ngữ, bao gồm JavaScript, iOS và Android.

Hỗ trợ các API RESTful và API WebSocket

Với API Gateway, bạn có thể tạo API RESTful bằng API HTTP hoặc API REST. API HTTP là cách tốt nhất để xây dựng những API không yêu cầu tính năng quản lý API. API HTTP được tối ưu hóa cho khối lượng công việc serverless và backend HTTP. Giải pháp này giúp tiết kiệm đến 71% chi phí và giảm đến 60% độ trễ so với API REST từ API Gateway. Với khối lượng công việc yêu cầu có cả chức năng proxy API lẫn tính năng quản lý API trong cùng một giải pháp, chẳng hạn như kế hoạch sử dụng và khóa API, API Gateway cung cấp API REST. Để xem bản so sánh song song các tính năng được hỗ trợ cho API HTTP và API REST, hãy truy cập tài liệu của chúng tôi. Để xây dựng các ứng dụng giao tiếp hai chiều theo thời gian thực, chẳng hạn như ứng dụng trò chuyện và bảng thông tin truyền phát, hãy sử dụng API WebSocket. Để tìm hiểu thêm về các API RESTful và API WebSocket từ API Gateway, hãy truy cập trang FAQ của chúng tôi.

Tích hợp riêng với AWS ELB & AWS Cloud Map

Với API Gateway, bạn có thể định tuyến yêu cầu đến các tài nguyên cá nhân trong VPC của mình. Khi sử dụng API HTTP, bạn có thể xây dựng API cho các dịch vụ đằng sau ALB cá nhân, NLB cá nhân và các dịch vụ dựa trên IP được đăng ký trong AWS Cloud Map, chẳng hạn như các tác vụ ECS.

Khả năng phục hồi

API Gateway hỗ trợ quản lý lưu lượng truy cập đến các hệ thống back-end bằng cách cho phép bạn đặt các quy tắc điều tiết dựa trên số yêu cầu mỗi giây, đối với mỗi phương thức HTTP trong API của bạn. API Gateway xử lý bất kỳ mức lưu lượng truy cập nào mà API nhận được, do đó, bạn có thể hoàn toàn tập trung vào logic nghiệp vụ và dịch vụ của mình, thay vì việc duy trì cơ sở hạ tầng. Nếu đang sử dụng API REST, bạn cũng có thể thiết lập một bộ nhớ đệm có khóa tùy chỉnh và thời gian tồn tại trong vài giây cho dữ liệu API của mình, để tránh xung đột dịch vụ back-end cho mỗi yêu cầu.

Dễ tạo và triển khai API

Với API Gateway, bạn có thể tạo một API tùy chỉnh nhanh chóng và dễ dàng cho mã chạy trong AWS Lambda, sau đó truy vấn mã Lambda từ API của bạn. API Gateway có thể thực thi mã AWS Lambda trong tài khoản của bạn, khởi động máy trạng thái của AWS Step Functions hoặc tạo lệnh gọi đến AWS Elastic Beanstalk, Amazon EC2 hay các dịch vụ web bên ngoài AWS có thể truy cập công khai điểm cuối HTTP. Thông qua bảng điều khiển API Gateway, bạn có thể xác định API REST của mình cũng như các tài nguyên và phương pháp liên quan, quản lý vòng đời API, tạo SDK máy khách và xem các chỉ số API.

Giám sát hoạt động của API

Sau khi triển khai và sử dụng API, API Gateway sẽ cung cấp cho bạn bảng thông tin để giám sát trực quan các lệnh gọi đến dịch vụ. Bảng điều khiển API Gateway được tích hợp với Amazon CloudWatch, để cung cấp cho bạn các chỉ số hiệu năng backend như lệnh gọi API, độ trễ và tỷ lệ lỗi. Do API Gateway sử dụng CloudWatch để ghi lại thông tin giám sát, bạn có thể thiết lập cảnh báo tùy chỉnh trên các API của API Gateway. API Gateway cũng có thể ghi lại lỗi thực thi API vào CloudWatch Logs để dễ dàng gỡ lỗi.

Cấp phép từ AWS

Để cấp phép và xác minh các yêu cầu API cho dịch vụ AWS, API Gateway có thể giúp bạn tận dụng chữ ký phiên bản 4 cho API REST và API WebSocket. Bằng cách sử dụng xác thực chữ ký phiên bản 4, bạn có thể sử dụng AWS Identity and Access Management (IAM) và truy cập chính sách để cấp phép truy cập API và tất cả các tài nguyên AWS khác của bạn. Bạn cũng có thể sử dụng chức năng AWS Lambda để xác minh và cấp phép mã thông báo mang chuyển, như mã thông báo JWT hoặc xác nhận SAML.

Khóa API dành cho nhà phát triển bên thứ ba

Nếu bạn đang sử dụng API REST, API Gateway sẽ giúp quản lý hệ sinh thái của nhà phát triển bên thứ ba đang truy cập API của bạn. Bạn có thể tạo khóa API trên API Gateway, cài đặt quyền truy cập ở mức độ chi tiết trên mỗi khóa API và phân phối cho các nhà phát triển bên thứ ba để truy cập API của bạn. Bạn cũng có thể xác định các gói đặt ra hạn mức yêu cầu và điều tiết cho từng khóa API riêng lẻ. Việc sử dụng khóa API hoàn toàn không bắt buộc và phải được kích hoạt ở cấp độ trên mỗi phương thức.

Tạo SDK

Nếu bạn đang sử dụng API REST, Amazon API Gateway có thể tạo ra SDK máy khách cho một số nền tảng mà bạn có thể sử dụng để chạy thử API mới một cách nhanh chóng từ ứng dụng của mình và phân phối SDK cho các nhà phát triển bên thứ ba. SDK được tạo sẽ xử lý các khóa API và gán yêu cầu bằng cách sử dụng thông tin xác thực AWS. API Gateway có thể tạo các SDK máy khách cho Java, JavaScript, Java cho Android, Objective-C hoặc Swift cho iOS và Ruby. Bạn có thể sử dụng AWS CLI để tạo và tải xuống một SDK của API cho nền tảng được hỗ trợ bằng cách gọi lệnh get-sdk.

Quản lý vòng đời của API

Nếu bạn đang sử dụng API REST, Amazon API Gateway sẽ cho phép bạn chạy nhiều phiên bản của một API đồng thời, để ứng dụng có thể tiếp tục gọi các phiên bản API trước đó ngay cả khi đã phát hành phiên bản mới nhất. API Gateway cũng cho phép bạn quản lý nhiều giai đoạn phát hành của mỗi phiên bản API, như alpha, beta và sản xuất. Có thể cấu hình từng giai đoạn API để tương tác với các điểm cuối backend khác nhau, dựa trên thiết lập API của bạn. Các giai đoạn và phiên bản cụ thể của một API có thể được liên kết với tên miền tùy chỉnh và được quản lý qua API Gateway. Việc quản lý giai đoạn và phiên bản cho phép bạn dễ dàng chạy thử phiên bản API mới, đã tăng cường hoặc bổ sung tính năng mới cho phiên bản API trước đó, đồng thời đảm bảo khả năng tương thích ngược khi cộng đồng người dùng chuyển sang sử dụng phiên bản mới nhất.