내용으로 건너뛰기

Amazon RDS Proxy를 사용하여 Amazon RDS 데이터베이스에 연결하도록 Lambda 함수를 구성하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Relational Database Service(Amazon RDS) Proxy를 사용하여 Amazon RDS 데이터베이스에 연결하도록 AWS Lambda 함수를 구성하려고 합니다.

해결 방법

전제 조건: Amazon RDS Proxy는 Amazon RDS 데이터베이스와 동일한 Amazon Virtual Private Cloud(Amazon VPC) VPC에 있어야 합니다.

Amazon RDS Proxy를 사용하여 Amazon RDS 데이터베이스에 연결하도록 Lambda 함수를 구성하려면 다음 단계를 완료하십시오.

Secrets Manager에서 데이터베이스 자격 증명 생성

다음 단계를 완료합니다.

  1. AWS Secrets Manager 콘솔을 엽니다.
  2. **Store a new secret(새 보안 암호 저장)**을 선택합니다.
  3. **Secret type(보안 암호 유형)**에서 **Credentials for RDS database(RDS 데이터베이스 자격 증명)**를 선택합니다.
  4. RDS DB 인스턴스의 사용자 이름암호를 입력합니다.
  5. **Encryption key(암호화 키)**에서 Secrets Manager가 보안 암호 값을 암호화하는 데 사용하는 AWS Key Management Service(AWS KMS) 키를 선택합니다.
  6. **Database(데이터베이스)**에서 데이터베이스를 선택하고, **Next(다음)**를 선택합니다.
  7. **Secret name(보안 암호 이름)**에 이름을 입력하고 **Next(다음)**를 선택합니다.
  8. **Next(다음)**를 선택하고 **Store(저장)**를 선택합니다.
  9. **Secrets(보안 암호)**에서 Secrets Manager 보안 암호를 선택합니다.
  10. **Secret ARN(보안 암호 ARN)**에 보안 암호 ARN을 기록해 둡니다.

자세한 내용은 AWS Secrets Manager 보안 암호 생성을 참조하십시오.

Amazon RDS Proxy에 대한 IAM 정책 및 역할 생성

보안 암호를 사용할 권한이 있는 AWS Identity and Access Management(IAM) 역할을 생성합니다. 예제:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetResourcePolicy",
        "secretsmanager:GetSecretValue",
        "secretsmanager:DescribeSecret",
        "secretsmanager:ListSecretVersionIds"
      ],
      "Resource": [
        "[Secret_ARN]"
      ]
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetRandomPassword",
        "secretsmanager:ListSecrets"
      ],
      "Resource": "*"
    }
  ]
}

참고: Secret_ARN을 보안 암호 ARN으로 바꾸십시오.

이후 Amazon RDS가 역할을 맡을 수 있도록 허용하는 신뢰 정책을 생성하십시오. 예제:

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "",
   "Effect": "Allow",
   "Principal": {
    "Service": "rds.amazonaws.com"
   },
   "Action": "sts:AssumeRole"
  }
 ]
}

프록시를 생성하고 Lambda 함수에 연결

먼저 RDS 프록시를 생성합니다. 다음 단계를 완료하여 데이터베이스 엔드포인트 대신 프록시 엔드포인트에 연결하도록 함수를 구성합니다.

  1. Lambda 콘솔을 엽니다.
  2. **Functions(함수)**를 선택한 다음 Lambda 함수를 선택합니다.
  3. **Configuration(구성)**을 선택한 다음 RDS 데이터베이스를 선택합니다.
  4. **Connect to RDS database(RDS 데이터베이스에 연결)**를 선택합니다.
  5. RDS 데이터베이스를 선택합니다. 또는 **Create a new database(새 데이터베이스 생성)**를 선택하고 다음 설정을 구성합니다.
    **Engine type(엔진 유형)**에서 엔진 유형을 선택합니다.
    **DB instance identifier(DB 인스턴스 식별자)**에 DB 인스턴스의 이름을 입력합니다.
    **Master username(마스터 사용자 이름)**에 기본 사용자 로그인 ID를 입력합니다.
    VPC에서는 기본 설정을 사용합니다. 기본적으로 Lambda는 함수와 동일한 VPC에 RDS 데이터베이스를 설정합니다.
  6. 데이터베이스 연결을 선택한 다음 **Add proxy(프록시 추가)**를 선택합니다.
  7. **Existing proxies(기존 프록시)**에서 RDS 프록시를 선택합니다.
  8. **Add(추가)**를 선택합니다.

프록시 연결을 완료하는 데 몇 분 정도 걸립니다. Lambda에 사용할 RDS DB 인스턴스를 구성하는 방법에 대한 자세한 내용은 RDS 리소스에 사용하도록 함수 구성을 참조하십시오.

(선택 사항) Amazon RDS Proxy가 IAM 인증을 사용하는지 확인

Lambda 실행 역할을 사용하여 Amazon RDS Proxy를 인증하는 경우 다음 단계를 완료하십시오.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 **Proxies(프록시)**를 선택한 다음 프록시를 선택합니다.
  3. **Actions(작업)**를 선택하고 **Modify(수정)**를 선택합니다.
  4. **Authentication(인증)**에서 **IAM Authentication(IAM 인증)**이 **Required(필수)**로 설정되어 있는지 확인합니다.

연결 문제가 발생하는 경우 Amazon RDS Proxy를 사용하여 Amazon RDS DB 또는 Amazon Aurora DB 인스턴스에 연결할 수 없는 이유는 무엇인가요?를 참조하십시오.

자세한 내용은 ](https://aws.amazon.com/blogs/compute/using-amazon-rds-proxy-with-aws-lambda/)AWS Lambda에서 Amazon RDS Proxy사용[을 참조하십시오.

관련 정보

Amazon RDS DB 인스턴스에 액세스하려고 할 때 Lambda에서 발생하는 연결 시간 제한 오류를 해결하려면 어떻게 해야 하나요?

RDS 인스턴스에 연결하도록 Lambda 함수를 구성하려면 어떻게 해야 하나요?

Amazon RDS Proxy를 Lambda 함수에 연결할 때 “Lambda could not update the function's execution role” 오류를 해결하려면 어떻게 해야 하나요?

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