자습서: Lambda 함수를 사용하여 Amazon RDS 데이터베이스에 액세스
자습서: Lambda 함수를 사용하여 Amazon RDS 데이터베이스에 액세스
이 자습서에서는 Lambda 함수를 사용하여 RDS Proxy를 통해 Amazon Relational Database Service(Amazon RDS) 데이터베이스에 데이터를 씁니다. Lambda 함수는 Amazon Simple Queue Service(Amazon SQS) 큐에서 레코드를 읽고 메시지가 추가될 때마다 데이터베이스의 테이블에 새 항목을 씁니다. 이 예제에서는 AWS Management Console을 사용하여 큐에 메시지를 수동으로 추가합니다. 다음 다이어그램은 자습서를 완료하는 데 사용하는 AWS 리소스를 보여줍니다.
Amazon RDS를 사용하면 Microsoft SQL Server, MariaDB, MySQL, Oracle Database 및 PostgreSQL과 같은 일반적인 데이터베이스 제품을 사용하여 클라우드에서 관리형 관계형 데이터베이스를 실행할 수 있습니다. Lambda를 사용하여 데이터베이스에 액세스하면 웹 사이트에 새 고객이 등록하는 것과 같은 이벤트에 대응하여 데이터를 읽고 쓸 수 있습니다. 함수, 데이터베이스 인스턴스 및 프록시는 높은 수요 기간을 충족하도록 자동으로 확장됩니다.
이 자습서를 완료하려면 다음 작업을 수행합니다:
- AWS 계정의 기본 VPC에 RDS for MySQL 데이터베이스 인스턴스와 프록시를 시작합니다.
- 데이터베이스에 새 테이블을 만들고 데이터를 쓰는 Lambda 함수를 생성하고 테스트합니다.
- Amazon SQS 큐를 생성하고 새 메시지가 추가될 때마다 Lambda 함수를 호출하도록 구성합니다.
- AWS Management Console을 사용하여 큐에 메시지를 추가하고 CloudWatch Logs로 결과를 모니터링하여 전체 설정을 테스트합니다.
이러한 단계를 완료하면 다음을 배우게 됩니다:
- Amazon RDS를 사용하여 데이터베이스 인스턴스와 프록시를 만들고 Lambda 함수를 프록시에 연결하는 방법
- Lambda를 사용하여 Amazon RDS 데이터베이스에 생성 및 읽기 작업을 수행하는 방법
- Amazon SQS를 사용하여 Lambda 함수를 호출하는 방법
이 자습서는 AWS Management Console 또는 AWS Command Line Interface(AWS CLI)를 사용하여 완료할 수 있습니다.
출처: 문서
본문
사전 요구 사항
시작하기 전에 다음 섹션의 단계를 완료하세요:
- AWS 계정 가입
Amazon RDS DB 인스턴스 생성
Amazon RDS DB 인스턴스는 AWS Cloud에서 실행되는 격리된 데이터베이스 환경입니다. 인스턴스에는 사용자가 만든 하나 이상의 데이터베이스가 포함될 수 있습니다. 달리 지정하지 않는 한 Amazon RDS는 AWS 계정에 포함된 기본 VPC에 새 데이터베이스 인스턴스를 생성합니다. Amazon VPC에 대한 자세한 내용은 Amazon Virtual Private Cloud User Guide를 참조하세요.
이 자습서에서는 AWS 계정의 기본 VPC에 새 인스턴스를 만들고 해당 인스턴스에 ExampleDB라는 데이터베이스를 만듭니다. AWS Management Console 또는 AWS CLI를 사용하여 DB 인스턴스와 데이터베이스를 만들 수 있습니다.
데이터베이스 인스턴스를 생성하려면
- Amazon RDS 콘솔을 열고 Create database를 선택합니다.
- Standard create 옵션을 선택한 상태로 두고 Engine options에서 MySQL을 선택합니다.
- Templates에서 Free tier 또는 Sandbox를 선택합니다. Free tier는 프리 티어 계정에 표시됩니다. Sandbox는 유료 요금제 계정에 표시됩니다.
- Settings에서 DB instance identifier에
MySQLForLambda를 입력합니다. - 사용자 이름과 암호를 다음 방법으로 설정합니다:
- Credentials settings에서 Master username을
admin으로 유지합니다. - Master password에 데이터베이스에 액세스할 암호를 입력하고 확인합니다.
- Credentials settings에서 Master username을
- 데이터베이스 이름을 다음 방법으로 지정합니다:
- 나머지 기본 옵션을 모두 선택한 상태로 두고 Additional configuration 섹션까지 아래로 스크롤합니다.
- 이 섹션을 펼치고 Initial database name에
ExampleDB를 입력합니다.
- 나머지 기본 옵션을 모두 선택한 상태로 두고 Create database를 선택합니다.
Lambda 함수 및 프록시 생성
RDS 콘솔을 사용하여 데이터베이스와 동일한 VPC에 Lambda 함수와 프록시를 만들 수 있습니다.
참고
데이터베이스가 생성을 완료하고 Available 상태가 된 경우에만 이러한 연결된 리소스를 만들 수 있습니다.