클러스터 만들기

문서 버전을 선택합니다.

AlloyDB Omni를 사용하려면 데이터베이스 클러스터를 만드세요.

제한사항

다음과 같은 제한사항이 적용됩니다.

  • AlloyDB Omni는 포트 5432에서 실행됩니다. 맞춤 포트 구성은 지원되지 않습니다.

  • 클러스터를 만들기 전에 모든 데이터베이스 매개변수 구성이 올바른지 확인합니다. 클러스터가 생성되면 데이터베이스 매개변수를 수정할 수 없습니다.

시작하기 전에

클러스터를 만들기 전에 다음을 완료하세요.

  • AlloyDB Omni 조정자 설치

  • AlloyDB Omni 구성요소 설치

  • TLS 인증서 구성

  • 오케스트레이터 내에서 프로비저닝된 모든 데이터베이스 노드에서 DataDisk를 PG_DATA_DIR에 마운트합니다.

  • Ansible 대신 alloydbctl를 사용하려는 경우 필요한 policycoreutils-python-utils 패키지가 모든 VM에 설치되어 있는지 확인하세요. 이 패키지를 설치하려면 다음 명령어를 실행합니다.

    sudo dnf install policycoreutils-python-utils
  • Google Cloud 환경을 사용하는 경우 ENVIRONMENT_TYPE을 gcp로 설정합니다. 그런 다음 root 사용자로 gcloud auth login을 실행하여 gcloud CLI 계정을 인증해야 합니다. 또한 인증된 계정에는 다음 권한이 있어야 합니다.

    • compute.instances.get
    • compute.instances.list
    • compute.instances.updateNetworkInterface

클러스터 사양 준비

클러스터를 만들려면 AlloyDB Omni가 클러스터를 구성하는 방법을 알아야 합니다. 필요한 사양을 만들려면 DBCluster 형식을 사용하여 YAML 파일을 만드세요.

Secret:
  metadata:
    name: db-pw-DBCLUSTER_NAME
  spec:
    type: Opaque
    data:
      DBCLUSTER_NAME: BASE64_PASSWORD
---
DBCluster:
  metadata:
    name: DBCLUSTER_NAME
  spec:
    databaseVersion: 18.3.0
    mode: ""
    availability:
      numberOfStandbys: NUM_STANDBY_NODES
      enableAutoFailover: true
      enableAutoHeal: true
      autoFailoverTriggerThreshold: AUTOFAILOVER_TRIGGER_THRESHOLD
      autoHealTriggerThreshold: AUTOHEAL_TRIGGER_THRESHOLD
      healthcheckPeriodSeconds: HEALTHCHECK_PERIOD
      replayReplicationSlotsOnStandbys: false
    primarySpec:
      adminUser:
        passwordRef:
          name: db-pw-DBCLUSTER_NAME
      resources:
        cpu: CPU_LIMIT
        memory: MEMORY_LIMIT
        disks:
        - name: DataDisk
          path: PG_DATA_DIR
      parameters:
        max_connections: "MAX_CONNECTIONS"
        max_wal_size: "MAX_WAL_SIZE"
      dbLoadBalancerOptions:
        DB_LOAD_BALANCER_TYPE:
          loadBalancerIP: "VIRTUAL_IP"
          loadBalancerType: "internal"
          loadBalancerInterface: "VIRTUAL_IP_INTERFACE"

