구성 컨트롤러 샤딩 가이드라인

이 문서에서는 구성 컨트롤러 사용을 샤딩하는 방법에 관한 권장사항을 제공합니다. 샤딩은 구성 컨트롤러에서 관리하는 Google Cloud 리소스를 여러 네임스페이스, 클러스터 또는 프로젝트에 분할하는 프로세스입니다.

샤딩의 이점은 다음과 같습니다.

  • 상황 변화로 인한 영향 감소: 단일 샤드가 작동 중지해도 다른 샤드는 영향을 받지 않습니다.
  • 보안 관리에 도움: 각 샤드에는 전용 IAM 및 RBAC 구성이 있을 수 있습니다. 하나의 샤드를 손상시키는 악의적인 공격자가 있어도 다른 샤드에 액세스하기는 어렵습니다. 한 샤드의 구성이 잘못되어도 다른 샤드에 영향을 줄 수 없습니다.
  • 확장성 향상: 단일 샤드는 관리형 객체 수 또는 API 할당량과 같은 확장성 병목 현상을 보일 수 있습니다. 샤드가 여러 개 있으면 구성 컨트롤러 사용의 전체 확장성이 향상됩니다.

구성 컨트롤러로 샤딩 사용

샤딩을 구현하는 방법에는 여러 가지가 있습니다. 어느 방법이 가장 좋은지는 특정 니즈와 요구사항에 따라 달라집니다.

샤딩 모델

샤딩에는 다음과 같은 두 가지 주요 모델이 있습니다.

  • 비즈니스 분야별 또는 애플리케이션팀별: 이 모델은 일반적으로 다른 팀에서 구성 컨트롤러를 사용할 때 사용됩니다. 이 모델에서는 각 팀에 자체 샤드가 있습니다.
  • 환경별: 이 모델은 일반적으로 다른 환경에서 구성 컨트롤러를 사용할 때 사용됩니다. 예를 들어 개발 환경의 샤드, QA 환경의 샤드, 프로덕션 환경의 샤드가 있을 수 있습니다.

샤드 간 참조 필요성 최소화

구성 컨트롤러 사용을 샤딩할 때는 샤드 간 참조의 필요성을 최소화해야 합니다. 샤드 간 참조 때문에 구성이 더 복잡하고 관리하기 어려워질 수 있습니다. 자세한 내용은 인스턴스 간 리소스 참조를 참고하세요.

샤딩 메커니즘

샤딩에는 세 가지 주요 메커니즘이 있습니다.

  • 네임스페이스별: 추가 네임스페이스를 만들고 구성 커넥터를 구성하여 해당 네임스페이스의 리소스를 관리할 수 있습니다.
  • 구성 컨트롤러 인스턴스별: 하나의 Google Cloud 프로젝트에 구성 컨트롤러 인스턴스를 여러 개 만들 수 있습니다.
  • 프로젝트별: 여러 Google Cloud 프로젝트에 구성 컨트롤러 인스턴스 여러 개를 만들 수 있습니다. 이러한 메커니즘은 하나의 프로젝트에서 할당량 병목 현상이 발생하는 경우 API 할당량 문제를 해결하는 데 도움이 됩니다. 자세한 내용은 리소스를 여러 프로젝트로 분할을 참조하세요.

샤딩 구현 시 주의사항

구성 컨트롤러 사용에 대해 샤딩을 구현할 때는 주의해야 하는 몇 가지 문제가 있으며 이러한 문제를 완화하기 위한 계획을 세워야 합니다.

인스턴스 간 리소스 참조

구성 컨트롤러 샤딩의 문제 중 하나는 인스턴스 간 리소스 참조를 처리하는 것입니다. 예를 들어 플랫폼팀은 하나의 인스턴스에 여러 프로젝트를 만들고, 앱팀은 다른 인스턴스에서 해당 프로젝트를 참조하는 리소스를 만들 수 있습니다. 이로 인해 다음과 같은 문제가 발생할 수 있습니다.

  • 복잡성 증가: 클러스터 간 리소스 참조를 관리하면 구성이 더 복잡해지고 관리하기 어려울 수 있습니다.
  • 위험 증가: 한 샤드에서 리소스가 삭제되더라도 다른 샤드의 리소스에서 계속 참조할 수 있습니다. 이로 인해 예기치 않은 동작과 데이터 손실이 발생할 수 있습니다.
  • 성능 저하: 클러스터 간 리소스 참조는 구성 변경의 지연 시간을 늘릴 수 있습니다.

교차 참조 문제점을 해결하는 몇 가지 방법이 있습니다.

  • 샤드 간 참조가 필요 없는 방식으로 샤딩. 이를 위해서는 환경 또는 팀별로 샤딩하면 됩니다.
  • 외부 참조 사용. 즉, 참조되는 객체가 실제로는 구성 컨트롤러에서 관리되지 않습니다. 객체가 자주 변경되지 않는 경우 좋은 옵션이 될 수 있습니다.
  • 모든 샤드에서 동일한 객체 사용. 이는 더 복잡한 옵션이지만 객체가 자주 변경되는 경우 가장 좋은 옵션일 수 있습니다. 객체는 서로 다른 샤드에서 이러한 객체 간의 조정 경합을 방지하기 위해 동일한 정보 소스를 공유해야 합니다. 이러한 객체에서 충돌 방지 정책none으로 설정해야 합니다.

옵션을 선택하기 전에 각 방법의 장점과 단점을 신중하게 고려해야 합니다.

API 할당량

샤딩을 사용하면 API 할당량이 늘어날 수 있습니다. 이를 충분히 인지하고 그에 따라 계획해야 합니다. API 할당량 한도 관리에 관한 권장사항은 API 할당량 한도 관리를 참고하세요.

다음 단계