

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

# 基礎設施即程式碼
<a name="infrastructure-as-code"></a>

隨著無伺服器 AI 系統擴展，佈建、管理和不斷發展的雲端基礎設施的複雜性會快速增加。手動設定 APIs、 AWS Lambda 函數、Amazon Bedrock 代理程式、IAM 角色和狀態機器容易出錯、不可重複，且無法大規模合規。

基礎設施即程式碼 (IaC) 是基礎紀律，可確保所有基礎設施元件：
+ 版本控制
+ 可跨環境重複執行 
+ 可稽核且可檢閱
+ 模組化且可測試

透過採用 IaC，企業不僅可以獲得自動化，還可以在部署和操作無伺服器 AI 工作負載時獲得控管、速度和彈性。

## AWS 服務 在 上進行無伺服器 AI 的 IaC 部署 AWS
<a name="section-iac-aws-services"></a>

下列 AWS 服務 和第三方工具支援 上的無伺服器 AI 的 IaC 部署 AWS AWS CloudFormation AWS CDK， AWS SAM 並提供基礎設施部署的原生 AWS 功能。 HashiCorpTerraform提供熱門的第三方解決方案。每個 都有不同的優勢，適合不同的團隊需求和使用案例。

### CloudFormation
<a name="section-iac-cloudformation"></a>

[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 是一種原生宣告式 IaC 服務，可讓您將基礎設施定義為結構化 JSON 或 YAML 範本。

CloudFormation 的優勢包括下列項目：
+ 高度穩定且成熟，廣泛支援所有 AWS 服務 
+ 整合式轉返和偏離偵測
+ 受管堆疊和變更集允許更安全的部署 
+ 在 中直接支援 AWS 管理主控台 視覺化追蹤

CloudFormation 非常適合下列需求：
+ 需要明確、可稽核且具有精細控制之範本的團隊
+ 法規環境，其中程式碼可追蹤性是強制性的 
+ DevOps 管道強制執行嚴格提升工作流程的環境

### AWS CDK
<a name="section-iac-cdk"></a>

[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html) 是開放原始碼架構。透過 AWS CDK，您可以使用熟悉的程式設計語言來定義 AWS 基礎設施Python，例如 TypeScript、Java、 或 C\#。

的優勢 AWS CDK 包括下列項目：
+ 支援在程式碼中使用迴圈、條件式和抽象的強制性和宣告式混合 
+ 許多建構和可重複使用模式的可用性
+ 讓開發人員更容易採用 （程式碼優先思維）
+ 使用環境感知堆疊啟用多環境部署

 AWS CDK 非常適合下列需求：
+ 具備強大軟體工程技能的團隊
+ 需要產生動態基礎設施的使用案例
+ 涉及建構重複使用、自訂和快速反覆運算的專案

### AWS SAM
<a name="section-iac-sam"></a>

[AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) 是一種 CloudFormation 擴充功能，已針對定義 [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)、[Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 和 等無伺服器應用程式進行最佳化[AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)。

的優勢 AWS SAM 包括下列項目：
+ 最小語法，適用於以 Lambda 為基礎的管道
+ 本機模擬和偵錯的原生支援
+ 整合式命令列界面 (CLI)，可簡化部署、測試和套件工作流程

AWS SAM 非常適合下列需求：
+ 主要專注於 Lambda、API Gateway 和 Amazon Bedrock 的中小型專案
+ 想要具有內建持續整合和持續部署 (CI/CD) 支援的簡單 YAML 範本的團隊

### Terraform
<a name="section-iac-terraform"></a>

[https://developer.hashicorp.com/terraform/intro](https://developer.hashicorp.com/terraform/intro) 是一種 IaC 工具，可協助您使用程式碼來佈建和管理雲端基礎設施和資源。

的優勢Terraform包括下列項目：
+ 超越多雲端案例 AWS 的廣泛供應商生態系統 
+ 豐富的狀態管理和相依性圖表解析
+ 常見於具有 DevOps 優先文化並使用 GitOps 工作流程的企業

Terraform 非常適合下列需求：
+ 具有現有Terraform投資的團隊
+ 與軟體即服務 (SaaS) AWS 工具整合的多雲端部署或原生服務
+ 為了跨團隊Terraform一致性而標準化的組織

## 無伺服器 AI 專案中 IaC 的最佳實務
<a name="section-iac-best-practices"></a>

在無伺服器 AI 專案中實作 IaC 時，請考慮下列最佳實務及其重要性：
+ **版本控制一切** – 確保可重現性、啟用轉返，並支援透過 Git 進行變更核准。
+ **使用環境特定的堆疊** – 清楚區隔開發、測試和生產部署。防止意外交叉污染。
+ **模組化基礎設施** – 鼓勵重複使用、加速加入，並減少變更的爆量半徑 （例如，一個模組用於 [Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html)，另一個模組用於 EventBridge 規則）。
+ **使用參數化和標籤** – 啟用動態堆疊行為和成本追蹤。改善帳單和 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 的可觀測性。
+ **將 IaC 整合到 CI/CD** – 在部署期間自動化基礎設施更新，協助確保應用程式和基礎設施保持同步。
+ **套用結構描述驗證和固定** – 防止部署錯誤，並強制執行團隊貢獻之間的一致性。
+ **實作偏離偵測和稽核線索** – 協助確保基礎設施符合預期的定義，並簡化合規審查 （例如，使用 CloudFormation [偏離偵測](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)或 Terraform 狀態驗證）。

## 範例：無伺服器 AI 助理的版本化部署
<a name="section-iac-example-deployment"></a>

使用 AWS CDK 或 CloudFormation，由 Amazon Bedrock 提供支援的支援助理可能包括下列項目：
+ API Gateway 端點
+ Amazon Bedrock 代理程式，具有三個以 Lambda 為基礎的工具
+ 參考 Amazon S3 文件的知識庫
+ 用於備用/錯誤處理的 Step Functions 工作流程
+ 記錄和可觀測性基礎設施，例如 CloudWatch 或 [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

有了 IaC，所有這些元素都會在儲存庫中定義、透過 CI/CD 提升，並在每次部署時加上版本標籤。此方法提供完整的可追蹤性、可稽核性，並視需要轉返。

## 無伺服器 AI 的 IaC 部署摘要
<a name="section-iac-summary"></a>

企業級無伺服器 AI 系統的 IaC 是將實驗轉換為生產的基礎，讓組織有信心其基礎設施為：
+ 跨開發、測試和生產環境保持一致
+ 可透過政策、審核和稽核機制進行監管
+ 可擴展性與採用 AI 的速度相同

無論是將 AWS CDK 用於動態建構、將 CloudFormation 用於稽核對齊的部署，還是 AWS SAM 對焦管道，IaC 都是智慧型事件驅動雲端的控制平面。