

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

# AWS CodeBuild 搭配 Amazon Virtual Private Cloud 使用
<a name="vpc-support"></a>

一般而言， AWS CodeBuild 無法存取 VPC 中的資源。若要啟用存取，您必須在 CodeBuild 專案組態中提供其他 VPC 特定的組態資訊。其中包括 VPC ID、VPC 子網路 ID 和 VPC 安全群組 ID。然後，已啟用 VPC 的建置就能夠存取 VPC 內的資源。如需在 Amazon VPC 中設定 VPC 的詳細資訊，請參閱 [Amazon VPC 使用者指南](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Introduction.html)。

**Topics**
+ [使用案例](#use-cases)
+ [VPC 最佳實務](#best-practices-for-vpcs)
+ [VPCs的限制](#vpc-limitations)
+ [允許 CodeBuild 專案中的 Amazon VPC 存取](enabling-vpc-access-in-projects.md)
+ [對 VPC 設定進行故障診斷](troubleshooting-vpc.md)
+ [使用 VPC 端點](use-vpc-endpoints-with-codebuild.md)
+ [AWS CodeBuild 搭配受管代理伺服器使用](run-codebuild-in-managed-proxy-server.md)
+ [AWS CodeBuild 搭配代理伺服器使用](use-proxy-server.md)
+ [CloudFormation VPC 範本](cloudformation-vpc-template.md)

## 使用案例
<a name="use-cases"></a>

 AWS CodeBuild 建置的 VPC 連線可讓您：
+ 針對私有子網路上隔離的 Amazon RDS 資料庫中的資料，從您的組建執行整合測試。
+ 直接從測試查詢 Amazon ElastiCache 叢集中的資料。
+ 與 Amazon EC2、Amazon ECS 上託管的內部 Web 服務，或使用內部 Elastic Load Balancing 的服務互動。
+ 從自我託管的內部成品儲存庫擷取相依性，例如 PyPI for Python、Maven for Java 和 npm for Node.js。
+ 在設定為僅允許透過 Amazon VPC 端點存取的 S3 儲存貯體中存取物件。
+ 透過與子網路相關聯的 NAT 閘道或 NAT 執行個體的彈性 IP 地址，查詢需要固定 IP 地址的外部 Web 服務。

您的組建可以存取您的 VPC 中託管的任何資源。

## VPC 最佳實務
<a name="best-practices-for-vpcs"></a>

當您設定 VPC 以使用 CodeBuild 時，請使用此檢查清單。
+ 使用公有和私有子網路以及 NAT 閘道來設定 VPC。NAT 閘道必須位於公有子網路中。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的[含公有和私有子網路 (NAT) 的 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)。
**重要**  
您需要 NAT 閘道或 NAT 執行個體，才能搭配 VPC 使用 CodeBuild，以便 CodeBuild 可以連線到公有端點 （例如，在執行組建時執行 CLI 命令）。您無法使用網際網路閘道，而不是 NAT 閘道或 NAT 執行個體，因為 CodeBuild 不支援將彈性 IP 地址指派給其建立的網路介面，Amazon EC2 不支援針對在 Amazon EC2 執行個體啟動之外建立的任何網路介面自動指派公有 IP 地址。
+ 將多個可用區域加入您的 VPC。
+ 請確定您的安全群組不允許流量傳入 (進入) 您的組建。CodeBuild 對傳出流量沒有特定要求，但您必須允許存取建置所需的任何網際網路資源，例如 GitHub 或 Amazon S3。

  如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的[安全群組規則](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules)。
+ 為您的組建設定個別子網路。
+ 當您設定 CodeBuild 專案以存取 VPC 時，請僅選擇私有子網路。

如需在 Amazon VPC 中設定 VPC 的詳細資訊，請參閱 [Amazon VPC 使用者指南](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Introduction.html)。

如需使用 CloudFormation 設定 VPC 以使用 CodeBuild VPC 功能的詳細資訊，請參閱 [CloudFormation VPC 範本](cloudformation-vpc-template.md)。

## VPCs的限制
<a name="vpc-limitations"></a>
+ 共用 VPC 不支援 CodeBuild VPCs 連線。