다음 변수를 바꿉니다.

  • DBCLUSTER_NAME: 데이터베이스 클러스터의 이름입니다. 예를 들면 my-dbcluster입니다.

  • BASE64_PASSWORD: postgres 관리자 사용자에 사용되는 base64로 인코딩된 비밀번호입니다.

  • NUM_STANDBY_NODES: 클러스터의 대기 노드 수입니다. 예를 들면 2입니다.

  • (선택사항) AUTOFAILOVER_TRIGGER_THRESHOLD: 장애 조치가 발생하기 전에 상태 점검이 실패할 수 있는 횟수입니다. 기본값은 3입니다. 최솟값은 0이지만 값이 0로 설정된 경우 AlloyDB Omni에서 기본값을 사용합니다.

    상태 점검이 AUTOFAILOVER_TRIGGER_THRESHOLD회 실패하거나 상태 점검의 누적 기간이 HEALTHCHECK_PERIOD * AUTOFAILOVER_TRIGGER_THRESHOLD초에 도달하면 자동 장애 조치가 발생합니다.

  • (선택사항) AUTOHEAL_TRIGGER_THRESHOLD: 자동 복구가 시작되기 전에 상태 점검이 실패할 수 있는 횟수입니다. 기본값은 3입니다. 최솟값은 0이지만 값이 0로 설정된 경우 AlloyDB Omni에서 기본값을 사용합니다.

    상태 점검이 AUTOHEAL_TRIGGER_THRESHOLD회 실패하거나 상태 점검의 누적 기간이 HEALTHCHECK_PERIOD * AUTOHEAL_TRIGGER_THRESHOLD초에 도달하면 자동 복구가 발생합니다.

  • (선택사항) HEALTHCHECK_PERIOD: 각 상태 점검 사이에 대기할 시간(초). 기본값은 30입니다. 최솟값은 1입니다. 최댓값은 86400 (1일)입니다.

  • CPU_LIMIT: 데이터베이스 컨테이너에 할당할 CPU 수입니다. 예를 들면 4입니다.

  • MEMORY_LIMIT: 데이터베이스 컨테이너에 할당할 메모리 양입니다. 예를 들면 32Gi, 500Mi입니다.

  • PG_DATA_DIR: 데이터베이스 데이터가 저장될 디렉터리의 호스트 경로입니다.

  • (선택사항) MAX_CONNECTIONS: PostgreSQL 데이터베이스에 대한 동시 연결의 최대 수입니다. 기본값은 50입니다. 지원 값의 최솟값도 50입니다. 자세한 내용은 PostgreSQL max_connections 참조를 참고하세요.

  • (선택사항) MAX_WAL_SIZE: 자동 체크포인트 중 미리 쓰기 로그 (WAL)가 증가할 수 있는 최대 크기입니다. 기본값은 1GB입니다. 자세한 내용은 PostgreSQL max_wal_size 참조를 참고하세요.

  • (선택사항) ENVIRONMENT_TYPE: 클러스터가 설정된 환경(onprem 또는 gcp)을 결정합니다.

  • (선택사항) VIRTUAL_IP: 부하 분산기에서 사용하는 가상 IP 주소입니다. dbLoadBalancerOptions를 정의하는 경우 필수입니다. 자세한 내용은 고가용성 관리를 참고하세요.

  • (선택사항) VIRTUAL_IP_INTERFACE: VIRTUAL_IP이 구성된 네트워크 인터페이스입니다. 기본값은 eth0입니다.

클러스터 만들기

클러스터를 만들려면 환경에 맞는 탭을 선택하고 안내를 따르세요.

Ansible

클러스터를 만들려면 다음 안내를 따르세요.

  1. 데이터베이스 클러스터 사양의 플레이북을 만듭니다.

    - name: Create DBCluster
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.bootstrap
    
    

    다음 변수를 바꿉니다.

    • ANSIBLE_USER: Ansible이 AlloyDB Omni 노드에 로그인하는 데 사용하는 OS 사용자입니다.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE: Ansible이 SSH를 사용하여 AlloyDB Omni 노드에 연결하는 데 사용하는 비공개 키입니다.

  2. 플레이북을 실행합니다.

    ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPEC" \
          -e resource_spec="DBCLUSTER_SPECIFICATIONS"

    다음 변수를 바꿉니다.

    • DBCLUSTER_PLAYBOOK: 데이터베이스 클러스터에 대해 만든 플레이북의 경로입니다.

    • DEPLOYMENT_SPEC: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.

    • DBCLUSTER_SPECIFICATIONS: 클러스터 사양의 경로입니다.

alloydbctl

클러스터를 만들려면 다음 명령어를 실행합니다.

alloydbctl apply -d "DEPLOYMENT_SPEC" -r "DBCLUSTER_SPECIFICATIONS"

다음 변수를 바꿉니다.

  • DEPLOYMENT_SPEC: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.

  • DBCLUSTER_SPECIFICATIONS: 클러스터 사양의 경로입니다.

클러스터 삭제

클러스터를 삭제하려면 환경에 맞는 탭을 선택하고 안내를 따르세요.

Ansible

