에서 예약된 용량으로 작업하기 AWS CodeBuild - AWS CodeBuild

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 예약된 용량으로 작업하기 AWS CodeBuild

CodeBuild 다음과 같은 컴퓨팅 플릿을 제공합니다.

  • 온디맨드 플릿

  • 예약 용량 플릿

온디맨드 플릿을 사용하면 빌드를 위한 컴퓨팅을 CodeBuild 제공합니다. 빌드가 완료되면 머신이 파괴됩니다. 온디맨드 플릿은 완전 관리형이며, 수요 급증을 처리할 수 있는 자동 규모 조정 기능이 포함되어 있습니다.

참고

온디맨드 플릿은 Windows Server 2022를 지원하지 않습니다.

CodeBuild 에서 유지 관리하는 Amazon EC2 기반 인스턴스를 포함하는 예약 용량 플릿도 제공합니다. CodeBuild 예약 용량 플릿을 사용하면 빌드 환경을 위한 전용 인스턴스 세트를 구성할 수 있습니다. 이러한 머신은 유휴 상태로 유지되므로 빌드 또는 테스트를 즉시 처리하고 빌드 기간을 단축할 수 있습니다. 예약 용량 플릿을 사용하면 머신이 상시 가동되므로 프로비저닝하는 한 계속해서 비용이 발생합니다.

중요

인스턴스 실행 기간에 관계없이 예약 용량 플릿은 인스턴스당 초기 요금이 발생하며, 그 이후에는 추가 관련 비용이 발생할 수 있습니다. 자세한 설명은 https://aws.amazon.com/codebuild/pricing/ 섹션을 참조하세요.

예약 용량 플릿을 시작하려면 어떻게 해야 합니까?

예약 용량 플릿 생성
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/codesuite/codebuild/home 에서 AWS CodeBuild 콘솔을 엽니다.

  2. 탐색 창에서 컴퓨팅 플릿을 선택한 다음, 컴퓨팅 플릿 생성을 선택합니다.

  3. 컴퓨팅 플릿 이름 텍스트 필드에 플릿의 이름을 입력합니다.

  4. 운영 체제 드롭다운 메뉴에서 운영 체제를 선택합니다.

  5. 아키텍처 드롭다운 메뉴에서 아키텍처를 선택합니다.

  6. 컴퓨팅 드롭다운 메뉴에서 해당 머신의 컴퓨팅 머신 유형을 선택합니다.

  7. 용량 텍스트 필드에 플릿의 최소 인스턴스 수를 입력합니다.

  8. 오버플로 동작 필드에서 수요가 플릿 용량을 초과할 때의 동작을 선택합니다. 이러한 옵션에 대한 자세한 내용은 예약 용량 플릿 속성 섹션을 참조하세요.

  9. 컴퓨팅 플릿 생성을 선택합니다.

  10. 컴퓨팅 플릿이 생성된 후 새 CodeBuild 프로젝트를 만들거나 기존 프로젝트를 편집하십시오. 환경에서 프로비저닝 모델예약 용량을 선택한 다음 플릿 이름에서 지정된 플릿을 선택합니다.

모범 사례

예약 용량 플릿을 사용할 때는 다음 모범 사례를 따르는 것이 좋습니다.

  • 소스를 캐싱하여 빌드 성능을 향상시키려면 소스 캐시 모드를 사용하는 것이 좋습니다.

  • 기존 Docker 계층을 캐싱하여 빌드 성능을 개선하려면 Docker 계층 캐싱을 사용하는 것이 좋습니다.

예약 용량 플릿을 여러 CodeBuild 프로젝트에서 공유할 수 있나요?

예. 여러 프로젝트에서 플릿을 사용하여 플릿의 용량 활용도를 극대화할 수 있습니다.

예약 용량 플릿을 지원하는 리전은 어디입니까?

예약 용량 플릿은 미국 동부 (버지니아 북부), 미국 동부 (오하이오), 미국 서부 (오레곤), 아시아 태평양 (뭄바이), 아시아 태평양 (싱가포르), 아시아 태평양 (시드니), 아시아 태평양 (도쿄), 유럽 (프랑크푸르트), 유럽 (아일랜드), 남아메리카 (상파울루) 에서 지원됩니다. AWS 리전이용 가능 AWS 리전 지역에 대한 자세한 내용은 지역별 서비스를 참조하십시오 CodeBuild .AWS

예약 용량 플릿 속성

예약 용량 플릿에는 다음 속성이 포함됩니다.

운영 체제

운영 체제입니다. 사용할 수 있는 운영 체제는 다음과 같습니다.

  • Amazon Linux

  • Windows Server 2019

  • Windows Server 2022

아키텍처

프로세서 아키텍처. 사용할 수 있는 아키텍처는 다음과 같습니다.

  • x86_64

  • Arm64

컴퓨팅

각 인스턴스의 컴퓨팅 머신 유형. 사용할 수 있는 유형의 로그는 다음과 같습니다.

