トランザクションの一貫性と分離を確保するために、ApsaraDB RDS for SQL Serverインスタンスの分散トランザクションホワイトリストを設定できます。 RDSインスタンスの分散トランザクションホワイトリストを設定して、特定のECS (Elastic Compute Service) インスタンスとRDSインスタンス間の分散トランザクションを許可できます。 次に、ECSインスタンスのセキュリティグループルールを調整して、ECSインスタンスのネットワーク設定がRDSインスタンスのホワイトリスト設定と一致するようにします。 これにより、安全で安定した分散トランザクション環境を構築し、トランザクションの一貫性の問題のトラブルシューティングを容易にします。
前提条件
RDSインスタンスは次の要件を満たしています。
RDSインスタンスは、SQL Server 2022 EE (常時オン) 、SQL Server 2019 EE (常時オン) 、SQL Server 2017 EE (常時オン) 、SQL Server 2016 EE、 SQL Server 2012 EE, SQL Server 2022 SE, SQL Server 2019 SE, SQL Server 2017 SE, SQL Server 2016 SE, SQL Server 2012 SE、またはSQL Server 2008 R2とクラウドディスク。
RDSインスタンスは、汎用または専用インスタンスファミリーに属しています。 共有インスタンスファミリーはサポートされていません。
RDSインスタンスは、サブスクリプションまたは従量課金の課金方法を使用します。 サーバーレスインスタンスはサポートされていません。
RDSインスタンスの 基本情報 ページに移動して、上記の情報を取得できます。
RDSインスタンスの設定
手順1: ホワイトリストの設定
RDSインスタンスのホワイトリストを設定して、特定のECSインスタンスのIPアドレスからRDSインスタンスへのアクセスを許可します。
ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。
左側のナビゲーションウィンドウで、ホワイトリストとセキュリティグループ をクリックします。 表示されるページの [ホワイトリスト設定] タブで、
[デフォルト]
というラベルの付いたIPアドレスホワイトリストの右側にある [変更] をクリックし、ECSインスタンスのIPアドレスをホワイトリストに追加します。説明ECSインスタンスとRDSインスタンスが同じ仮想プライベートクラウド (VPC) にある場合、ECSインスタンスのプライベートIPアドレスを入力する必要があります。
ECSインスタンスとRDSインスタンスが異なるVPCにある場合、ECSインスタンスのパブリックIPアドレスを入力する必要があります。 さらに、RDSインスタンスのパブリックエンドポイントを申請する必要があります。 詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
ECSコンソールのECSインスタンスの [インスタンスの詳細] ページで、ECSインスタンスのプライベートまたはパブリックIPアドレスを確認できます。 詳細については、「IPアドレスの表示」をご参照ください。
次の図は、ECSインスタンスのIPアドレスを表示するページを示しています。
OK をクリックします。
手順2: 分散トランザクションのホワイトリストの設定
分散トランザクションホワイトリストを設定して、RDSインスタンスの分散トランザクションの処理に参加できるECSインスタンスをコンピューター名で指定します。
左側のナビゲーションウィンドウで、セキュリティコントロール をクリックします。 表示されるページで、分散トランザクションのホワイトリスト タブをクリックします。
ホワイトリストグループの追加 をクリックします。 表示されるダイアログボックスで、次のパラメーターを設定し、OK をクリックします。
パラメーター
説明
グループ名:
ホワイトリストの名前を入力します。 名前は2 ~ 32文字である必要があります。 名前には、数字、小文字、およびアンダースコア (_) を使用できます。 アカウント名は、小文字で始まり、小文字または数字で終わる必要があります。
IP アドレス
ECSインスタンスのIPアドレス、ホスト名
の形式で値を入力します。 IPアドレスとホスト名はコンマ (,) で区切ります。 ホスト名は、ECSインスタンスが存在するWindowsコンピューターの名前を指します。 例:192.168.1.100、k3ecstest
複数のエントリを入力する場合は、各エントリが異なる行にあることを確認してください。Hostnameパラメーターで指定されたコンピューター名を表示するには、コンピューターの [コントロールパネル] を開き、
を選択します。
ECSインスタンスの設定
指定されたECSインスタンスのセキュリティグループルールを調整し、必要なポートを有効にして、ECSインスタンスのネットワーク設定がRDSインスタンスのホワイトリスト設定と一致するようにします。 これにより、安全な分散トランザクション環境を構築できます。
ECS コンソールにログインします。
左側のナビゲーションペインで
を選択します。上部のナビゲーションバーで、ECSインスタンスが存在するリージョンを選択します。
ECSインスタンスを検索し、インスタンスIDをクリックします。
上部のナビゲーションバーで、[セキュリティグループ] をクリックします。
管理するセキュリティグループを見つけて、[操作] 列の [ルールの管理] をクリックします。
[インバウンド] タブで、[ルールの追加] をクリックします。
必要なパラメーターを設定し、[保存] をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
Action
[許可する] を選択します。
優先度
デフォルト値を1のままにします。
プロトコルタイプ
[カスタムTCP] を選択します。
ポート範囲
135 を入力します。
説明ポート135は、リモートプロシージャコール (RPC) サービスの固定ポートです。
権限付与オブジェクト
[権限オブジェクト] フィールドにRDSインスタンスの2つのIPアドレスを入力します。 これらのIPアドレスは、[データセキュリティ] ページの [分散トランザクションホワイトリスト] タブで確認できます。 IPアドレスは、RDSインスタンスがデプロイされている基になるECSインスタンスのIPアドレスです。
説明DescribeDBInstanceIpHostname操作を呼び出して、IPアドレスを照会することもできます。
説明
説明を入力します。 説明の長さは2〜256文字である必要があります。先頭文字列を
http://
またはhttps://
にすることはできません。別のセキュリティグループルールを作成します。 このルールには、[ポート範囲] パラメーターを除いて、前のルールと同じパラメーター設定があります。 ポート範囲パラメーターを1024/65535に設定します。
関連ドキュメント
関連するベストプラクティスの詳細については、「Kingdee K/3 WISEをApsaraDB RDS For SQL Serverインスタンスに接続する」をご参照ください。
ホワイトリストの設定方法の詳細については、「IPアドレスホワイトリストの設定」をご参照ください。
セキュリティグループの条件、制限、およびベストプラクティスの詳細については、「概要」をご参照ください。