Ansible을 사용하여 클러스터를 삭제하려면 다음 단계를 완료하세요.

  1. teardown.yaml라는 플레이북을 만듭니다.

    - name: Tear down AlloyDB Omni cluster
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.delete
    
  2. ansible-playbook을 사용하여 플레이북을 실행합니다. DBCluster를 resource_type로 지정하고 삭제할 클러스터의 이름을 resource_name로 지정해야 합니다.

    ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
      -e `resource_type`=`DBCluster` -e `resource_name`="DBCLUSTER_NAME"

클러스터 상태의 불일치로 인해 (예: 노드에 연결할 수 없는 경우) 해체 프로세스가 실패하면 명령어에 -e force=true를 추가하여 클러스터를 강제 삭제할 수 있습니다. 이렇게 하면 오케스트레이터가 해체 프로세스 중에 오류를 무시하고 최대한 많은 리소스를 삭제하려고 시도합니다.

  ansible-playbook -i "DEPLOYMENT_SPEC" teardown.yaml \
    -e resource_type=DBCluster -e resource_name="DBCLUSTER_NAME" -e force=true

alloydbctl

alloydbctl를 사용하여 클러스터를 삭제하려면 다음 명령어를 실행합니다.

alloydbctl delete -d "DEPLOYMENT_SPEC" \
      --resource_type DBCluster --resource_name "DBCLUSTER_NAME"

다음 변수를 바꿉니다.

  • DEPLOYMENT_SPEC: AlloyDB Omni 구성요소 설치에서 만든 배포 사양의 경로입니다.

  • DBCLUSTER_NAME: 데이터베이스 클러스터의 이름입니다. 예를 들면 my-dbcluster입니다.

부록: SELinux 정책 사양

다음 표에는 각 노드에서 실행되는 구성요소에 대해 구성된 SELinux 정책 규칙과 액세스 권한이 나와 있습니다. 이러한 정책은 SELinux 시행 모드에서 호스트를 실행할 때 필요한 프로세스 격리, 네트워크 소켓 바인딩, 저장소 액세스의 필수 경계를 정의합니다.

AlloyDB Omni

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
init_t (systemd) postgresql_exec_t file getattr, open, read, execute systemd 서비스 관리자가 PostgreSQL 바이너리를 실행하도록 허용합니다.
init_t postgresql_t process transition systemd에서 제한된 postgresql_t 도메인으로의 필수 도메인 전환을 강제 적용합니다.
postgresql_t postgresql_exec_t file entrypoint, execute, read, map 도메인 항목을 공식 PostgreSQL 실행 파일로만 엄격하게 제한합니다.
postgresql_t lib_t file/dir read, open, getattr, map 공유 데이터베이스 라이브러리에 대한 동적 링커 액세스를 승인합니다.
postgresql_t postgresql_db_t dir open, read, write, create, rmdir, search, getattr, setattr, add_name, remove_name 데이터 디렉터리 및 테이블스페이스의 전체 스토리지 디렉터리 수명 주기를 관리합니다.
postgresql_t postgresql_db_t file open, read, write, create, unlink, lock, append, getattr, setattr, map 힙 테이블, WAL 세그먼트, 카탈로그, 색인의 읽기/쓰기 작업을 승인합니다.
postgresql_t postgresql_var_run_t dir/sock_file open, read, write, create, unlink, search, getattr /var/run/postgresql에서 런타임 PID 파일과 Unix 도메인 소켓을 관리합니다.
postgresql_t postgresql_port_t tcp_socket name_bind TCP 네트워크 바인딩을 할당된 PostgreSQL 포트 (기본 TCP 5432)로 엄격하게 제한합니다.
alloydbomni_nm_t postgresql_exec_t file execute, execute_no_trans, getattr, open, read, map 노드 관리자가 상태 프로브를 실행하고 pg_isready 또는 pg_ctl과 같은 도구를 제어하도록 승인합니다.
alloydbomni_nm_t postgresql_db_t dir/file open, read, write, create, unlink, relabelto, relabelfrom 디렉터리를 초기화하고 SELinux 라벨을 적용할 권한을 노드 관리자에게 부여합니다.

AlloyDB Omni 모니터

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
postgresql_t unreserved_port_t tcp_socket name_bind Prometheus 측정항목 및 상태를 내보내기 위해 예약되지 않은 높은 포트에 바인딩하는 것을 승인합니다.
postgresql_t net_conf_t file open, read, getattr DNS 및 호스트 이름 확인을 위한 /etc/resolv.conf에 대한 읽기 전용 액세스 권한
postgresql_t sysfs_t file/dir open, read, getattr, search 루트 또는 관리 권한을 부여하지 않고 호스트 측정항목을 검사합니다.

