持續時間
此實驗室大約需要 90 分鐘的時間來完成。
實驗室概觀
此實驗室會向您介紹使用多結構的 AWS Cloud Development Kit (AWS CDK) 應用程式的基礎原理。AWS CDK 是 AWS 的軟體開發架構,目的在於使用您偏好的程式設計語言輕鬆定義雲端基礎設施,並使用 AWS CloudFormation 進行部署。在此實驗室中,您會建立三個堆疊。
首先您會設定您的 AWS Cloud9 環境以準備好與 AWS CDK 搭配使用。然後,您會初始化 AWS CDK 應用程式。您建立的第一個 AWS 結構會部署公開資料表屬性的 DynamoDB 資料表。
接下來,您會建立第二個結構,該結構建立的 Lambda 函數能將英文字詞翻譯為西班牙文並傳回。該函數會先查詢 DynamoDB 資料表中的字詞,如果沒有列在其中,便會叫用 Amazon Translate 服務以取得翻譯。該函數會將字詞新增到 DynamoDB 資料表以供後續的請求使用。此結構也會部署 API Gateway 端點,該端點會成為 Lambda 函數的前端,因此使用者可以透過 HTTP 請求來呼叫。
最後,您會建立第三個結構,該結構會使用自訂資源來部署 S3 靜態網站。此靜態網站會為在先前結構中建立的 Web API 提供簡易 UI。所有應用程式開發都是在 AWS Cloud9 IDE 內完成。
此實驗室使用下列服務:
AWS Cloud Development Kit (AWS CDK)
AWS CDK 是一種開源軟體開發架構。您可以使用熟悉的程式設計語言來建模和佈建雲端應用程式資源。它為您提供了高階元件,這些元件利用驗證過的預設值預先設定雲端資源,即使您不是專家,也可以建置雲端應用程式。AWS CDK 可讓您使用 AWS CloudFormation,以可重複的方式佈建資源。
如需 AWS CDK 的詳細資訊,請選取此 URL。
AWS Cloud9
AWS Cloud9 是以雲端為基礎的整合式開發環境 (IDE),您只需要一個瀏覽器即可進行寫入、執行和偵錯程式碼。其包括程式碼編輯器、偵錯工具和終端機。AWS Cloud9 隨附常用程式設計語言的基本工具,包括 JavaScript、Python、PHP 等等。開始新專案時,並不需要安裝檔案或設定開發機器。
如需 AWS Cloud9 的詳細資訊,請選取此 URL。
AWS Lambda
有了 AWS Lambda (Lambda),您可以執行幾乎任何類型的應用程式或後端服務的程式碼,而且無需管理。只需上傳程式碼,Lambda 就會運用其高可用性來處理執行程式碼及擴展規模所需的各項工作。您可以將自己的程式碼設定為可從其他 AWS 服務自動觸發,或從任何 Web 或行動應用程式直接呼叫。
如需 Lambda 的詳細資訊,請選取此 URL。
Amazon API Gateway
Amazon API Gateway 是一種全受管服務,可讓開發人員輕鬆地建立、發佈、維護、監控和保護任何規模的 API。API 可做為應用程式的「前門」,以從後端服務存取資料、商業邏輯或功能。您可以使用 API Gateway 建立 RESTful API 和 WebSocket API,以啟用應用程式間的即時雙向通訊。API Gateway 支援容器化且無伺服器的工作負載,以及 Web 應用程式。
如需 Amazon API Gateway 的詳細資訊,請選取此 URL。
Amazon DynamoDB
Amazon DynamoDB 是一個鍵值和文件資料庫,可在任何規模下達到不到 10 毫秒的效能。它是全受管、多區域且耐用的資料庫,內建安全、備份和還原。它將記憶體內快取用於網際網路規模應用程式。DynamoDB 每天可以處理超過 10 兆個請求,而且尖峰時每秒可支援超過 2,000 萬個請求。
如需 Amazon DynamoDB 的詳細資訊,請選取此 URL。
Amazon Translate
Amazon Translate 是一種神經機器翻譯服務,可提供快速、高品質、價格合理且可自訂的語言翻譯。神經機器翻譯是語言翻譯自動化的一種形式,使用深度學習模型提供比傳統統計和規則式翻譯演算法更為準確且更自然發音的翻譯。
如需 Amazon Translate 的詳細資訊,請選取此 URL。
AWS CloudFormation
AWS CloudFormation 提供一種通用語言,可用來在雲端環境中建模和佈建 AWS 及第三方應用程式資源。
如需 AWS CloudFormation 的詳細資訊,請選取此 URL。
AWS Identity and Access Management (IAM)
AWS Identity and Access Management (IAM) 可讓您安全地管理對 AWS 服務與資源的存取。您可以使用 IAM 建立及管理 AWS 使用者和群組,並使用各種許可來允許和拒絕他們存取 AWS 資源。
如需 AWS IAM 的詳細資訊,請選取此 URL。
目標
- 建立多堆疊的 CDK 應用程式。
- 以程式設計的方式建立 Amazon DynamoDB 資料表。
- 建立和部署 Lambda 函數。
- 建立和部署 Lambda Rest API。
- 透過 CloudFront 分佈建立和部署公開的靜態網站。
圖示圖例
此實驗室使用各種圖示提醒您注意不同類型的指示和注意事項。下列清單說明各圖示的用途:
- 命令:您必須執行的命令。
- 預期輸出:您可使用的範例輸出,以驗證命令的輸出內容或經過編輯的檔案。
- 注意:提示、秘訣或重要指引。
- 其他資訊:取得更多資訊的位置。
- 提醒:有特殊影響或重要性的資訊 (如果您錯過此資訊,不會對設備或資料造成太大的問題,但可能會導致需要重複特定步驟)。
- 警告:不可逆且可能造成命令或程序失敗的動作 (包含設定後無法變更的警告)。
- 考慮:暫停一下,思考如何在自己的環境中應用概念或啟動與手邊主題有關的對話。