

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用して Amazon RDS for Microsoft SQL Server の Windows 認証を設定する AWS Managed Microsoft AD
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad"></a>

*Ramesh Babu Donti (Amazon Web Services)*

## 概要
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-summary"></a>

このパターンは、 AWS Directory Service for Microsoft Active Directory () を使用して SQL Server インスタンスの Amazon Relational Database Service (Amazon RDS) の Windows 認証を設定する方法を示していますAWS Managed Microsoft AD。Windows 認証を使用すると、ユーザーはデータベース固有のユーザー名とパスワードではなく、ドメイン認証情報を使用して RDS インスタンスに接続できるようになります。

Windows 認証を有効にするには、新しい RDS SQL Server データベースの作成時に設定するか、または既存のデータベースインスタンスに Windows 認証を追加します。データベースインスタンスは と統合 AWS Managed Microsoft AD され、SQL Server データベースにアクセスするドメインユーザーに一元的な認証と認可を提供します。

このように設定することで、既存の Active Directory インフラストラクチャを生かしてセキュリティが強化され、ドメインユーザーの個別のデータベース認証情報を管理する必要がなくなります。

## 前提条件と制限
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-prereqs"></a>

**前提条件**
+ 適切なアクセス許可 AWS アカウント を持つアクティブな
+ 以下を含む仮想プライベートクラウド (VPC):
  + 設定済みのインターネットゲートウェイとルートテーブル
  + パブリックサブネットの NAT ゲートウェイ (インターネットアクセスが必要なインスタンスの場合)
+ AWS Identity and Access Management (IAM) ロール:
  + 次の AWS 管理ポリシーを持つドメインロール。
    + `AmazonSSMManagedInstanceCore` を有効にするには AWS Systems Manager
    + インスタンスをディレクトリに結合するアクセス許可を付与するための `AmazonSSMDirectoryServiceAccess`
  + RDS 拡張モニタリングロール (拡張モニタリングが有効になっている場合)
+ セキュリティグループ:
  + Active Directory 通信ポートを許可するディレクトリサービスセキュリティグループ
  + RDP `3389` とドメイン通信を許可する Amazon Elastic Compute Cloud (Amazon EC2) セキュリティグループ
  + 許可されたソースからの SQL Server ポート `1433` を許可する RDS セキュリティグループ
+ ネットワーク接続:
  + サブネット間の DNS 解決とネットワーク接続が適切であること

**制限事項**
+ RDS for SQL Server AWS Managed Microsoft AD で AWS リージョン をサポートする方法については、[「リージョンとバージョンの可用性](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html#USER_SQLServerWinAuth.RegionVersionAvailability)」を参照してください。
+ 一部の AWS のサービス は、すべてで利用できるわけではありません AWS リージョン。利用可能なリージョンについては、「[AWS のサービス (リージョン別)](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)」を参照してください。特定のエンドポイントについては、「[サービスエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)」ページを参照して、サービスのリンクを選択します。

## アーキテクチャ
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-architecture"></a>

**ソーステクノロジースタック**
+ オンプレミス Active Directory または AWS Managed Microsoft AD

**ターゲットテクノロジースタック**
+ Amazon EC2
+ Amazon RDS for Microsoft SQL Server
+ AWS Managed Microsoft AD

**ターゲットアーキテクチャ**

![](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/e02f6059-6631-46f6-819c-5961af7ba4ae/images/1aa50e3b-b4f6-4d44-9f9e-6cbb248a159c.png)


このアーキテクチャには、以下の項目が含まれます。
+ Amazon EC2 インスタンスを AWS Managed Microsoft AD ドメインに結合する IAM ロール。
+ データベースの管理とテスト用の Amazon EC2 Windows インスタンス
+ アベイラビリティーゾーン間で Amazon RDS インスタンスと内部リソースをホストするプライベートサブネットを持つ Amazon VPC
+ ネットワークアクセス制御のためのセキュリティグループ:
  + 許可されたソースからの SQL Server ポート `1433` へのインバウンドアクセスを制御する Amazon RDS セキュリティグループ
  + ポート `3389` とドメインの通信ポートを介して RDP アクセスを管理する Amazon EC2 セキュリティグループ
  + ポート `53`、`88`、`389`、`445` を介した Active Directory 通信用の Directory Services セキュリティグループ
+ AWS Managed Microsoft AD は、Windows リソースに一元化された認証および認可サービスを提供します。
+ Windows 認証が有効になっているプライベートサブネット内の Amazon RDS for SQL Server データベースインスタンス

## ツール
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-tools"></a>

**AWS のサービス**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
+ Amazon Relational Database Service (Amazon RDS) を使用して、 AWS クラウドでリレーショナルデータベースをセットアップ、運用、スケーリングできます。
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) には、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Relational Database Service (Amazon RDS) for SQL Server、Amazon FSx for Windows File Server AWS のサービス など、他の で Microsoft Active Directory (AD) を使用する複数の方法が用意されています。
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) は、ディレクトリ対応のワークロードと AWS リソースが で Microsoft Active Directory を使用できるようにします AWS クラウド。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) は、誰を認証し、誰に使用を認可するかを制御することで、 AWS リソースへのアクセスを安全に管理するのに役立ちます。

