.NET 애플리케이션 환경에 Amazon RDS DB 인스턴스 추가 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

.NET 애플리케이션 환경에 Amazon RDS DB 인스턴스 추가

Amazon Relational Database Service(RDS) DB 인스턴스를 통해 애플리케이션이 수집하고 수정하는 데이터를 저장할 수 있습니다. Elastic Beanstalk를 통해 데이터베이스를 환경으로 연결한 후 관리하거나 비연결을 통해 생성하여 외부 기타 서버로 관리할 수 있습니다. 여기에서는 Elastic Beanstalk 콘솔을 사용하여 Amazon RDS를 생성하는 방법을 설명합니다. 데이터베이스는 Elastic Beanstalk를 통해 사용자 환경에 연결되고 관리됩니다. Elastic Beanstalk를 통한 Amazon RDS 통합에 대한 자세한 내용은 Elastic Beanstalk 환경에 데이터베이스 추가을 참조하십시오.

환경에 DB 인스턴스 추가

환경에 DB 인스턴스를 추가하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. 데이터베이스 구성 범주에서 편집을 선택합니다.

  5. DB 엔진을 선택하고 사용자 이름과 암호를 입력합니다.

  6. 변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.

DB 인스턴스를 추가하는 데 약 10분 정도 소요됩니다. 환경 업데이트가 완료되면 애플리케이션에서 다음 환경 속성을 통해 DB 인스턴스 호스트 이름과 기타 연결 정보를 사용할 수 있습니다:

속성 이름 설명 속성 값

RDS_HOSTNAME

DB 인스턴스의 호스트 이름입니다.

Amazon RDS 콘솔 연결 및 보안 탭의 엔드포인트입니다.

RDS_PORT

DB 인스턴스가 연결을 허용하는 포트입니다. DB 엔진마다 기본값이 다릅니다.

Amazon RDS 콘솔 연결 및 보안 탭의 포트입니다.

RDS_DB_NAME

데이터베이스 이름은 ebdb입니다.

Amazon RDS 콘솔 구성 탭의 DB 이름입니다.

RDS_USERNAME

데이터베이스에 구성된 사용자 이름입니다.

Amazon RDS 콘솔 구성 탭의 마스터 사용자 이름입니다.

RDS_PASSWORD

데이터베이스에 구성된 암호입니다.

Amazon RDS 콘솔에서 참조용 정보를 사용할 수 없습니다.

Elastic Beanstalk 환경에 결합된 데이터베이스에 대한 자세한 내용은 Elastic Beanstalk 환경에 데이터베이스 추가을 참조하세요.

드라이버 다운로드

NuGet으로 개발 환경에 대한 데이터베이스 드라이버와 EntityFramework 패키지를 다운로드하여 설치합니다.

.NET용 일반적인 개체 프레임워크 데이터베이스 공급자
  • SQL ServerMicrosoft.EntityFrameworkCore.SqlServer

  • MySQLPomelo.EntityFrameworkCore.MySql

  • PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQL

데이터베이스에 연결

Elastic Beanstalk에서는 환경 속성을 통해 연결된 DB 인스턴스의 연결 정보를 제공합니다. ConfigurationManager.AppSettings를 사용하여 속성을 읽고 데이터베이스 연결을 구성합니다.

예 Helpers.cs - 연결 문자열 메서드
using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; namespace MVC5App.Models { public class Helpers { public static string GetRDSConnectionString() { var appConfig = ConfigurationManager.AppSettings; string dbname = appConfig["RDS_DB_NAME"]; if (string.IsNullOrEmpty(dbname)) return null; string username = appConfig["RDS_USERNAME"]; string password = appConfig["RDS_PASSWORD"]; string hostname = appConfig["RDS_HOSTNAME"]; string port = appConfig["RDS_PORT"]; return "Data Source=" + hostname + ";Initial Catalog=" + dbname + ";User ID=" + username + ";Password=" + password + ";"; } } }

연결 문자열을 사용하여 데이터베이스 컨텍스트를 초기화합니다.

예 DBContext.cs
using System.Data.Entity; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; namespace MVC5App.Models { public class RDSContext : DbContext { public RDSContext() : base(GetRDSConnectionString()) { } public static RDSContext Create() { return new RDSContext(); } } }