제품 버전별로 새 배포 제한

Cloud Functions는 원래 버전인 Cloud Functions(1세대) 및 Cloud Functions(2세대)의 두 가지 제품 버전을 제공합니다. 조직에서 버전 중 하나만 사용하여 새 함수를 배포할 수 있도록 지정하는 제한사항을 적용하려는 경우 제약조건 constraints/cloudfunctions.restrictAllowedGenerations와 함께 새 조직 정책을 정의할 수 있습니다. 이 제약조건을 사용하여 정책이 적용되는 폴더 또는 프로젝트에서 허용하거나 거부하려는 세대(버전)를 지정합니다.

제한사항은 처음 배포되는 새 함수에만 적용됩니다. 정책을 준수하지 않더라도 기존 함수를 다시 배포할 수 있습니다.

시작하기 전에

조직 정책을 만들거나 변경하려면 계정에 roles/orgpolicy.policyAdmin 역할이 있어야 합니다.

정책을 사용하여 제한사항 설정 및 적용

Google Cloud CLI 또는 Google Cloud Console을 사용하여 지정된 조직 내에서 처음으로 배포되는 새 Cloud Functions를 지정된 환경으로 제한하는 정책을 만들 수 있습니다.

정책 설정은 기존 함수에 적용되지 않습니다. 정책 이전에 배포된 모든 함수는 제한 없이 다시 배포, 업데이트 또는 삭제될 수 있습니다.

콘솔

  1. Google Cloud Console의 조직 정책 페이지로 이동합니다.
    조직 정책 페이지로 이동

  2. 새 정책을 추가할 프로젝트, 폴더 또는 조직을 선택합니다.

    조직 정책 페이지에 사용 가능한 조직 정책 제약조건의 목록이 표시됩니다.

  3. 목록에서 허용된 Cloud Functions 생성 정책을 찾습니다. 목록 상단에서 필터 필드를 사용할 수 있습니다.

  4. 정책 이름을 클릭합니다. 또는 컨텍스트 메뉴에서 정책 수정을 선택할 수 있습니다.

  5. 정책 관리를 클릭합니다.

  6. 적용 대상에서 맞춤설정을 선택합니다.

  7. 정책 시행에서 교체를 선택합니다.

  8. 규칙에서 규칙 추가를 클릭합니다.

  9. 정책 값으로 커스텀을 선택합니다.

  10. 정책 유형으로 허용을 선택합니다.

  11. 커스텀 값에서 조직에 적용할 환경을 지정합니다. 지원되는 값:

    • 1stGen: Cloud Functions(1세대)만 사용하도록 허용합니다.
    • 2ndGen: Cloud Functions(2세대)만 사용하도록 허용합니다.
    • 두 환경을 모두 명시적으로 허용하려면 1stGen2ndGen을 함께 지정합니다. 기본적으로 정책이 설정되지 않은 경우 두 환경 모두 허용됩니다.
  12. 완료를 클릭합니다.

  13. 저장을 클릭합니다.

변경사항이 곧 적용되며, 정책에서 지정된 환경에 Cloud Functions를 배포할 수 없습니다.

gcloud

다음 명령어를 실행합니다.

gcloud resource-manager org-policies \
allow cloudfunctions.restrictAllowedGenerations \
--organization=ORGANIZATION_NUMBER VERSION

여기서 ORGANIZATION_NUMBER는 정책을 적용하려는 조직의 번호이고 VERSION은 새 배포에 사용해야 하는 Cloud Functions 버전입니다. 다음 중 하나일 수 있습니다. VERSION

  • 1stGen: Cloud Functions(1세대)만 사용하도록 허용합니다.
  • 2ndGen: Cloud Functions(2세대)만 사용하도록 허용합니다.
  • 두 환경을 모두 명시적으로 허용하려면 1stGen2ndGen을 함께 지정합니다. 기본적으로 정책이 설정되지 않은 경우 두 환경 모두 허용됩니다.