**その他のサービス**
+ [Microsoft SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms) は、SQL Server コンポーネントへのアクセス、設定、管理など、SQL Server を管理するためのツールです。

## ベストプラクティス
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-best-practices"></a>
+ 一般的なベストプラクティスについては、「[Amazon RDS のベストプラクティス](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html)」を参照してください。

## エピック
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-epics"></a>

### 設定 AWS Managed Microsoft AD
<a name="configure-managed-ad"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ディレクトリタイプの設定 | 1. から AWS マネジメントコンソール、 に移動します**AWS Directory Service**。<br />2. **[ディレクトリの設定]** を選択します。<br />3. ディレクトリタイプに **AWS Managed Microsoft AD** を選択します。<br />4. **新しい AWS マネージド AD ドメインの作成** を選択し、次**へ** を選択します。 | DBA、DevOps エンジニア | 
| ディレクトリ情報の設定 | **[ディレクトリ情報]** セクションで、必要な情報を入力し、オプションの値を保持します。1. **[エディション]** で、要件を満たすエディションを選択します。<br />2. **[ディレクトリ DNS 名]** に、完全修飾ドメイン名 (FQDN) を入力します。<br />3. **[管理者パスワード]** で、管理者アカウントのパスワードを設定し、**[次へ]** を選択します。 | DBA、DevOps エンジニア | 
| VPC とサブネットの設定 | 1. **ネットワーキング**で、ターゲット VPC を選択します (少なくとも 2 つのサブネットを個別に設定する必要があります AWS アベイラビリティーゾーン)。<br />2. **[ネットワークタイプ]** で、**[IPv4 のみ]** を選択します。<br />3. **サブネット**で、2 つのプライベートサブネットを個別に選択し AWS アベイラビリティーゾーン、次**へ**を選択します。 | DBA、DevOps エンジニア | 
| ディレクトリを確認して作成する | 1. それぞれの設定値を確認し、**[ディレクトリを作成]** を選択します。<br />2. ディレクトリステータスが **[アクティブ]** に変わるまで待ちます。 | DBA、DevOps エンジニア | 

### Amazon EC2 インスタンスを作成して設定する
<a name="create-and-configure-an-ec2-instance"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Windows 用の AMI の設定 | 1. から AWS マネジメントコンソール、**EC2** に移動します。<br />2. **[インスタンスを起動]** を選択します。<br />3. **[名前とタグ]** に、名前と該当するすべてのタグを入力します。<br />4. 要件を満たす Windows Server 用の Amazon マシンイメージ (AMI) を選択します。<br />5. **[インスタンスタイプ]** で、適切なサイズのタイプを選択します。<br />6. **[キーペア (ログイン)]** で、既存のキーペアを選択するか、新しいキーペアを作成します。 | DBA、DevOps エンジニア | 
| ネットワーク設定の指定 | 1. **[ネットワーク設定]** で、 AWS Directory Serviceに使用されているものと同じ VPC を選択します。<br />2. プライベートサブネットを選択します。<br />3. **[ファイアウォール (セキュリティグループ)]** で、RDP ポート `3389` とドメインの通信を許可するグループを作成します。 | DBA、DevOps エンジニア | 
| ストレージの設定 | 必要に応じて Amazon EBS ボリュームを設定します。 | DBA、DevOps エンジニア | 
| 高度な詳細を設定し、インスタンスを起動する | 1. **[高度な詳細]** セクションを展開します。<br />2. **ドメイン結合ディレクトリ**で、以前に作成した を選択します AWS Managed Microsoft AD。<br />3. **[IAM インスタンスプロファイル]** で、ポリシー `AmazonSSMManagedInstanceCore` と `AmazonSSMDirectoryServiceAccess` を持つロールを選択します。<br />4. すべての設定値を確認し、**[インスタンスを起動]** を選択します。 | DBA、DevOps エンジニア | 

