RDS를 통한 시간 지정 자동 배율 조정

4551 단어 AWS

개시하다


RDS(Aurora)에서 자동 눈금자를 설정할 수 있지만, 트리거에 사용할 수 있는 것은
  • Aurora 복제본의 평균 CPU 사용률
  • Aurora 던전의 평균 연결 수
  • 의 2개, RDS를 미리 노린 부하가 높은 시간대 자동 비율이 어려워 대안을 모색했다.
    RDS 로드(CPU 사용률) 이미지

    연구했던 일


    대상 RDS 구성은 다음과 같습니다.
    RDS 구성
    Cluster
    ┣ Writer
    ┣ Reader1
    ┗ Reader2
    
  • Reader를 미리 추가하여 필요에 따라 부팅/중지를 제어합니다.
    → Cluster에 걸려 있는 인스턴스를 중지할 수 없습니다.
  • 모든 인스턴스의 배율을 조정합니다.
    → 특정한 시간 이외에 자원이 충분하기 때문에 사용하지 않는다.
  • 이번에 채택한 방안

  • RDS 로드(CPU 사용률)가 높은 기간 동안 Reader 1대를 추가합니다.
  • 추가할 기간을 CloudWatch의 이벤트 규칙으로 설정합니다.추가된 것은 정해진 시간 이후 추가된 리더와 삭제된 두 가지다.
  • Lambda 함수를 사용하여 Reader 추가 제거를 수행합니다.
  • 구체적인 대응 내용


    IAM


    Lambda의 RDS에 대한 전체 액세스 기능을 작성합니다.

    Lambda


    Reader의 함수를 추가 및 제거할 준비가 되어 있습니다.
    이번엔 파이썬 3.채용하다
    덧붙이다
    import boto3
    
    def lambda_handler(event, context):
        # TODO implement
        rds = boto3.client('rds')
        response = rds.create_db_instance(
            Engine='aurora',
            DBClusterIdentifier='[対象クラスタ]',
            DBInstanceIdentifier='[追加するインスタンス名]',
            DBInstanceClass='[他のReadeのインスタンスクラスで良いかと]',
            PubliclyAccessible=False, #外部接続OKであればTrueで
            DBParameterGroupName='[他のReaderのパラメータグループ名で良いかと]',
            PromotionTier=15 #フェイルオーバー優先度は最も低くします
        )
        print(response)
        return 0
    
    삭제
    import boto3
    
    def lambda_handler(event, context):
        # TODO implement
        rds = boto3.client('rds')
        response = rds.delete_db_instance(
            DBInstanceIdentifier='[追加時のインスタンス名]',
            SkipFinalSnapshot=True
        )
        print(response)
        return 0
    

    CloudWatch


    활동 규칙에서 규칙을 작성합니다.
  • 추가 사용 규칙: 시간표에서 Cron 형식의 추가 시간을 선택하고 목표는 이전에 만든 Lambda 함수(추가)를 지정한다.
  • 삭제 규칙: 스케줄링에서 Cron 형식을 선택하고 추가할 시간을 지정하고 대상이 이전에 만든 Lambda 함수(삭제)를 지정합니다.
  • 확인


    실시간 확인이 가능한 경우 RDS의 데이터베이스 목록에서 확인 가능
    실시간 확인에 어려움이 있으면 알림메일(RDS Notification Message)을 통해 확인할 수 있다.

    끝말


    이번엔 RDS 설정일 뿐 대응이 어려워 역기가 됐으니 다른 좋은 대응 방법이 있다면 댓글로 남겨주세요.

    좋은 웹페이지 즐겨찾기