在 AWS Lambda 運算上執行組建 - AWS CodeBuild

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

在 AWS Lambda 運算上執行組建

AWS Lambda 運算為您的組建提供最佳化的啟動速度。 AWS Lambda 支援更快的組建,因為啟動延遲較低。 AWS Lambda 也會自動擴展,因此組建不會在佇列中等待執行。不過,有些使用案例 AWS Lambda 不支援,如果它們影響到您,請使用 EC2 運算。如需詳細資訊,請參閱AWS Lambda 運算的限制

在 上執行的精選執行時間環境 Docker 映像中,會包含哪些工具和執行時間 AWS Lambda?

AWS Lambda 支援下列工具: AWS CLI v2、 AWS SAM CLI、git、go、Java、Node.js、Python、pip、Ruby 和 .NET。

如果策劃的映像不包含我需要的工具,該怎麼辦?

如果策劃的映像不包含您需要的工具,您可以提供包含必要工具的自訂環境 Docker 映像。

注意

Lambda 不支援使用多架構容器映像的函數。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的使用容器映像建立 Lambda 函數

請注意,您需要下列 Amazon ECR 許可,才能使用自訂映像進行 Lambda 運算:

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/image-repo" } ] }

另請注意,wget必須安裝 curl或 才能使用自訂映像。

哪些區域支援 CodeBuild 中的 AWS Lambda 運算?

在 CodeBuild 中,以下支援 AWS Lambda 運算 AWS 區域:美國東部 (維吉尼亞北部)、美國東部 (俄亥俄)、美國西部 (奧勒岡)、亞太區域 (孟買)、亞太區域 (新加坡)、亞太區域 (雪梨)、亞太區域 (東京)、歐洲 (法蘭克福)、歐洲 (愛爾蘭) 和南美洲 (聖保羅)。如需 CodeBuild 可用位置的詳細資訊 AWS 區域 ,請參閱AWS 依區域提供服務

AWS Lambda 運算的限制

有些使用案例 AWS Lambda 不支援,如果它們影響到您,請使用 EC2 運算:

  • AWS Lambda 不支援需要根許可的工具。對於 yum或 等工具rpm,請使用 EC2 運算類型或其他不需要根許可的工具。

  • AWS Lambda 不支援 Docker 組建或執行。

  • AWS Lambda 不支援寫入 外部的檔案/tmp。包含的套件管理員預設會設定為使用 /tmp目錄來下載和參考套件。

  • AWS Lambda 不支援 環境類型,LINUX_GPU_CONTAINERWindows Server Core 2019 也不支援。

  • AWS Lambda 不支援快取、自訂建置逾時、佇列逾時、建置徽章、特殊權限模式、自訂執行時間環境或超過 15 分鐘的執行時間。

  • AWS Lambda 不支援使用 Session Manager 進行 VPC 連線、固定範圍的 CodeBuild 來源 IP 地址、EFS、安裝憑證或 SSH 存取。