저장소 만들기 및 관리

이 페이지에서는 Artifact Registry 저장소를 추가, 확인, 삭제하는 방법을 설명합니다.

시작하기 전에

  1. Artifact Registry API 사용 설정 및 Cloud SDK 설치를 포함한 Artifact Registry 사용 설정.
  2. (선택사항) gcloud 명령어의 기본값을 구성합니다.

개요

아티팩트를 업로드하려면 먼저 저장소를 만들어야 합니다. 각 저장소에는 지원되는 단일 형식의 아티팩트가 포함될 수 있습니다.

모든 저장소 콘텐츠는 Google 관리 키 또는 고객 관리 암호화 키를 사용하여 암호화됩니다. Artifact Registry는 기본적으로 Google 관리 암호화 키를 사용하며, 이 옵션에는 구성이 필요하지 않습니다.

저장소의 CMEK 설정

기본적으로 Google Cloud는 Cloud Key Management Service에서 관리하는 Google 관리 암호화 키를 사용하여 자동으로 저장 데이터를 암호화합니다. 데이터를 보호하는 키와 관련된 규정 준수 또는 규제 요구사항이 있는 경우 고객 관리 암호화 키(CMEK)를 사용하여 저장소 콘텐츠를 암호화하는 저장소를 만들 수 있습니다.

CMEK로 암호화할 저장소를 만들려면 먼저 Cloud KMS에서 키를 만들고 사용 설정해야 합니다. 그런 다음 저장소를 만들 때 여기에 키를 할당할 수 있습니다.

기존 저장소의 암호화 메커니즘을 변경할 수 없습니다. CMEK로 암호화된 저장소가 있는 경우 암호화 메커니즘을 Google 기본 암호화로 변경하거나 암호화를 위해 다른 Cloud KMS 키를 할당할 수 없습니다.

저장소 만들기

저장소를 만들 때 다음 설정을 선택해야 합니다.

저장소를 만든 후에는 이러한 설정을 변경할 수 없습니다.

새 저장소를 만들고 구성하려면 다음 안내를 따르세요.

  1. CMEK를 사용하여 저장소 데이터를 암호화하는 경우 이 저장소에서 사용할 키를 만들고 키를 사용할 수 있는 권한을 부여합니다. 고객 관리 암호화 키 사용 설정을 참조하세요.

  2. 저장소를 추가합니다.

    Console

    1. Cloud Console에서 저장소 페이지를 엽니다.

      저장소 페이지 열기

    2. 저장소 만들기를 클릭합니다.

    3. 저장소 이름을 지정합니다. 프로젝트의 각 저장소 위치에 대해 저장소 이름은 고유해야 합니다.

    4. 저장소 형식을 지정합니다. 지원되는 형식은 다음과 같습니다.

      • Docker
      • Maven(알파)
      • npm(알파)
    5. 위치 유형에서 저장소 위치를 선택합니다.

      1. 위치 유형으로 리전 또는 멀티 리전을 선택합니다. 선택을 반영하여 위치 목록이 변경됩니다.

      2. 리전 또는 멀티 리전 목록에서 위치를 선택합니다.

      위치 유형 및 지원되는 위치에 대한 자세한 내용은 저장소 구성을 참조하세요.

    6. 저장소에 대한 설명을 추가합니다. 설명은 저장소의 목적과 저장소에 있는 아티팩트의 유형을 식별하는 데 도움이 됩니다.

    7. 라벨을 사용하여 저장소를 구성하려면 라벨 추가를 클릭하고 라벨의 키-값 쌍을 입력합니다. 저장소를 만든 후에 라벨을 추가, 수정 또는 삭제할 수 있습니다.

    8. 암호화 섹션에서 저장소의 암호화 메커니즘을 선택합니다.

      • Google 관리 키 - Google 관리 암호화 키로 저장소 콘텐츠를 암호화합니다.
      • 고객 관리 키 - Cloud Key Management Service를 통해 제어하는 키로 저장소 콘텐츠를 암호화합니다. 키 설정 안내는 저장소의 CMEK 설정을 참조하세요.
    9. 만들기를 클릭합니다.

    gcloud

    다음 명령어를 실행하여 새 저장소를 만듭니다.

    gcloud artifacts repositories create REPOSITORY \
    --repository-format=FORMAT [--location=LOCATION] \
    [--description=DESCRIPTION] [--kms-key=KMS-KEY] [--async]
    

    각 항목의 의미는 다음과 같습니다.

    • REPOSITORY은 저장소 이름입니다. 프로젝트의 각 저장소 위치에 대해 저장소 이름은 고유해야 합니다.
    • FORMAT은 저장소 형식입니다. 지원되는 값은 다음과 같습니다.

      • docker
      • maven(알파)
      • npm(알파)
    • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다. 기본값을 설정한 경우 이 플래그를 생략할 수 있습니다. 지원되는 위치 목록을 보려면 다음 명령어를 실행하세요.

      gcloud artifacts locations list
      
    • DESCRIPTION은 저장소에 대한 설명입니다.

    • KMS-KEY는 저장소 콘텐츠를 암호화하는 데 고객 관리 암호화 키를 사용하는 경우 Cloud KMS 암호화 키의 전체 경로입니다. 경로의 형식은 다음과 같습니다.

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
      

      각 항목의 의미는 다음과 같습니다.

      • KMS-PROJECT는 키가 저장된 프로젝트입니다.
      • KMS-LOCATION은 키의 위치입니다.
      • KEY-RING은 키링의 이름입니다.
      • KEY은 키의 이름입니다.
    • --async는 진행 중인 작업이 완료되기를 기다리지 않고 즉시 반환됩니다.

    명령어에 대한 자세한 내용을 보려면 다음 명령어를 실행하세요.

     gcloud artifacts repositories create --help
    

    Terraform

    Terraform을 사용하여 저장소를 프로비저닝하고 저장소 권한을 부여하는 방법에 대한 자세한 내용은 Terraform과 통합을 참조하세요.

  3. 저장소에 대한 권한을 부여합니다.

    프로젝트 수준에서 Artifact Registry 역할을 부여했으면 역할은 프로젝트의 저장소에 상속됩니다. 팀원이 프로젝트의 저장소에 다른 수준의 액세스 권한을 갖도록 하려면 저장소 수준에서 역할을 부여합니다.

  4. Docker 또는 패키지 관리자의 저장소와 상호작용하려면 이러한 도구에 대한 인증을 구성해야 합니다. 해당 페이지를 참조하세요.