Keepalived

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
keepalived_t keepalived_script_exec_t file execute, execute_no_trans, getattr, open, read, map, setattr, ioctl VIP 추적 스크립트의 실행을 제한된 전용 스크립트 컨텍스트로 제한합니다.
keepalived_t hostname_exec_t file execute, execute_no_trans, getattr, open, read, map 장애 조치 중에 노드 ID를 확인하기 위해 표준 시스템 hostname를 호출합니다.
keepalived_t ifconfig_exec_t file execute, execute_no_trans, getattr, open, read, map 물리적 네트워크 인터페이스에서 가상 IP를 할당하고 해제합니다.
keepalived_t systemd_systemctl_exec_t file execute, execute_no_trans, getattr, open, read, map 서비스 구성을 수정하지 않고 systemctl을 사용하여 서비스 종속 항목 상태를 쿼리합니다.
keepalived_t system_dbusd_t unix_stream_socket connectto 프로세스 간 알림을 위해 시스템 DBus 데몬에 연결됩니다.
keepalived_t system_dbusd_t/init_t dbus send_msg DBus 상태 전환 이벤트를 init_t systemd 도메인에 브로드캐스트합니다.
keepalived_t haproxy_unit_file_t/systemd_unit_file_t service status HAProxy 및 관련 서비스의 작동 상태를 확인합니다.
keepalived_t haproxy_var_lib_t dir / file / sock_file open, read, write, search, getattr 배포 시 /var/lib/haproxy에서 동일한 위치에 있는 HAProxy 통계 소켓을 검사합니다.
keepalived_t keepalived_var_run_t dir/file open, read, write, create, unlink, search, getattr /var/run/keepalived에서 런타임 상태 및 PID 추적 파일을 유지합니다.
alloydbomni_nm_t keepalived_t process signal, signull 노드 관리자가 POSIX 신호를 사용하여 데몬 수명 주기를 관리할 수 있도록 지원합니다.

HAProxy

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
haproxy_t postgresql_port_t tcp_socket name_bind, name_connect 포트 5432에서 리슨하고 데이터베이스 연결을 백엔드 데이터베이스 노드로 전달합니다.
haproxy_t unreserved_port_t tcp_socket name_bind, name_connect 커스텀 부하 분산기 포트를 수신하고 업스트림 읽기/쓰기 엔드포인트에 연결합니다.
haproxy_t haproxy_conf_t file/dir open, read, search, getattr /etc/haproxy/haproxy.cfg의 읽기 전용 구성 액세스입니다.
haproxy_t haproxy_var_lib_t dir / file / sock_file open, read, write, create, unlink, search, getattr /var/lib/haproxy에서 런타임 소켓과 통계 테이블을 관리합니다.
haproxy_t haproxy_var_run_t dir/file open, read, write, create, unlink, search, getattr /var/run/haproxy에서 PID 및 제어 소켓을 관리합니다.
alloydbomni_nm_t haproxy_unit_file_t service start, stop, status, reload, enable, disable Node Manager가 HAProxy systemd 서비스 수명 주기를 제어하도록 승인합니다.
alloydbomni_nm_t haproxy_t process signal, signull 구성 변경 시 노드 관리자가 새로고침 신호를 전송하도록 승인합니다.

