Amazon RDS Custom for SQL Server の DB に関する問題のトラブルシューティング
RDS Custom の責任共有モデルは、OS シェルレベルのアクセスとデータベース管理者アクセスを提供します。RDS Custom は、システムアカウントでリソースを実行する Amazon RDS とは異なり、アカウント内でリソースを実行します。アクセスが増えるほど、責任も重くなります。以降のセクションで、Amazon RDS Custom for SQL Server DB インスタンスに関する問題のトラブルシューティング方法を学ぶことができます。
注記
このセクションでは RDS Custom for SQL Server DB をトラブルシューティングする方法について説明します。RDS Custom for Oracle に関するトラブルシューティングについては、「Amazon RDS Custom for Oracle の DB に関する問題のトラブルシューティング」を参照してください。
トピック
RDS Custom イベントの表示
イベントを表示する手順は、RDS Custom とAmazon RDS DB インスタンスでは同じです。詳細については、「Amazon RDS イベントの表示」を参照してください。
AWS CLIを使用してRDS Custom イベント通知を表示するには、describe-events
コマンドを使用します。RDS Custom では、いくつかの新しいイベントを導入しています。イベントカテゴリは Amazon RDS の場合と同じです。イベントのリストについては、 の Amazon RDS イベントカテゴリとイベントメッセージを参照してください。
次の例では、指定した RDS Custom DB インスタンスで発生したイベントの詳細を取得します。
aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance
RDS Custom イベントへのサブスクライブ
イベント受信の手順は、RDS Custom とAmazon RDS DB インスタンスでは同じです。詳細については、「Amazon RDS イベント通知にサブスクライブする」を参照してください。
CLI を使用して RDS Custom イベント通知をサブスクライブするには、create-event-subscription
コマンドを使用します。以下の必須パラメータを含めます。
-
--subscription-name
-
--sns-topic-arn
次の例では、現在のAWSアカウントのRDS Custom DB インスタンスのバックアップおよびリカバリイベントの受信を作成します。通知は、--sns-topic-arn
で指定されたAmazon Simple Notification Service (Amazon SNS) のトピックに送信されます。
aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events
RDS Custom for SQL Server の CEV エラーのトラブルシューティング
CEV を作成しようとすると、エラーが発生する可能性があります。この場合、RDS Custom では RDS-EVENT-0198
イベントメッセージを発行します。RDS イベントの表示の詳細については、「 の Amazon RDS イベントカテゴリとイベントメッセージ」を参照してください。
以下の情報を参考にして、考えられる原因に対処します。
メッセージ | トラブルシューティングの推奨事項 |
---|---|
|
AMI から作成した EC2 インスタンスで Sysprep を実行します。Sysprep を使用して AMI を準備する方法の詳細については、「Sysprep を使用して標準化された Amazon マシンイメージ (AMI) を作成する」を参照してください。 |
|
作成に使用したアカウントとプロファイルに、選択した AMI の |
|
|
|
AMI が同じお客様のアカウントに存在することを確認します。 |
|
AMI の名前が正しくありません。正しい AMI ID が提供されていることを確認します。 |
|
Windows Server with SQL Server Enterprise、Standard、または Web エディションを備えた、サポートされている AMI を選択します。EC2 Marketplace から、以下のいずれかの使用オペレーションコードの AMI を選択してください。
|
|
サポートされている SQL Server のエディションを含む AMI を使用してください。詳細については、「RDS Custom for SQL Server CEV のバージョンサポート」を参照してください。 |
|
Classic RDS Custom for SQL Server エンジンはサポートされていません。例えば、バージョン 15.00.4073.23.v1 などです。サポートされているバージョン番号を使用してください。 |
|
オペレーションを完了するには、CEV が |
|
ターゲット CEV は無効です。有効なアップグレードパスの要件を確認してください。 |
|
必要な CEV 命名規則に従ってください。詳細については、「RDS Custom for SQL Server CEV の一般的な要件」を参照してください。 |
|
サポートされていない DB エンジンバージョンが提供されました。サポートされている DB エンジンのバージョンを使用してください。 |
|
x86_64 アーキテクチャで構築された AMI を使用してください。 |
|
権限がある AMI から EC2 インスタンスを作成します。EC2 インスタンスで Sysprep を実行して、ベースイメージを作成して保存します。 |
|
Windows プラットフォームで構築された AMI を使用してください。 |
|
EBS デバイスタイプで AMI を作成します。 |
|
Windows Server with SQL Server Enterprise、Standard、または Web エディションを備えた、サポートされている AMI を選択します。EC2 Marketplace から、以下のいずれかの使用オペレーションコードの AMI を選択してください。
|
|
AMI が |
|
サポートされている Windows OS を使用してください。 |
|
ログファイルが |
|
OS ビルドバージョンが最低でも 14393 の AMI を使用してください。 |
|
OS のメジャーバージョンが 10.0 以降の AMI を使用してください。 |
RDS Custom for SQL Server DB でサポートされていない構成の修正
共有責任モデルであるため、RDS Custom for SQL Server DB インスタンスをunsupported-configuration
状態にする設定上の問題は、お客様の責任で解決していただく必要があります。問題がAWSインフラストラクチャであれば、コンソールやAWS CLIを使用して修正できます。OSまたはデータベースの設定に問題がある場合は、ホストにログインして修正できます。
注記
このセクションでは RDS Custom for SQL Server でサポートされていない構成を修正する方法について説明します。RDS Custom for Oracle の詳細については、「RDS Custom for Oracle でサポートされていない構成の修正」を参照してください。
次の表では、サポートペリメーターが送信する通知とイベント、その修正方法について説明します。これらの通知とサポートペリメーターは変更されることがあります。サポート周辺の背景については、「RDS Custom サポート範囲」を参照してください。イベントの説明については、「 の Amazon RDS イベントカテゴリとイベントメッセージ」を参照してください。
イベントコード | 設定領域 | RDS イベントメッセージ | 検証プロセス |
---|---|---|---|
|
サポートされていない手動設定 |
|
この問題を解決するには、サポートケースを作成します。 |
AWS リソース (インフラストラクチャ) | |||
|
EC2 インスタンスのステータス |
|
DB インスタンスのステータスを確認するには、コンソールを使用するか、次の AWS CLI コマンドを実行します。
|
|
EC2 インスタンスのステータス |
|
DB インスタンスのステータスを確認するには、次の AWS CLI コマンドを使用します。
EC2 インスタンスのステータスは EC2 コンソールで確認できます。 DB インスタンスを起動するには、コンソールを使用するか、次の AWS CLI コマンドを実行します。
|
|
EC2 インスタンスクラス |
|
次の CLI コマンドを使用して、期待される DB インスタンスクラスを確認します。
|
|
EBS ストレージボリュームにアクセスできない |
|
|
|
EBS ストレージボリュームがデタッチされている |
|
EBS ボリュームを再アタッチしたら、次の CLI コマンドを使用して、EBS ボリューム「volume-id」が RDS インスタンスに適切にアタッチされているかどうかを確認します。
|
|
EBS ストレージボリュームサイズ |
|
次の CLI コマンドを使用して、EBS ボリューム「volume-id」の詳細と RDS インスタンスの詳細のボリュームサイズを比較します。
次の CLI コマンドを使用して、実際に割り当てられたボリュームサイズを表示します。
|
|
EBS ストレージボリュームの設定 |
|
次の CLI コマンドを使用して、EBS ボリューム「volume-id」の詳細と RDS インスタンスの詳細のボリュームタイプを比較します。EBS レベルの値が RDS レベルの値と一致していることを確認します。
RDS レベルでストレージスループットの想定値を取得するには:
RDS レベルでボリューム IOPS の想定値を取得するには:
EC2 レベルで現在のストレージタイプを取得するには:
EC2 レベルでストレージスループットの現在の値を取得するには:
EC2 レベルでボリューム IOPS の現在の値を取得するには:
|
|
EBS ストレージボリュームのサイズと設定 |
|
次の CLI コマンドを使用して、EBS ボリューム「volume-id」の詳細と RDS インスタンスの詳細のボリュームタイプを比較します。EBS レベルの値が RDS レベルの値と一致していることを確認します。
RDS レベルでストレージスループットの想定値を取得するには:
RDS レベルでボリューム IOPS の想定値を取得するには:
EC2 レベルで現在のストレージタイプを取得するには:
EC2 レベルでストレージスループットの現在の値を取得するには:
EC2 レベルでボリューム IOPS の現在の値を取得するには:
想定される割り当て済みボリュームサイズを取得するには:
割り当てられた実際のボリュームサイズを取得するには:
|
|
SQS アクセス許可 |
|
|
|
SQS VPC エンドポイント |
|
|
オペレーティングシステム | |||
|
SQL サービスステータス |
|
|
|
RDS Custom エージェントステータス |
|
|
|
SQS アクセス許可 |
|
|
|
SQS VPC エンドポイント |
|
|
オペレーティングシステム | |||
|
SQL サービスステータス |
|
|
|
RDS Custom エージェントステータス |
|
ホストにログインし、RDS Custom エージェントが実行されていることを確認します。 エージェントステータスを表示するには、次のコマンドを使用します。
ステータスが
エージェントが起動できない場合は、Windows イベントをチェックして、起動できない理由を確認します。エージェントでは、Windows ユーザーがサービスを起動する必要があります。Windows ユーザーが存在し、サービスを実行する権限があることを確認します。 |
|
SSM エージェントステータス |
|
詳細については、「SSM Agent のトラブルシューティング」を参照してください。 SSM エンドポイントのトラブルシューティングについては、「Unable to connect to SSM endpoints」および「Use ssm-cli to troubleshoot managed node availability」を参照してください。 |
|
RDS Custom エージェントログイン |
|
|
|
タイムゾーン |
|
詳細については、「RDS Custom for SQL Server DB インスタンスのローカルタイムゾーン」を参照してください。 |
|
高可用性ソフトウェアソリューションバージョン |
|
|
|
高可用性ソフトウェアソリューションの設定 |
|
|
データベース | |||
|
SQL Server 共有メモリプロトコル |
|
これを検証するには、[SQL Server Configuration Manager] > [SQL Server Network Configuration] > [Protocols for MSSQLSERVER] > [Shared Memory] が有効になっていることを確認します。プロトコルを有効にしてから、SQL Server プロセスを再起動します。 |
|
サービスマスターキー |
|
|
|
サービスマスターキー |
|
|
|
DB エンジンのバージョンとエディション |
|
次のクエリを実行して、SQL バージョンを取得します。
次の AWS CLI コマンドを実行して、RDS SQL エンジンのバージョンとエディションを取得します。
詳細については、「RDS Custom for SQL Server DB インスタンスの変更」および「DB インスタンスのエンジンバージョンのアップグレード」を参照してください。 |
|
DB エンジンのエディション |
|
次のクエリを実行して、SQL エディションを取得します。
次の AWS CLI コマンドを実行して、RDS SQL エンジンのエディションを取得します。
|
|
DB エンジンのバージョン |
|
次のクエリを実行して、SQL バージョンを取得します。
次の AWS CLI コマンドを実行して、RDS SQL エンジンのバージョンを取得します。
詳細については、「RDS Custom for SQL Server DB インスタンスの変更」および「DB インスタンスのエンジンバージョンのアップグレード」を参照してください。 |
|
データベースファイルの場所 |
|
次のクエリを実行して、デフォルトパスにないデータベースファイルの場所を一覧表示します。
|
RDS Custom for SQL Server の Storage-Full
に関するトラブルシューティング
RDS Custom は、RDS Custom for SQL Server DB インスタンスのルート (C:) ボリュームとデータ (D:) ボリュームの両方で利用できるスペースをモニタリングします。いずれかのボリュームで利用できるディスク容量が 500 MiB 未満の場合、RDS Custom はインスタンスの状態を Storage-Full
ステータスに変更します。インスタンスのストレージをスケールするには、「RDS Custom for SQL Server DB インスタンスのストレージの変更」を参照してください。
注記
Storage-Full
のインスタンスは、ストレージのスケーリング後に解決されるまで最長 30 分かかる場合があります。
RDS Custom for SQL Server の TDE が有効なデータベースの PENDING_RECOVERY 状態のトラブルシューティング
自動復号で問題が発生した場合、透過的データ暗号化 (TDE) が有効になっている SQL Server データベースは PENDING_RECOVERY
状態のままになることがあります。これは通常、復元の完了前にアカウントの RDS Custom マネージド S3 バケットに保存されているソース DB インスタンスサービスマスターキー (SMK) バックアップファイルが削除された場合に、DB インスタンスの復元後に発生します。
自動復号を有効にして TDE が有効なデータベースをオンラインにするには、パスワードでデータベースマスターキー (DMK) を開き、SMK を使用して DMK を暗号化する必要があります。
以下の SQL Server コマンドを参照してください。
-- Identify PENDING_RECOVERY TDE databases USE MASTER; GO SELECT name, is_encrypted, state_desc FROM sys.databases; GO -- Open DMK using password OPEN MASTER KEY DECRYPTION BY PASSWORD = '<password>'; GO -- Encrypt DMK using SMK ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; GO -- Close SMK CLOSE MASTER KEY; GO -- Bring the TDE databases online ALTER DATABASE <database_name> SET ONLINE; GO -- Verify TDE databases are now in ONLINE state SELECT name, is_encrypted, state_desc FROM sys.databases; GO