### Windows 認証を使用した RDS for SQL Server の作成と設定
<a name="create-and-configure-rds-for-sql-server-with-windows-authentication"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| データベースを作成し、エンジンオプションを設定する | 1. Aurora および RDS コンソールに移動し、**[データベースの作成]** を選択します。<br />2. **[エンジンオプション]** で、**[Microsoft SQL Server]** を選択します。<br />3. **[データベース管理のタイプ]** で、**[Amazon RDS]** を選択します。<br />4. **[エディション]** で、要件を満たす SQL Server を選択します。<br />5. **[エンジンバージョン]** で、サポートされている最新バージョンを選択します。 | DBA、DevOps エンジニア | 
| テンプレートの選択 | 要件を満たすサンプルテンプレートを選択します。 | DBA、DevOps エンジニア | 
| データベース設定の指定 | 1. **[設定]** セクションの **[DB インスタンス識別子]** で、一意の名前を入力します。<br />2. **[マスターユーザー名]** で、管理者の認証情報を設定します。<br />3. (オプション) **[認証情報管理]** で、**[ AWS Secrets Managerで管理]** または **[セルフマネージド]** を選択します。 | DBA、DevOps エンジニア | 
| インスタンスの設定 | **[インスタンス設定]** セクションの **[DB インスタンスクラス]** で、要件を満たすインスタンスサイズを選択します。 | DBA、DevOps エンジニア | 
| ストレージの設定 | 1. **[ストレージ]** セクションの **[ストレージタイプ]** で、要件を満たすタイプを選択します。**gp3**、**io1**、または **io2** のいずれかをお勧めします。<br />2. 必要に応じて、**[ストレージ割り当て]**、**[プロビジョンド IOPS]**、**[ストレージスループット]** の初期値を設定します。<br />3. (オプション) **[追加のストレージ設定]** セクションを展開し、**[ストレージの自動スケーリングを有効にする]** を選択します。 | DBA、DevOps エンジニア | 
| 接続の設定 | 1. **[接続]** セクションで、データベースのコンピューティングリソースへの接続を設定するかどうかを選択します。<br />2. **VPC** の場合は、 と同じ VPC を選択します AWS Directory Service。<br />3. **[DB サブネットグループ]** で、複数のアベイラビリティーゾーンにまたがるグループを選択します。<br />4. [パブリックアクセス] で **[いいえ]** を選択します。<br />5. **VPC セキュリティグループ (ファイアウォール)** の場合は、既存のグループを選択するか、SQL Server ポート `1433` を介したアクセスを許可する新しいグループを作成します。<br />6. 任意のアベイラビリティーゾーンを選択します。<br />7. **[追加設定]** セクションを展開し、カスタムデータベースポートを使用するかどうかを選択します。 | DBA、DevOps エンジニア | 
| Windows 認証の設定 | 1. **[Microsoft SQL Server Windows 認証]** セクションで、**[Microsoft SQL Server Windows 認証を有効にする]** チェックボックスをオンにします。<br />2. **[Windows 認証タイプ]** で、**[AWS Managed Microsoft AD]** を選択します。<br />3. **[ディレクトリ]** で **[ディレクトリを参照]** を選択し、**[AWS Managed Microsoft AD]** を選択します。 | DBA、DevOps エンジニア | 
| モニタリングの設定 | 1. **[モニタリング]** セクションで、標準または高度なデータベースインサイトを選択します。<br />2. **[Performance Insights]** で、**[Performance Insights を有効にする]** チェックボックスをオンにします。<br />3. 保持期間と AWS KMS キーを選択します。<br />4. **[その他のモニタリング設定]** で、**[拡張モニタリング]** チェックボックスをオンにします。<br />5. (オプション) **[ログのエクスポート]** で、**[エラーログ]** チェックボックスをオンにします。注意: さまざまなプロセスまたはスレッドが CPU をどのように使用しているかを確認するには、各種メトリクスが役立ちます。**[エラーログ]** が有効になっている場合は、エラーログを Amazon CloudWatch にエクスポートすることもできます。 | DBA、DevOps エンジニア | 
| その他の設定 | 1. **[追加設定]** セクションを展開します。<br />2. **[DB パラメータグループ]** と **[DB オプショングループ]** で、デフォルト値またはカスタム値を選択します。<br />3. 任意のタイムゾーンを設定します。<br />4. **[照合]** の値を設定します。デフォルトは `SQL_Latin1_General_CP1_CI_AS` です。<br />5. [バックアップ] で、以下を設定します。**[自動バックアップを有効にする]** チェックボックスをオンにします。これにより、データベーススナップショットが作成されます。**[バックアップの保持期間]** で、必要な日数を選択します。**[バックアップウィンドウ]** で、必要な値を選択します。**[バックアップレプリケーション]** で、**[別の AWS リージョンでレプリケーションを有効化]** を選択します。**暗号化を有効にする**チェックボックスをオンにして、 を使用してインスタンスを暗号化します AWS KMS。<br />6. **[メンテナンスウィンドウ]** で、**[ウィンドウの選択]** チェックボックスをオンにし、希望の時間を設定します。<br />7. **[削除保護を有効化]** チェックボックスをオンにします。 | DBA、DevOps エンジニア | 
| コストを確認してデータベースを作成する | **[月額コストの見積もり]** セクションを確認し、**[データベースの作成]** を選択します。 | DBA、DevOps エンジニア | 