PgBouncer

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
init_t pgbouncer_exec_t file getattr, open, read, execute systemd가 PgBouncer 실행 파일 (/usr/bin/pgbouncer)을 호출하도록 허용합니다.
init_t pgbouncer_t process transition systemd에서 격리된 pgbouncer_t로의 도메인 전환을 자동화합니다.
pgbouncer_t pgbouncer_exec_t file entrypoint, execute, read, map 실행 가능한 진입점을 /usr/bin/pgbouncer로 제한합니다.
pgbouncer_t unreserved_port_t tcp_socket name_bind 들어오는 클라이언트 데이터베이스 연결을 수신 대기합니다(예: TCP 포트 6432).
pgbouncer_t node_t tcp_socket node_bind 네트워크 소켓을 노드 네트워크 인터페이스에 바인딩합니다.
pgbouncer_t postgresql_port_t/unreserved_port_t tcp_socket name_connect 백엔드 AlloyDB Omni 데이터베이스 인스턴스에 대한 TCP 연결을 시작합니다.
pgbouncer_t self unix_stream_socket create, bind, listen, accept, read, write, connectto Unix 도메인 소켓을 통해 로컬 클라이언트 연결을 제공합니다.
pgbouncer_t pgbouncer_conf_t file/dir open, read, getattr, search /etc/pgbouncer/pgbouncer.ini 및 사용자 인증 파일에 대한 읽기 전용 구성 액세스
pgbouncer_t pgbouncer_var_run_t/tmp_t dir/sock_file open, read, write, create, unlink, search, getattr /var/run/pgbouncer 및 /tmp에서 런타임 소켓 파일을 만들고 관리합니다.
pgbouncer_t self netlink_route_socket create, bind, read, write, nlmsg_read, getattr 데이터베이스 및 클라이언트 엔드포인트를 해결하기 위한 네트워크 경로를 검색합니다.
pgbouncer_t self udp_socket create, connect, read, write, getattr, setopt, getopt DNS 이름 변환을 실행합니다.
pgbouncer_t init_t/kernel_t unix_dgram_socket sendto sd_notify 하트비트 및 준비 신호를 systemd에 전송합니다.
pgbouncer_t sysfs_t file/dir open, read, getattr, search 작업자 스레드 최적화를 위해 CPU 토폴로지를 읽습니다.

pgBackRest

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
postgresql_t/alloydbomni_nm_t pgbackrest_exec_t file execute, getattr, open, read, map Postgres와 노드 관리자가 각각 WAL 보관 및 백업을 위해 /usr/bin/pgbackrest를 실행할 수 있도록 허용
postgresql_t/alloydbomni_nm_t pgbackrest_t process transition, signal, sigkill, signull 제어된 프로세스가 제한된 pgbackrest_t 도메인으로 전환됩니다.
pgbackrest_t pgbackrest_exec_t file entrypoint, execute, execute_no_trans, read, map, getattr, open pgBackRest 바이너리 진입점을 제한합니다.
pgbackrest_t postgresql_db_t dir / file / lnk_file open, read, write, create, unlink, lock, append, search, getattr, setattr, map 물리적 백업 및 PITR (point-in-time recovery) 중에 데이터베이스 파일을 읽거나 씁니다.
pgbackrest_t postgresql_t unix_stream_socket connectto 로컬 소켓을 사용하여 실행 중인 PostgreSQL 엔진에 연결하여 백업 체크포인트를 트리거합니다.
pgbackrest_t postgresql_var_run_t dir / sock_file / file open, read, write, search, getattr /var/run/postgresql에서 PostgreSQL 연결 소켓에 액세스합니다.
pgbackrest_t http_port_t tcp_socket name_connect 엄격한 이그레스: 아웃바운드 TCP 연결이 클라우드 객체 스토리지 (GCS/S3)의 HTTPS (443)로 엄격하게 제한됩니다. 인바운드 리스너는 금지됩니다.
pgbackrest_t cert_t dir / file / lnk_file open, read, search, getattr, map 객체 스토리지에 대한 TLS 연결을 검증하기 위해 시스템 트러스트 저장소 인증서 (/etc/pki/tls)를 읽습니다.
pgbackrest_t pgbackrest_conf_t file/dir open, read, getattr, search, map /etc/pgbackrest/pgbackrest.conf의 읽기 전용 구성 액세스입니다.
pgbackrest_t pgbackrest_log_t file/dir open, read, write, create, unlink, append, lock, getattr, setattr /var/log/pgbackrest의 감사 로그를 관리합니다.
pgbackrest_t pgbackrest_tmp_t dir / file / sock_file open, read, write, create, unlink, append, lock, getattr, setattr, relabelto, relabelfrom /tmp/pgbackrest의 전용 격리 임시 저장소 및 스레드 간 통신 소켓
pgbackrest_t shadow_t / sysfs_t / sssd_var_lib_t file/dir dontaudit (숨김) 관련 없는 호스트 사용자 인증 정보 프로브를 자동으로 삭제하고 무시하여 감사 로그가 오염되지 않도록 합니다.

