MySQL용 Amazon RDS

네트워크 트래픽 암호화

Looker 애플리케이션과 데이터베이스 사이에 네트워크 트래픽을 암호화하는 것이 가장 좋습니다. 안전한 데이터베이스 액세스 사용 설정 문서 페이지에 설명된 옵션 중 하나를 고려해 보세요.

SSL 암호화를 사용하려면 MySQL RDS 문서를 참조하세요.

옵션

성능상의 이유로, Looker와 함께 읽기 전용 복제본 데이터베이스(읽기 복제본이라고도 함)를 사용하는 것이 일반적입니다. 이렇게 하면 기본 프로덕션 데이터베이스가 쿼리 작업에 의해 느려지지 않고 기본 기능에 집중할 수 있습니다.

이 문서에서는 다음 중 두 가지 방법을 설명합니다.

  • Looker에서 작동하도록 기존 복제본 데이터베이스 수정
  • 새 읽기 복제본 데이터베이스를 만들고 Looker에서 작동하도록 구성

기존 복제본 수정

사용자 및 보안

<some_password_here>를 고유하고 안전한 비밀번호로 변경합니다.

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';

RDS 및 임시 테이블

RDS 읽기 복제본에는 기본적으로 Looker가 임시 테이블에 쓰기를 수행하지 못하게 방해하는 읽기 전용 플래그가 사용 설정되어 있습니다. Looker는 기존 데이터를 실제로 변경하지 않지만 MySQL에서 임시 테이블을 사용하려면 여전히 쓰기 액세스 권한이 필요합니다. 이 문제는 RDS에서 플래그를 변경하여 해결할 수 있습니다. RDS FAQ에서 다음을 수행합니다.

Q: 읽기 복제본은 데이터베이스 읽기 작업만 허용할 수 있나요?

읽기 복제본은 트래픽 읽기를 처리하도록 설계되었습니다. 그러나 고급 사용자가 읽기 복제본에 대해 데이터 정의 언어(DDL) SQL 문을 완성하려는 사용 사례가 있을 수 있습니다. 예를 들어 동일한 색인을 해당 소스 DB 인스턴스에 추가하지 않고 비즈니스 보고에 사용되는 읽기 복제본에 데이터베이스 색인을 추가할 수 있습니다.

읽기 복제본에 대해 DDL SQL 문을 허용하도록 MySQL용 Amazon RDS를 구성할 수 있습니다. 지정된 읽기 복제본에 읽기 외의 작업을 사용 설정하려면 read_only 매개변수를 0으로 설정하는 읽기 복제본의 활성 DB 매개변수 그룹을 수정합니다.

현재 PostgreSQL용 Amazon RDS는 읽기 복제본에 대한 DDL SQL 문 실행을 지원하지 않습니다.

DB 매개변수 그룹을 수정할 경우 변경사항을 적용하려면 읽기 복제본을 다시 시작해야 합니다.

데이터베이스 만들기 및 권한 부여

임시 데이터베이스를 만들고 이에 대한 쓰기 권한을 looker 사용자에게 부여합니다. MySQL의 CREATE TEMPORARY 문은 권한 목적으로 데이터베이스와 연결되어야 합니다.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

새 복제본 만들기

AWS RDS는 백업 보관이 활성화된 데이터베이스 인스턴스에서만 읽기 복제본을 만들 수 있습니다.

AWS 사전 단계

1단계

기본 데이터베이스 인스턴스가 될 데이터베이스에 mysql을 추가합니다.

mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p

2단계

looker라는 사용자를 만듭니다. <some_password_here>를 고유한 보안 비밀번호로 바꿉니다.

CREATE USER looker IDENTIFIED BY '<some_password_here>';

3단계

임시 데이터베이스를 만들고 Looker에 다른 데이터베이스 및 테이블에 대한 읽기 권한을 부여합니다. Looker는 일반적으로 looker_tmp 데이터베이스에 기록을 수행하지 않지만 이를 사용해서 CREATE TEMPORARY TABLE 명령어를 실행합니다.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

GRANT
  SELECT,
  SHOW DATABASES
ON *.* TO 'looker'@'%';

4단계

플러시 권한:

FLUSH PRIVILEGES;

