翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
. アプリケーション環境に Amazon RDS DB NETインスタンスを追加する
このトピックでは、Elastic Beanstalk コンソールRDSを使用して Amazon を作成する手順について説明します。Amazon Relational Database Service (Amazon RDS) DB インスタンスを使用して、アプリケーションによって収集および変更されたデータを保存できます。データベースを環境に結合して Elastic Beanstalk で管理することも、分離したものとして作成して別のサービスで外部的に管理することもできます。これらの手順では、データベースは環境に結合され、Elastic Beanstalk によって管理されます。Amazon RDSと Elastic Beanstalk の統合の詳細については、「」を参照してくださいElastic Beanstalk 環境にデータベースを追加する。
環境に DB インスタンスを追加
お客様の環境に DB インスタンスを追加するには
Elastic Beanstalk コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。
注記
環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。
ナビゲーションペインで、[設定] を選択します。
-
[データベース] 設定カテゴリで、[編集] を選択します。
-
DB エンジンを選択して、ユーザー名とパスワードを入力します。
-
ページの最下部で [適用] を選択し変更を保存します。
DB インスタンスの追加には約 10 分かかります。環境の更新が完了すると、DB インスタンスのホスト名とその他の接続情報は以下の環境プロパティを通じてアプリケーションに使用できるようになります。
プロパティ名 | 説明 | プロパティ値 |
---|---|---|
|
DB インスタンスのホスト名。 |
Amazon RDSコンソールの接続とセキュリティタブ: エンドポイント 。 |
|
DB インスタンスが接続を許可するポート。デフォルト値は DB エンジンによって異なります。 |
Amazon RDSコンソールの接続とセキュリティタブ: ポート 。 |
|
データベース名 |
Amazon RDSコンソールの設定タブ: DB 名 。 |
|
お客様のデータベース用に設定したユーザー名。 |
Amazon RDSコンソールの設定タブで、マスターユーザー名 。 |
|
お客様のデータベース用に設定したパスワード。 |
Amazon RDSコンソールでは参照できません。 |
Elastic Beanstalk 環境と結合したデータベースインスタンスの設定の詳細については、「Elastic Beanstalk 環境にデータベースを追加する」を参照してください。
ドライバのダウンロード
EntityFramework
を使用して開発環境用の NuGet
パッケージとデータベースドライバをダウンロードしてインストールします。
の一般的なエンティティフレームワークデータベースプロバイダー。NET
-
SQL サーバー –
Microsoft.EntityFrameworkCore.SqlServer
-
MySQL –
Pomelo.EntityFrameworkCore.MySql
-
PostgreSQL –
Npgsql.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();
}
}
}