簡報層 - 使用 Amazon API Gateway 和 AWS Lambda 的 AWS Serverless 多層架構

此白皮書僅供歷史參考。有些內容可能已過時,有些連結可能無法使用。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

簡報層

簡報層負責透過透過網際網路公開的 API Gateway REST 端點與邏輯層互動。任何支援 HTTPS 的用戶端或裝置都可以與這些端點通訊,讓您的簡報層能夠靈活地採用多種形式 (桌上型電腦應用程式、行動應用程式、網頁、IoT 裝置等)。根據您的需求,您的簡報層可以使用下列無 AWS 伺服器方案:

  • Amazon Cognito - 無伺服器使用者身分和資料同步服務,可讓您快速有效地將使用者註冊、登入和存取控制新增至您的 Web 和行動應用程式。Amazon Cognito 擴展到數百萬使用者,並支援透過 SAML 2.0 登入社交身分提供者,例如 Facebook、Google 和 Amazon 以及企業身分提供者。

  • Amazon S3 with CloudFront - 可讓您直接從 S3 儲存貯體提供靜態網站,例如單頁應用程式,而無需佈建 Web 伺服器。您可以使用 CloudFront 做為受管內容交付網路 (CDN),以改善效能,並使用受管或自訂憑證啟用 SSL/TL。

AWS Amplify 是一組工具和服務,可搭配使用或單獨使用,協助前端 Web 和行動開發人員建置採用 技術的可擴展完整堆疊應用程式 AWS。Amplify 提供全受管服務,以在全球部署和託管靜態 Web 應用程式,由 Amazon 可靠的 CDN 提供,在全球有數百個據點,並具有可加速應用程式發行週期的內建 CI/CD 工作流程。Amplify 支援熱門的 Web 架構,包括 JavaScript、React、Angular、Vue、Next.js,以及 Android、iOS、React Native、Ionic 和 Flutter 等行動平台。根據您的聯網組態和應用程式需求,您可能需要讓 API Gateway APIs符合跨來源資源共用 (CORS)。CORS 合規允許 Web 瀏覽器直接從靜態網頁中調用您的 APIs。

當您使用 CloudFront 部署網站時,系統會提供您一個 CloudFront 網域名稱來連接您的應用程式 (例如,d2d47p2vcczkh2.cloudfront.net)。您可以使用 Amazon Route 53 註冊網域名稱並將其導向至您的 CloudFront 分佈,或將已擁有的網域名稱導向至您的 CloudFront 分佈。這可讓使用者使用熟悉的網域名稱存取您的網站。請注意,您也可以使用 Route 53 將自訂網域名稱指派給 API Gateway 分佈,這可讓使用者使用熟悉APIs。