저장소 라벨 지정

라벨은 stage:production 또는 team:development와 같은 관련 저장소를 식별하고 그룹화하는 데 사용할 수 있는 키-값 쌍입니다. 자세한 내용은 라벨 만들기 및 관리를 참조하세요.

저장소 설명 업데이트

다음 명령어를 사용하여 기존 저장소의 설명을 업데이트할 수 있습니다.

gcloud artifacts repositories update REPOSITORY [--project=PROJECT] \
[--location=LOCATION] --description=DESCRIPTION

각 항목의 의미는 다음과 같습니다.

  • REPOSITORY은 저장소 이름입니다. 기본 저장소를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • PROJECT는 Google Cloud 프로젝트 ID입니다. 이 플래그를 생략하면 현재 프로젝트 또는 기본 프로젝트가 사용됩니다.
  • LOCATION은 리전 또는 멀티 리전 위치입니다. 특정 위치의 저장소를 보려면 이 플래그를 사용합니다. 기본 위치를 구성한 경우 이 플래그를 생략하여 기본값을 사용할 수 있습니다.
  • DESCRIPTION 은 저장소에 대한 설명입니다.

명령어에 대한 자세한 내용을 보려면 다음 명령어를 실행하세요.

 gcloud artifacts repositories update --help

저장소 보기

Google Cloud 프로젝트 내에서 저장소를 볼 수 있습니다.

저장소 목록을 보려면 다음 안내를 따르세요.

Console

Cloud Console에서 저장소 페이지를 엽니다.

저장소 페이지 열기

페이지에 저장소 목록이 표시됩니다.

Artifact Registry 저장소 목록을 필터링하려면 다음 안내를 따르세요.

  1. 저장소 목록 위에서 테이블 필터링을 클릭합니다.
  2. 필터 목록에서 필터를 선택합니다.
  3. 목록 필터링에 사용할 값을 지정합니다.

gcloud

기존 저장소를 나열하려면 다음 명령어를 실행합니다.

gcloud artifacts repositories list [--project=PROJECT] \
[--location=LOCATION]

저장소에 구성된 암호화 유형을 보려면 다음 명령어를 실행합니다.

gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] [--location=LOCATION]

이 명령어에서 다음 값을 바꿉니다.

  • PROJECT는 프로젝트 ID입니다. 이 플래그를 생략하면 현재 프로젝트 또는 기본 프로젝트가 사용됩니다.
  • REPOSITORY은 저장소 이름입니다.
  • LOCATION은 리전 또는 멀티 리전 위치입니다. 특정 위치의 저장소를 보려면 이 플래그를 사용합니다. 또한 --location=all를 사용하여 모든 위치의 저장소를 나열할 수도 있습니다.

    이 플래그를 생략하면 기본값이 구성된 경우 명령어가 기본 위치를 사용합니다. 그 외의 경우 이 플래그를 생략하면 모든 위치의 저장소가 나열됩니다.

명령어에 대한 자세한 내용을 보려면 다음 명령어를 실행하세요.

 gcloud artifacts repositories list --help

저장소 삭제

저장소를 삭제하기 전에, 보관할 패키지가 다른 위치에서 사용할 수 있는지 확인합니다.

저장소를 삭제하려면 다음 단계를 따르세요.

Console

  1. Cloud Console에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 삭제할 저장소를 선택합니다.

  3. 삭제를 클릭합니다.

gcloud

저장소를 삭제하려면 다음 명령어를 실행하세요.

gcloud artifacts repositories delete REPOSITORY \
[--location=LOCATION] [--async]

각 항목의 의미는 다음과 같습니다.

  • REPOSITORY은 저장소 이름입니다.
  • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다. 기본값을 설정한 경우 이 플래그를 생략할 수 있습니다.
  • --async는 진행 중인 작업이 완료되기를 기다리지 않고 즉시 반환됩니다.

명령어에 대한 자세한 내용을 보려면 다음 명령어를 실행하세요.

 gcloud artifacts repositories delete --help

다음 단계