분류 전체보기
-
개요 Aurora DB 엔진 업그레이드 시 Aurora 2 일부 버전, Aurora 3 전체 버전에서 특정 상황을 충족할 경우 다운타임 없이 업그레이드가 가능합니다. 어떤 경우에 ZDP 가 동작하는지 알아보겠습니다. 업그레이드 전 고려 사항 허용 가능한 가동 중지 시간 업그레이드 시 다운타임으로 인해 서비스가 중단될 수 있기 때문에 실제 서비스에 허용 가능한 중단 시간을 파악해야 합니다. 특정 버그 또는 새로운 기능이 업그레이드가 필요할 만큼 중요한가 잠깐의 중단도 서비스에 중대한 영향이 있을 경우 보안 이슈로 인해 서비스에 중대한 영향이 있다면 빠른 시일 내에 업그레이드가 필요하지만 사소한 버그나 새로운 기능이 필요할 경우 당장 운영에 반영해야 할 만큼 필요한 사항인지 고려돼야 합니다. 수행할 검증 테..
[Aurora] ZDP(제로 다운타임) 엔진 업그레이드개요 Aurora DB 엔진 업그레이드 시 Aurora 2 일부 버전, Aurora 3 전체 버전에서 특정 상황을 충족할 경우 다운타임 없이 업그레이드가 가능합니다. 어떤 경우에 ZDP 가 동작하는지 알아보겠습니다. 업그레이드 전 고려 사항 허용 가능한 가동 중지 시간 업그레이드 시 다운타임으로 인해 서비스가 중단될 수 있기 때문에 실제 서비스에 허용 가능한 중단 시간을 파악해야 합니다. 특정 버그 또는 새로운 기능이 업그레이드가 필요할 만큼 중요한가 잠깐의 중단도 서비스에 중대한 영향이 있을 경우 보안 이슈로 인해 서비스에 중대한 영향이 있다면 빠른 시일 내에 업그레이드가 필요하지만 사소한 버그나 새로운 기능이 필요할 경우 당장 운영에 반영해야 할 만큼 필요한 사항인지 고려돼야 합니다. 수행할 검증 테..
2022.05.16 -
개요 Aurora MySQL 2.09 미만 버전의 경우 CloudWatch의 용량과 INFORMATION_SCHEMA의 통계 용량의 상당한 차이가 발생하는 경우가 있어 버전 업그레이드 후 용량을 테스트해보았습니다. 문제 CloudWatch의 사용된 바이트는 약 143GB인데 INFORMATION_SCHEMA는 약 58GB 입니다. Aurora의 경우 클러스터 볼륨은 128TB 까지 확장될 수 있으며 Aurora 클러스터 볼륨에 대해 사용한 공간에 대해서만 비용이 청구됩니다. Aurora 2.09 이전 버전에서는 데이터를 삭제했을 때 해당 공간은 추후에 재사용되며 이미 할당된 스토리지 공간은 줄어들지 않습니다. 이 때문에 실제 데이터를 삭제했을 경우에도 CloudWatch에서 용량이 감소하지 않고있었습니다..
[Aurora] 스토리지 용량 축소를 통한 비용 절감개요 Aurora MySQL 2.09 미만 버전의 경우 CloudWatch의 용량과 INFORMATION_SCHEMA의 통계 용량의 상당한 차이가 발생하는 경우가 있어 버전 업그레이드 후 용량을 테스트해보았습니다. 문제 CloudWatch의 사용된 바이트는 약 143GB인데 INFORMATION_SCHEMA는 약 58GB 입니다. Aurora의 경우 클러스터 볼륨은 128TB 까지 확장될 수 있으며 Aurora 클러스터 볼륨에 대해 사용한 공간에 대해서만 비용이 청구됩니다. Aurora 2.09 이전 버전에서는 데이터를 삭제했을 때 해당 공간은 추후에 재사용되며 이미 할당된 스토리지 공간은 줄어들지 않습니다. 이 때문에 실제 데이터를 삭제했을 경우에도 CloudWatch에서 용량이 감소하지 않고있었습니다..
2022.05.16 -
Aurora DB 파라미터 그룹의 경우 클러스터 또는 인스턴스에 적용할 수 있습니다. DB 파라미터 값을 수정했을 때 클러스터, 인스턴스 파라미터 그룹이 어떻게 적용되는지 알아보겠습니다. 파라미터 그룹 종류 DB 클러스터 파라미터 그룹 클러스터에 포함된 모든 인스턴스에 적용됨 DB 인스턴스 파라미터 그룹 개별 Instance에 적용됨 우선 순위 인스턴스 파라미터 값이 Default 인 경우 클러스터 파라미터 인스턴스 파라미터 인스턴스 파라미터 값이 Default 가 아닌 경우 인스턴스 파라미터 클러스터 파라미터 파라미터 그룹은 생성 시 디폴트 값이 지정되어 있습니다. 디폴트 값이 아닌 사용자 설정에 의한 값이 지정되었을 때 인스턴스 파라미터 그룹이 우선 순위를 가집니다. 반대로 인스턴스 파라미터 값은 D..
[Aurora] 파라미터 그룹 종류와 설정 시 유의 사항Aurora DB 파라미터 그룹의 경우 클러스터 또는 인스턴스에 적용할 수 있습니다. DB 파라미터 값을 수정했을 때 클러스터, 인스턴스 파라미터 그룹이 어떻게 적용되는지 알아보겠습니다. 파라미터 그룹 종류 DB 클러스터 파라미터 그룹 클러스터에 포함된 모든 인스턴스에 적용됨 DB 인스턴스 파라미터 그룹 개별 Instance에 적용됨 우선 순위 인스턴스 파라미터 값이 Default 인 경우 클러스터 파라미터 인스턴스 파라미터 인스턴스 파라미터 값이 Default 가 아닌 경우 인스턴스 파라미터 클러스터 파라미터 파라미터 그룹은 생성 시 디폴트 값이 지정되어 있습니다. 디폴트 값이 아닌 사용자 설정에 의한 값이 지정되었을 때 인스턴스 파라미터 그룹이 우선 순위를 가집니다. 반대로 인스턴스 파라미터 값은 D..
2022.05.12 -
개요 기존 RDS 모니터링 시스템의 경우 Cloud Watch의 지표를 수집하여 한정된 정보만 수집이 가능하기에 성능 지표를 수집할 수 있는 시스템이 필요했습니다. 프로메테우스의 Mysqld-exporter를 사용할 경우 MySQL 서버의 다양한 지표 수집이 가능합니다. 진행하기에 앞서 간략하게 프로메테우스에 대해 알아보겠습니다. 프로메테우스란 대상 시스템으로부터 각종 모니터링 지표를 수집하여 저장 및 검색할 수 있는 오픈 소스 시스템입니다. MSA 환경에서 다수의 시스템을 모니터링 하기 편리하며 특히 쿠버네티스의 메인 모니터링 시스템으로 사용되고 있습니다. 아래는 프로메테우스의 대표적인 특징입니다. 메트릭 키/값으로 식별되는 다차원 데이터 모델 PromQL을 사용한 유연한 쿼리 그라파나를 통한 시각화가..
프로메테우스 Aurora MySQL 성능 지표 모니터링 구성개요 기존 RDS 모니터링 시스템의 경우 Cloud Watch의 지표를 수집하여 한정된 정보만 수집이 가능하기에 성능 지표를 수집할 수 있는 시스템이 필요했습니다. 프로메테우스의 Mysqld-exporter를 사용할 경우 MySQL 서버의 다양한 지표 수집이 가능합니다. 진행하기에 앞서 간략하게 프로메테우스에 대해 알아보겠습니다. 프로메테우스란 대상 시스템으로부터 각종 모니터링 지표를 수집하여 저장 및 검색할 수 있는 오픈 소스 시스템입니다. MSA 환경에서 다수의 시스템을 모니터링 하기 편리하며 특히 쿠버네티스의 메인 모니터링 시스템으로 사용되고 있습니다. 아래는 프로메테우스의 대표적인 특징입니다. 메트릭 키/값으로 식별되는 다차원 데이터 모델 PromQL을 사용한 유연한 쿼리 그라파나를 통한 시각화가..
2022.04.09 -
개요 AWS DMS로 CDC(luna → cellook) 진행 중인 상황에서 원본의 변경 사항이 타겟에 반영되지 않고 Table Error가 발생한 상황에 대해 정리하였습니다. DMS 장애 상황 및 처리 DMS 구성이 되어있는 테이블에 대해 스키마 변경 요구사항이 있어 소스의 스키마 변경을 진행하였습니다. Source : Aurora MySQL Target : Aurora MySQL CDC 진행 Table Error 발생 AWS DMS 콘솔에서 해당 Task의 Status가 실행 중(오류 포함) 상태로 전환되었으며 이 시점 이후로 특정 테이블의 로드 상태가 Table error 상태로 전환되었으며 해당 테이블만 데이터가 연결되지 않는 상황이 발생하였습니다. 이후 DMS 를 중지시킨 후에 다시 실행해보았지..
AWS DMS 지속적복제(CDC) Table Error 발생개요 AWS DMS로 CDC(luna → cellook) 진행 중인 상황에서 원본의 변경 사항이 타겟에 반영되지 않고 Table Error가 발생한 상황에 대해 정리하였습니다. DMS 장애 상황 및 처리 DMS 구성이 되어있는 테이블에 대해 스키마 변경 요구사항이 있어 소스의 스키마 변경을 진행하였습니다. Source : Aurora MySQL Target : Aurora MySQL CDC 진행 Table Error 발생 AWS DMS 콘솔에서 해당 Task의 Status가 실행 중(오류 포함) 상태로 전환되었으며 이 시점 이후로 특정 테이블의 로드 상태가 Table error 상태로 전환되었으며 해당 테이블만 데이터가 연결되지 않는 상황이 발생하였습니다. 이후 DMS 를 중지시킨 후에 다시 실행해보았지..
2022.04.09 -
RedShift란 AWS에서 제공하는 서버리스 형태의 완전 관리형 데이터 웨어하우스로 페타바이트 급 확장이 가능하며 컬럼 포맷을 통해 데이터를 저장해 더 나은 I/O 효율성을 제공합니다. PostgreSQL 기반이며 대규모 병렬 처리, 데이터 압축을 통해 효율적인 데이터 저장 및 최적의 쿼리 성능을 가져올 수 있습니다. 구조 클러스터 클러스터는 하나 이상의 컴퓨팅 노드로 구성됩니다. 클러스터에 두 개 이상의 컴퓨팅 노드가 프로비저닝 될 경우 리더 노드가 컴퓨팅 노드를 관리하고 외부 통신을 처리합니다. 리더 노드 리더 노드는 엔드포인트로써 클라이언트와 통신을 처리하고 컴퓨팅 노드를 관리합니다. 리더 노드는 쿼리 수행의 중추 역할을 하는데 쿼리가 수행되면 실행 계획을 생성하고 컴파일한 후 이를 컴퓨팅 노드에..
AWS Redshift 개념과 구조RedShift란 AWS에서 제공하는 서버리스 형태의 완전 관리형 데이터 웨어하우스로 페타바이트 급 확장이 가능하며 컬럼 포맷을 통해 데이터를 저장해 더 나은 I/O 효율성을 제공합니다. PostgreSQL 기반이며 대규모 병렬 처리, 데이터 압축을 통해 효율적인 데이터 저장 및 최적의 쿼리 성능을 가져올 수 있습니다. 구조 클러스터 클러스터는 하나 이상의 컴퓨팅 노드로 구성됩니다. 클러스터에 두 개 이상의 컴퓨팅 노드가 프로비저닝 될 경우 리더 노드가 컴퓨팅 노드를 관리하고 외부 통신을 처리합니다. 리더 노드 리더 노드는 엔드포인트로써 클라이언트와 통신을 처리하고 컴퓨팅 노드를 관리합니다. 리더 노드는 쿼리 수행의 중추 역할을 하는데 쿼리가 수행되면 실행 계획을 생성하고 컴파일한 후 이를 컴퓨팅 노드에..
2022.04.05 -
그라파나란? 메트릭, 로그 등을 모니터링하고 분석할 수 있는 오픈 소스 시각및 분석 툴로 데이터를 저장하는 방식이 아닌 Cloud Watch, 프로메테우스의 데이터를 수집해 다양한 형태의 그래프로 시각화 할 수 있습니다. 시작하기 아래의 링크에서 운영체제에 맞는 버전으로 설치합니다. Download Grafana 설치 완료 후 www.localhost:3000 로 접속하면 브라우저에서 그라파나를 사용할 수 있습니다. 초기 ID / PASSWORD는 admin / admin 으로 설정되어있습니다. Data Source 생성 좌측 톱니바퀴 > Data sources 탭 선택 > Add data source 에서 Cloud Watch를 선택합니다. Connection Details에서 AWS Access Ke..
Grafana Cloud Watch 대시보드 구성그라파나란? 메트릭, 로그 등을 모니터링하고 분석할 수 있는 오픈 소스 시각및 분석 툴로 데이터를 저장하는 방식이 아닌 Cloud Watch, 프로메테우스의 데이터를 수집해 다양한 형태의 그래프로 시각화 할 수 있습니다. 시작하기 아래의 링크에서 운영체제에 맞는 버전으로 설치합니다. Download Grafana 설치 완료 후 www.localhost:3000 로 접속하면 브라우저에서 그라파나를 사용할 수 있습니다. 초기 ID / PASSWORD는 admin / admin 으로 설정되어있습니다. Data Source 생성 좌측 톱니바퀴 > Data sources 탭 선택 > Add data source 에서 Cloud Watch를 선택합니다. Connection Details에서 AWS Access Ke..
2022.03.29 -
대용량 테이블을 설계할 때 꼭 고려되는 내용 중 하나가 바로 파티셔닝입니다. 이번에 MySQL 에서 파티션을 사용하면서 어떤 경우에 파티션을 사용하는 것이 유리한지 또 어떻게 사용해야하는 것이 효율적인 것인지 정리해보았습니다. 파티션이란 테이블을 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 대용량 테이블을 다수의 작은 테이블로 분산해 관리할 수 있도록 하는 기능입니다. 실제 사용자는 하나의 테이블에 SELECT 및 INSERT, DELETE 작업을 하지만 내부적으로는 파티션으로 분산된 공간에 접근하여 결과를 처리합니다. 언제 사용해야 좋은가 1. 테이블의 크기가 커 성능 상의 문제가 있을 경우 대용량 테이블의 경우 인덱스가 메모리보다 큰 경우가 존재할 수 있는데 이 때 인덱스..
MySQL 파티션대용량 테이블을 설계할 때 꼭 고려되는 내용 중 하나가 바로 파티셔닝입니다. 이번에 MySQL 에서 파티션을 사용하면서 어떤 경우에 파티션을 사용하는 것이 유리한지 또 어떻게 사용해야하는 것이 효율적인 것인지 정리해보았습니다. 파티션이란 테이블을 논리적으로는 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 대용량 테이블을 다수의 작은 테이블로 분산해 관리할 수 있도록 하는 기능입니다. 실제 사용자는 하나의 테이블에 SELECT 및 INSERT, DELETE 작업을 하지만 내부적으로는 파티션으로 분산된 공간에 접근하여 결과를 처리합니다. 언제 사용해야 좋은가 1. 테이블의 크기가 커 성능 상의 문제가 있을 경우 대용량 테이블의 경우 인덱스가 메모리보다 큰 경우가 존재할 수 있는데 이 때 인덱스..
2022.03.20