외부 연결 사용 설정

기본적으로 데이터베이스 클러스터는 사용자 클러스터 및 동일한 프로젝트 내에서의 연결만 허용합니다. Google Distributed Cloud 에어갭 조직 외부의 IP 주소에서 외부 연결을 허용하려면 다음 단계를 따르세요.

콘솔

  1. project-networkpolicy-admin 역할에 바인드된 계정으로 GDC 콘솔에 로그인하여 방화벽 규칙을 만듭니다.
  2. GDC 콘솔의 기본 메뉴에서 방화벽을 선택합니다.
  3. 사용자가 만든 규칙 섹션에서 만들기를 클릭합니다.
  4. 방화벽 규칙 세부정보에서 방화벽 규칙의 이름을 만듭니다.
  5. 트래픽 방향 대화상자에서 INGRESS를 선택합니다.
  6. 타겟 대화상자에서 서비스를 선택한 다음 dbs를 선택합니다.
  7. 시작 대화상자에서 조직 외부를 선택하고 외부 연결을 허용할 CIDR 범위를 입력합니다.
  8. 만들기를 클릭합니다.
  9. 새 규칙의 상태 열에 준비됨이 표시될 때까지 기다립니다.
  10. project-db-admin에 바인딩된 계정으로 GDC 콘솔에 로그인합니다.
  11. GDC 콘솔의 기본 메뉴에서 데이터베이스 서비스를 선택합니다.
  12. 외부 연결을 사용 설정할 데이터베이스 클러스터를 선택합니다.
  13. 데이터베이스 클러스터 개요의 연결 섹션에서 외부 연결 허용 행을 확인하여 외부 연결이 이미 허용되었는지 확인합니다.
  14. 데이터베이스 클러스터 개요의 연결 섹션에서 수정 수정을 클릭합니다.
  15. 외부 연결 허용 체크박스를 선택합니다.
  16. 저장을 클릭합니다.

API

  1. 외부 연결을 허용하는 ProjectNetworkPolicy 리소스를 만듭니다.

    apiVersion: networking.gdc.goog/v1
    kind: ProjectNetworkPolicy
    metadata:
      name: allow-external-dbs
      namespace: USER_PROJECT
    spec:
      ingress:
      - from:
       - ipBlock:
         cidr: CIDR_RANGE
      policyType: Ingress
      subject:
        managedServices:
          matchTypes:
          - dbs
        subjectType: ManagedService
     ```
    
  2. 조직 외부 연결을 사용 설정하도록 데이터베이스 클러스터를 업데이트합니다.

    kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"allowExternalIncomingTraffic":true}}' --type=merge -n USER_PROJECT
    

다음을 바꿉니다.

  • USER_PROJECT: 데이터베이스 클러스터가 생성된 사용자 프로젝트의 이름입니다.
  • CIDR_RANGE: 외부 연결을 허용할 CIDR 범위입니다.
  • DBENGINE_NAME: 데이터베이스 엔진의 이름입니다. alloydbomni, postgresql, oracle 중 하나입니다.
  • DBCLUSTER_NAME: 데이터베이스 클러스터의 이름입니다.