

# Amazon Aurora MySQL 모범 사례
<a name="AuroraMySQL.BestPractices"></a><a name="best_practices"></a>

이 주제에서는 Amazon Aurora MySQL DB 클러스터 사용 또는 이 클러스터로의 데이터 마이그레이션과 관련된 모범 사례와 옵션에 대해 설명합니다. 이 항목의 정보는 [Amazon Aurora DB 클러스터 관리](CHAP_Aurora.md)에서 찾을 수 있는 몇 가지 지침과 절차를 요약하고 반복합니다.

**Contents**
+ [연결되어 있는 DB 인스턴스 확인](#AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection)
+ [Aurora MySQL 성능 및 크기 조정에 대한 모범 사례](AuroraMySQL.BestPractices.Performance.md)
  + [개발 및 테스트에 T 인스턴스 클래스 사용](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.T2Medium)
  + [비동기식 키 프리페치를 사용하여 Aurora MySQL 인덱싱된 조인 쿼리 최적화](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.AKP)
    + [비동기식 키 미리 가져오기(AKP) 활성화](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.AKP.Enabling)
    + [비동기식 키 미리 가져오기를 위한 쿼리 최적화](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.AKP.Optimizing)
  + [해시 조인을 사용하여 대규모 Aurora MySQL 조인 쿼리 최적화](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin)
    + [해시 조인 활성화](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin.Enabling)
    + [해시 조인에 대한 쿼리 최적화](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin.Optimizing)
  + [Amazon Aurora를 사용하여 MySQL 데이터베이스 읽기 조정](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.ReadScaling)
  + [타임스탬프 작업 최적화](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.Performance.TimeZone)
  + [가상 인덱스 ID 오버플로 오류](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.Performance.VirtualIndexIDOverflow)
+ [Aurora MySQL 고가용성을 위한 모범 사례](AuroraMySQL.BestPractices.HA.md)
  + [MySQL 데이터베이스에서 Amazon Aurora를 재해 복구용으로 사용](AuroraMySQL.BestPractices.HA.md#AuroraMySQL.BestPractices.DisasterRecovery)
  + [감소된 중단 시간으로 MySQL에서 Amazon Aurora MySQL로 마이그레이션](AuroraMySQL.BestPractices.HA.md#AuroraMySQL.BestPractices.Migrating)
  + [Aurora MySQL DB 인스턴스의 성능 저하, 자동 재시작 및 장애 조치 방지](AuroraMySQL.BestPractices.HA.md#AuroraMySQL.BestPractices.Avoiding)
+ [Aurora MySQL에서 MySQL 기능에 대한 권장 사항](AuroraMySQL.BestPractices.FeatureRecommendations.md)
  + [Aurora MySQL에서 다중 스레드 복제 사용](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.MTReplica)
  + [네이티브 MySQL 함수로 AWS Lambda 함수 호출](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Lambda)
  + [Amazon Aurora MySQL에서 XA 트랜잭션 방지](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.XA)
  + [DML 문 동안 외래 키 켜기 유지](AuroraMySQL.BestPractices.FeatureRecommendations.md#Aurora.BestPractices.ForeignKeys)
  + [로그 버퍼를 플러시하는 빈도 구성](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)
  + [Aurora MySQL 교착 상태 최소화 및 문제 해결](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks)
    + [InnoDB 교착 상태 최소화](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks-minimize)
    + [InnoDB 교착 상태 모니터링](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks-monitor)
+ [Amazon CloudWatch 지표를 사용한 Aurora MySQL에 대한 DB 인스턴스 사용량 평가](AuroraMySQL.BestPractices.CW.md)

## 연결되어 있는 DB 인스턴스 확인
<a name="AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection"></a>

Aurora MySQL DB 클러스터에 어떤 DB 인스턴스가 연결되었는지 판별하려면 다음 예제와 같이 `innodb_read_only` 전역 변수를 점검하십시오.

```
SHOW GLOBAL VARIABLES LIKE 'innodb_read_only'; 
```

리더 DB 인스턴스에 연결된 경우 `innodb_read_only` 변수는 `ON`(으)로 설정됩니다. 라이터 DB 인스턴스(예: 프로비저닝된 클러스터의 기본 인스턴스)에 연결되어 있는 경우 이 설정은 `OFF`입니다.

이 접근 방식은 애플리케이션 코드에 논리를 추가하여 작업의 균형을 조정하거나 쓰기 작업에 올바른 연결이 사용되고 있는지 확인하려는 경우에 유용할 수 있습니다.