노드 관리자

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
init_t alloydbomni_nm_exec_t file getattr, open, read, execute systemd가 노드 관리자 데몬을 실행하도록 허용합니다.
alloydbomni_nm_t self capability audit_write, chown, dac_override, dac_read_search, fowner, fsetid, setgid, setuid, net_admin 호스트 수명 주기 관리 및 볼륨 프로비저닝에 필요한 엄격하게 제한된 Linux 기능
alloydbomni_nm_t unreserved_port_t tcp_socket name_bind, name_connect 클러스터 관리자에게 gRPC / HTTP API를 제공하고 HAProxy에 상태 점검 프로브를 제공합니다.
alloydbomni_nm_t http_port_t tcp_socket name_connect 클라우드 API 또는 모니터링 엔드포인트로의 아웃바운드 통신
alloydbomni_nm_t semanage_exec_t, setfiles_exec_t, setsebool_exec_t, load_policy_exec_t file execute, execute_no_trans, getattr, open, read, map 핵심 SELinux 관리 바이너리를 실행하여 CIL 정책을 컴파일하고 적용합니다.
alloydbomni_nm_t security_t security load_policy 컴파일된 SELinux 정책 모듈을 Linux 커널에 직접 로드합니다.
alloydbomni_nm_t semanage_store_t, selinux_config_t dir/file open, read, write, create, unlink, lock, getattr SELinux 영구 정책 구성 저장소를 유지관리합니다.
alloydbomni_nm_t unlabeled_t (디스크/마운트) filesystem / dir / file getattr, open, read, write, create, unlink, setattr, relabelto, relabelfrom 동적 디스크 라벨 변경: 새로 연결된 원시 디스크(예: /data1 또는 /obs)를 검색하고 postgresql_db_t로 라벨을 변경합니다.
alloydbomni_nm_t rpm_exec_t file execute, execute_no_trans, getattr, open, read, ioctl, map 자동화된 소프트웨어 설치 및 업데이트를 위해 RPM/DNF 패키지 관리자 명령어를 실행합니다.
alloydbomni_nm_t rpm_var_cache_t, rpm_var_lib_t, rpm_log_t dir/file open, read, write, create, unlink, lock, getattr 패키지 설치 중에 RPM 데이터베이스 및 캐시 파일을 관리합니다.
alloydbomni_nm_t systemd_unit_file_t, syslogd_unit_file_t, haproxy_unit_file_t, keepalived_unit_file_t service start, stop, status, reload, enable, disable 모든 관리형 데이터베이스 및 보조 구성요소에서 systemd 서비스 수명 주기를 오케스트레이션합니다.
alloydbomni_nm_t system_dbusd_t, systemd_logind_t, systemd_hostnamed_t dbus/unix_stream_socket send_msg, connectto 시스템 DBus를 통해 호스트 상태, 시간, 시스템 로깅을 조정합니다.

클러스터 관리자

소스 도메인 대상 리소스 / 유형 보안 클래스 부여된 권한 보안 근거 및 제약 조건
init_t alloydbcontrol_exec_t file getattr, open, read, execute systemd가 클러스터 관리자 실행 파일을 실행하도록 허용합니다.
alloydbcontrol_t alloydbcontrol_exec_t file entrypoint, execute, read, map, getattr, open 컨트롤 플레인 실행을 승인된 바이너리로 제한합니다.
alloydbcontrol_t unreserved_port_t tcp_socket name_bind, name_connect API 엔드포인트를 바인딩하고 분산 합의 스토어 (DCS / etcd) 및 노드 관리자에 연결합니다.
alloydbcontrol_t node_t tcp_socket node_bind 네트워크 리스너를 네트워크 인터페이스에 바인딩합니다.
alloydbcontrol_t alloydbcontrol_conf_t file/dir open, read, search, getattr /etc/alloydbomni/cluster_manager의 읽기 전용 구성 액세스입니다.
alloydbcontrol_t net_conf_t, passwd_file_t, sssd_public_t, sssd_var_lib_t file/dir open, read, search, getattr 관리 인터페이스의 호스트 확인 및 사용자 인증
alloydbcontrol_t cgroup_t, sysctl_net_t, sysfs_t file/dir open, read, search, getattr 읽기 전용 Go 런타임 성능 최적화 및 원격 분석입니다.
alloydbcontrol_t init_t unix_stream_socket dontaudit(ioctl) 중요하지 않은 systemd 파일 설명자 ioctl 경고를 억제합니다.