MySQL용 Amazon RDS

네트워크 트래픽 암호화

Looker에서는 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 매개변수 그룹](#aws_step_4)을 수정하여 `read_only` 매개변수를 `0`으로 설정해야 합니다.

DB 매개변수 그룹을 변경한 경우 읽기 복제본을 다시 시작해야 변경사항이 적용됩니다.

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

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

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 버전에서 MySQL은 다음 Looker 기능을 지원합니다.

다음 단계

데이터베이스 구성을 완료한 후 이 지침에 따라 Looker에서 데이터베이스에 연결할 수 있습니다.