AWS 단계

1단계

로그인하고 AWS 대시보드로 이동합니다. 데이터베이스 섹션에서 RDS를 선택합니다.

2단계

RDS 대시보드에서 기본 데이터베이스로 지정하려는 데이터베이스 인스턴스를 선택합니다. 인스턴스 작업을 선택한 후 읽기 복제본 만들기를 선택합니다.

3단계

읽기 복제본 DB 인스턴스 만들기 팝업에서 읽기 복제본 데이터베이스를 구성하고 예, 읽기 복제본 만들기를 선택합니다.

4단계

읽기 복제본 데이터베이스가 생성되기를 기다리는 동안 읽기 복제본 데이터베이스 인스턴스에 적용되는 엔진 구성 값을 포함할 DB 매개변수 그룹을 설정할 수 있습니다. 사이드바에서 DB 매개변수 그룹 페이지를 선택한 후 DB 매개변수 그룹 만들기 버튼을 선택합니다.

5단계

DB 매개변수 그룹 계열DB 매개변수 그룹 이름을 선택하고 DB 매개변수 그룹 설명을 입력합니다. 그런 다음 예, 만들기를 선택합니다.

6단계

읽기 복제본 데이터베이스 매개변수 그룹이 포함된 행에서 돋보기 아이콘을 선택합니다. 또는 행을 선택하고매개변수 수정을 선택합니다.

7단계

매개변수 아래의 필터 필드에서 "read_only"를 검색합니다. 매개변수 값을 0으로 변경합니다. 그런 후 변경사항 저장을 선택합니다.

8단계

읽기 복제본 만들기가 완료되었으면 데이터베이스 인스턴스 목록에서 선택하고 인스턴스 작업 버튼을 선택하고 인스턴스 작업에서 수정을 선택합니다.

9단계

DB 인스턴스 수정 팝업에서 DB 인스턴스 매개변수 그룹을 새로운 읽기 복제본 매개변수 그룹으로 변경합니다. 그런 후 즉시 적용 상자를 선택하고 계속, DB 인스턴스 수정을 차례로 선택합니다.

10단계

MySQL 클라이언트를 사용해서 읽기 복제본 데이터베이스 인스턴스에 looker로 연결하고 데이터에 액세스할 수 있는지 테스트합니다.

데이터베이스에 대한 Looker 연결 만들기

Looker의 관리 섹션에서 연결을 선택한 후 연결 추가를 클릭합니다.

연결 세부정보를 작성합니다. 대다수의 설정은 대부분의 데이터베이스 언어에 공통적으로 적용됩니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.

제대로 연결되었는지 확인하려면 테스트를 클릭합니다. 문제 해결 정보는 데이터베이스 연결 테스트 문서 페이지를 참조하세요.

이러한 설정을 저장하려면 연결을 클릭합니다.

기능 지원

Looker가 특정 기능을 지원하려면 데이터베이스 언어도 해당 기능을 지원해야 합니다.

MySQL은 Looker 24.18부터 다음 기능을 지원합니다.

기능 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
지원되지 않음
대칭 집계
지원됨
파생 테이블
지원됨
영구 SQL 파생 테이블
지원됨
영구 기본 파생 테이블
지원됨
안정적인 뷰
지원됨
쿼리 종료
지원됨
SQL 기반 피벗
지원됨
시간대
지원됨
SSL
지원됨
소계
지원됨
JDBC 추가 파라미터
지원됨
대소문자 구분
지원되지 않음
위치 유형
지원됨
목록 유형
지원됨
백분위수
지원됨
고유 백분위수
지원됨
SQL Runner 표시 프로세스
지원됨
SQL Runner 설명 테이블
지원됨
SQL Runner 표시 색인
지원됨
SQL Runner 선택 10
지원됨
SQL Runner 카운트
지원됨
SQL 설명
지원됨
OAuth 사용자 인증 정보
지원되지 않음
컨텍스트 주석
지원됨
연결 풀링
지원되지 않음
HLL 스케치
지원되지 않음
집계 인식
지원됨
증분 PDT
지원됨
밀리초
지원됨
마이크로초
지원됨
구체화된 뷰
지원되지 않음
대략적인 고유값
지원되지 않음