### データベースアクセスとテスト接続を設定する
<a name="configure-database-access-and-test-connections"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Windows マシンへの接続 | Windows マシンに接続し、SQL Server Management Studio を起動します。1. RDP を使用して AWS Managed Microsoft AD 認証情報を使用して Windows マシンに接続する<br />2. **[スタート]** メニューで、「SSMS」と入力して **SSMS** を起動し、**SQL Server Management Studio** を選択します。 | DBA、DevOps エンジニア | 
| SSMS 接続の設定 | Windows 認証を使用してデータベース接続を設定します。1. **[サーバーに接続する]** ダイアログボックスが表示されたら (または **[オブジェクトエクスプローラー]**、**[接続]**、**[データベースエンジン]** に移動)、**[サーバータイプ]** を **[データベースエンジン]** に設定します。<br />2. RDS SQL Server エンドポイント (例: `your-rds-instance.region.rds.amazonaws.com`) を入力します。<br />3. **[Windows 認証]** を選択します。 | DBA、DevOps エンジニア | 
| セキュリティ設定の指定 | SSMS バージョン 20 以降に必要なセキュリティパラメータを設定します。1. **[接続プロパティ]** タブで、**[暗号化]** を **[必須]** に設定します。<br />2. [サーバー証明書を信頼する] チェックボックスをオンにします。<br />3. **[証明書のホスト名]** フィールドは空白のままにします。<br />4. (オプション) データベース名を設定し、必要に応じて接続タイムアウトを調整します。 | DBA、DevOps エンジニア | 
| Windows ログインの作成 | 1. ドメインユーザーの Windows 認証を設定してテストします。<br />2. **[接続]** を選択して接続を確立します。<br />3. クエリウィンドウで、次のコマンドを実行します。<pre>CREATE LOGIN [<domainName>\<user_name>] FROM WINDOWS;<br />GO</pre> | DBA、DevOps エンジニア | 
| Windows 認証をテストする | 1. Amazon EC2 インスタンスからログアウトします。<br />2. ドメイン認証情報を使用して、EC2 インスタンスに再度ログインします。<br />3. SSMS を起動します。<br />4. Windows 認証を使用して接続します。<br />5. 接続に成功したかどうかを確認します。 | DBA、DevOps エンジニア | 

## 関連リソース
<a name="configure-windows-authentication-for-amazon-rds-using-microsoft-ad-resources"></a>
+ [の作成 AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html)
+ [Amazon EC2 Windows インスタンスを に結合する AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html)
+ [Amazon RDS での Kerberos 認証でサポートされているリージョンと DB エンジン](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDS_Fea_Regions_DB-eng.Feature.KerberosAuthentication.html)
+ [What is SQL Server Management Studio (SSMS)?](https://learn.microsoft.com/en-us/ssms/sql-server-management-studio-ssms)