AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

Secrets Manager Lambda 순환 함수가 “데이터베이스 엔진을 'postgres'/'mysql'로 설정해야 합니다” 오류와 함께 실패한 이유는 무엇인가요?

2분 분량
0

AWS Secrets Manager에서 “데이터베이스 엔진을 'postgres'/'mysql'로 설정해야 합니다” 오류가 발생하여 AWS Lambda 순환 함수가 실패했습니다.

간략한 설명

사용자 보안 인증에 다중 사용자 AWS Lambda 순환 함수를 사용하는 경우 이 오류가 발생할 수 있습니다.

참고: 이 오류는 Amazon Relational Database Service(RDS)의 두 가지 데이터베이스 유형, 즉 Amazon Aurora PostgreSQL-호환 에디션 및 Amazon Aurora MySQL-호환 에디션에만 적용됩니다.

이 오류는 Amazon RDS 데이터베이스 보안 인증에 대한 Lambda 순환 함수의 setSecret 단계에서 발생합니다.

해결 방법

함수 코드를 변경한 경우 Lambda 순환 함수를 편집하고, 변경하지 않은 경우 새 순환을 생성합니다.

옵션 1: 순환 함수 코드 편집

  1. Lambda 콘솔을 엽니다.

  2. 탐색 창에서 함수를 선택한 다음 Lambda 함수 이름을 선택합니다.

  3. 작업 드롭다운 목록을 선택하고 함수 내보내기를 선택한 다음 배포 패키지 다운로드를 선택합니다.

  4. 다운로드한 .zip 파일에서 파일을 추출합니다.

  5. Visual Studio Code IDE에서 lambda_function.py 파일을 엽니다.

  6. get_secret_dict() 도우미 함수에서 **if secret_dict['engine'] != 'mysql':**을 다음 코드로 바꿉니다.

    supported_engines = ["mysql", "aurora-mysql"]
    if secret_dict['engine'] not in supported_engines:
  7. .zip 폴더의 내용을lambda_function.py 파일로 압축합니다.

  8. Lambda 콘솔의 코드 탭에서 업로드 위치 드롭다운 목록을 선택하고 .zip 파일을 선택한 다음 7단계의 새 .zip 폴더를 선택합니다.

옵션 2: 새 순환 함수 생성

  1. Secrets Manager 콘솔을 엽니다.
  2. 비밀 페이지에서 비밀 이름을 선택합니다.
  3. 비밀 세부 정보 페이지의 순환 구성 섹션에서 순환 편집을 선택합니다.
  4. 순환 구성 편집 대화 상자에서 3e 단계의 지침에 따라 순환용 비밀을 구성합니다.
  5. 별도의 보안 인증을 사용하여 이 비밀을 순환하려면 를 선택합니다.
  6. 비밀에서 Amazon RDS 또는 Amazon Aurora 기본 데이터베이스 보안 인증의 비밀을 선택합니다.
  7. 저장을 선택합니다.
  8. (선택 사항) 이전 Lambda 순환 함수가 여러 비밀과 연결된 경우 해당 비밀에 새 함수를 사용할 수 있습니다.
    각 비밀에 대해 비밀 세부 정보 페이지를 연 다음 순환 구성 섹션에서 순환 편집을 선택합니다. 순환 구성 편집 대화 상자에서 Lambda 순환 함수에 새 순환 함수를 선택한 다음 저장을 선택합니다.
  9. 모든 비밀을 새 Lambda 순환 함수로 전환한 후 Lambda 콘솔에서 이전 순환 Lambda 함수를 삭제합니다.

관련 정보

지원되지 않는 데이터베이스에 AWS Secrets Manager 비밀을 사용하여 순환 함수를 생성하려면 어떻게 해야 하나요?

AWS Secrets Manager를 사용하여 Amazon Relational Database Service(RDS) 보안 인증의 보안 개선

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음