컴퓨팅 유형 환경 computeType 값 환경 유형 값 메모리 vCPU 디스크 공간
ARM Small BUILD_GENERAL1_SMALL ARM_CONTAINER 4GB 2 50GB
ARM Large BUILD_GENERAL1_LARGE ARM_CONTAINER 16 GB 8 50GB
Linux Small ¹ BUILD_GENERAL1_SMALL LINUX_CONTAINER 3GB 2 64GB
Linux Medium ¹ BUILD_GENERAL1_MEDIUM LINUX_CONTAINER 7GB 4 128GB
Linux Large ¹ BUILD_GENERAL1_LARGE LINUX_CONTAINER 15GB 8 128GB
Linux XLarge BUILD_GENERAL1_XLARGE LINUX_CONTAINER 70GB 36 256GB
Linux 2XLarge BUILD_GENERAL1_2XLARGE LINUX_CONTAINER 145 GB 72 824 GB(SSD)
Linux GPU Small BUILD_GENERAL1_SMALL LINUX_GPU_CONTAINER 16 GB 4 220GB
Linux GPU Large BUILD_GENERAL1_LARGE LINUX_GPU_CONTAINER 255 GB 32 50GB
Windows Medium BUILD_GENERAL1_MEDIUM WINDOWS_SERVER_2019_CONTAINER 7GB 4 128GB
Windows Medium BUILD_GENERAL1_MEDIUM WINDOWS_SERVER_2022_CONTAINER 7GB 4 128GB
Windows Large BUILD_GENERAL1_LARGE WINDOWS_SERVER_2019_CONTAINER 15GB 8 128GB
Windows Large BUILD_GENERAL1_LARGE WINDOWS_SERVER_2022_CONTAINER 15GB 8 128GB
Capacity

플릿에 할당된 초기 머신 수로, 병렬로 실행할 수 있는 빌드 수를 정의합니다.

오버플로 동작

빌드 수가 플릿 용량을 초과할 때의 동작을 정의합니다.

온디맨드

오버플로 빌드는 온디맨드로 실행됩니다. CodeBuild

중요

오버플로 동작을 온디맨드로 설정하는 경우 오버플로 빌드는 온디맨드 Amazon EC2와 마찬가지로 별도로 요금이 청구된다는 점에 유의하십시오. 자세한 설명은 https://aws.amazon.com/codebuild/pricing/ 섹션을 참조하세요.

대기열

머신을 사용할 수 있을 때까지 빌드 실행이 대기열에 배치됩니다. 이렇게 하면 추가 머신이 할당되지 않으므로 추가 비용이 제한됩니다.

예약 용량 샘플은 다음과 같습니다. AWS CodeBuild

이 샘플을 사용하여 예약된 용량 플릿을 실험해 볼 수 있습니다. CodeBuild

예약 용량 샘플을 사용한 캐싱

캐시는 빌드 환경에서 재사용할 수 있는 정보를 저장하여 여러 빌드에 사용할 수 있습니다. 이 샘플은 예약 용량을 사용하여 빌드 프로젝트 내에서 캐싱을 활성화하는 방법을 보여주었습니다. 자세한 설명은 AWS CodeBuild의 빌드 캐싱 섹션을 참조하세요.

프로젝트 설정에서 하나 이상의 캐시 모드를 지정하여 시작할 수 있습니다.

Cache: Type: LOCAL Modes: - LOCAL_CUSTOM_CACHE - LOCAL_DOCKER_LAYER_CACHE - LOCAL_SOURCE_CACHE
참고

Docker 계층 캐시를 사용하려면 권한 모드를 활성화해야 합니다.

프로젝트 buildspec 설정이 다음과 같아야 합니다.

version: 0.2 phases: build: commands: - echo testing local source cache - touch /codebuild/cache/workspace/foobar.txt - git checkout -b cached_branch - echo testing local docker layer cache - docker run alpine:3.14 2>&1 | grep 'Pulling from' || exit 1 - echo testing local custom cache - touch foo - mkdir bar && ln -s foo bar/foo2 - mkdir bar/bar && touch bar/bar/foo3 && touch bar/bar/foo4 - "[ -f foo ] || exit 1" - "[ -L bar/foo2 ] || exit 1" - "[ -f bar/bar/foo3 ] || exit 1" - "[ -f bar/bar/foo4 ] || exit 1" cache: paths: - './foo' - './bar/**/*' - './bar/bar/foo3'

캐시를 시드하는 새 프로젝트로 빌드를 실행하여 시작할 수 있습니다. 작업이 완료되면 다음과 같이 buildspec을 재정의하는 다른 빌드를 시작해야 합니다.

version: 0.2 phases: build: commands: - echo testing local source cache - git branch | if grep 'cached_branch'; then (exit 0); else (exit 1); fi - ls /codebuild/cache/workspace | if grep 'foobar.txt'; then (exit 0); else (exit 1); fi - echo testing local docker layer cache - docker run alpine:3.14 2>&1 | if grep 'Pulling from'; then (exit 1); else (exit 0); fi - echo testing local custom cache - "[ -f foo ] || exit 1" - "[ -L bar/foo2 ] || exit 1" - "[ -f bar/bar/foo3 ] || exit 1" - "[ -f bar/bar/foo4 ] || exit 1" cache: paths: - './foo' - './bar/**/*' - './bar/bar/foo3'

예약 용량 플릿의 제한

예약 용량 플릿이 지원하지 않는 몇 가지 사용 사례가 있으며, 이로 인해 영향을 받는 경우에는 온디맨드 플릿을 대신 사용하십시오.

  • 예약 용량 플릿은 배치 빌드, 빌드 사용률 지표 또는 의미 체계 버전 관리를 지원하지 않습니다.

  • 예약 용량 플릿은 VPC 연결을 지원하지 않습니다.

제한과 할당량에 대한 자세한 내용은 컴퓨팅 플릿 섹션을 참조하십시오.