Amazon Web Services ブログ

Category: RDS for SQL Server

Amazon RDS for SQL Server での Microsoft SQL Server Integration Services の使用

Microsoft SQL Server Integration Services (SSIS) を Amazon Relational Database Service (RDS) for SQL Server 上で定義できるようになりました。SSIS は、シングル AZ およびマルチ AZ の DB インスタンスにおいて Standard および Enterprise のエディションで機能します。使える SQL Server は、2016 もしくは 2017 の メジャーバージョンです。 従来も、RDS for SQL Server を SSIS のターゲットソースとして使用できましたが、SSIS を RDS for SQL Server データベース自体と同じサーバー上で動作させることはできませんでした。現在でも SSIS は Amazon Elastic Compute Cloud (Amazon EC2) […]

Read More

ドメイン参加済みの Amazon RDS for SQL Server インスタンスに対する分散トランザクションサポートの有効化

 Amazon Relational Database Service (RDS) for SQL Server が Microsoft 分散トランザクションコーディネータ (MSDTC) を使用した分散トランザクションをサポートするようになりました。MSDTC を使用することで、RDS for SQL Server DB インスタンスが関与する分散トランザクションを実行することができます。この記事では、Amazon RDS for SQL Server 使用時に、AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) を使って分散トランザクションを実行する最も一般的な方法について説明します。 ソリューションの概要 この記事では、3 つの主要用語が使用されています。 分散トランザクション – 2 台以上のネットワークコンピュータシステムにあるデータを更新するトランザクションです。分散トランザクションは、分散データを更新する必要があるアプリケーションにトランザクションのメリットを提供します。 トランザクションマネージャー – アトミックトランザクションの結果の管理と分散に対する責任を担います。トランザクションマネージャーは、ルートトランザクションマネージャー、または特定のトランザクションに対する下位トランザクションマネージャーのどちらかになります。 リソースマネージャー – アトミックトランザクションの結果とのリソース状態の調整に対する責任を担います。指定されたトランザクションについて、リソースマネージャーはひとつのトランザクションマネージャーのみと連携し、トランザクション結果の表明と最終結果の取得を行います。 このソリューションには、以下のステップが含まれます。 パラメータグループの設定。 オプショングループの設定。 Amazon RDS for […]

Read More

Amazon RDS for SQL Server で Microsoft SQL Server Analysis Services を設定する

Amazon RDS for SQL Server の表形式モデルで Microsoft SQL Server Analysis Services (SSAS) を設定できるようになりました。SSAS は、2016 年または 2017 年の SQL Server メジャーバージョンを使用して、Standard エディションと Enterprise エディションのどちらのシングル AZ 設定でも動作します。 SSAS を Amazon EC2 で実行する場合、SSAS を Amazon RDS for SQL Server で直接サポートし、それらのワークロードを統合して SQL Server データベースと同じ RDS DB インスタンスで実行することで、コストを節約できます。ただし、統合する場合は、パフォーマンスへの影響を考慮する必要があります。 オンライン分析処理 (OLAP) ソリューションは、オンザフライ処理の量を最小限に抑えることで、データウェアハウスやその他のリレーショナルデータベースを強化し、高速で効果的な分析とレポートを行えます。これは主に、分析を実行する前に、ディメンションと階層の幅広い組み合わせを前処理して保存することで実現しています。 SSAS は、エンタープライズレベルの OLAP ソリューションを開発するための Microsoft のビジネスインテリジェンスツールです。SSAS は、最適化された分析クエリと計算に加えて、Excel、Power BI、SQL Server […]

Read More

2019 年にリリースされた Amazon RDS および Aurora 機能のまとめ

Amazon Relational Database Service (Amazon RDS) で、クラウド内でのリレーショナルデータベースのセットアップ、運用、およびスケーリングが簡単になります。費用効果が高く、容量のサイズ変更も可能です。同時に、ハードウェアのプロビジョニング、データベースのセットアップ、パッチの適用、バックアップといった時間を費やす管理作業を自動化します。そのため、お客様はアプリケーションの開発に集中でき、アプリケーションが必要とする高速な性能、高可用性、セキュリティ、さらに互換性の実現に取り組むことができます。 セルフマネージドデータベースをマネージドデータベースサービスに移行することは新しいスタンダードで、当社は Amazon RDS に矢継ぎ早に機能を追加し続けています。2019 年は忙しい年でした。そこで、さまざまなデータベースエンジンにかけて導入された機能をまとめてみましょう。 Amazon RDS は、10 年以上前の 2009 年 10 月に初めてリリースされました。 Amazon RDS for MySQL からすべてが始まりました。それ以来、合計 7 つのデータベースエンジンオプションに対応するまでになりました。その 7 つとは、Amazon Aurora MySQL、Amazon Aurora PostgreSQL、PostgreSQL、MySQL、MariaDB、Oracle Database、および Microsoft SQL Server です。 2019 年に、Amazon RDS と Aurora データベースエンジン全体で 100 を超える機能をリリースしました。過去の記事をおさらいしたい方は、2018 年のまとめと 2017 年のまとめをご覧ください。まず、データベースの戦略と運用に最大の影響を与えると考えられる、各データベースエンジンと主要なリリースについて説明します。次に、2019 年にリリースしたすべての機能を便宜上分類して以下に列記します。 新しいインスタンスタイプ、リージョン、バージョン – さまざまなデータベースデプロイオプションを提供 管理性 – […]

Read More

Amazon RDS for SQL Server でリージョン内リードレプリカを使用する

Amazon RDS for SQL Server は、リージョン内のリードレプリカをサポートするようになりました。これにより、読み取りワークロードをプライマリデータベースインスタンスからレプリカにオフロードできます。リードレプリカは内蔵の分散型可用性グループ機能を使用しており、Enterprise Edition でご利用いただけます。分散型可用性グループは、2 つの別個の可用性グループにまたがる可用性グループです。分散型可用性グループのメンバーは、それ自体が可用性グループです。Amazon RDS は、このアーキテクチャに、ドメインに依存しない Windows Server Failover Cluster (WSFC) を使用します。この記事では、リードレプリカのアーキテクチャ、リードレプリカの作成方法、およびそれをモニタリングする方法について説明します。 リードレプリカは、SQL Server 2016 Service Pack 2 Cumulative Update 3 (13.00.5216.0.v1) 以降のマルチ AZ 設定の Enterprise Edition でサポートされています。 リードレプリカのマルチ AZ 設定 リードレプリカのマルチ AZ 設定では、プライマリ DB インスタンスでコミットされたトランザクションは、高可用性を目的として同期的にセカンダリレプリカにレプリケートされ、読み取りのスケールアウトのためにリードレプリカに非同期的に送信されます。リードレプリカには、プライマリ DB インスタンスからのほぼリアルタイムのデータが含まれており、それらを使用して、読み取り専用ワークロードをプライマリ DB インスタンスからオフロードできます。そのワークロードには、たとえば、データ更新のレイテンシーをある程度許容できる分析タイプまたはレポートタイプのクエリがあります。さらに、リードレプリカをプライマリまたはセカンダリ DB インスタンスとは異なるアベイラビリティーゾーンでウォームスタンバイソリューションとして使用でき、ビジネスニーズに基づいてレプリカをシングル AZ インスタンスに昇格できます。Transparent Data Encryption (TDE) または AWS KMS […]

Read More

最終のご案内: 3月5日までに Amazon RDS / Aurora / DocumentDB のSSL/TLS証明書を更新してください

Amazon Relational Database Service (RDS)、Amazon Aurora、または Amazon DocumentDB をご使用中のお客様で、データベースインスタンスにSSL/TLS接続している方は、2020年3月5日までにSSL/TLS証明書を更新してください。実行しなかった場合、SSL/TLSでのデータベース接続ができなくなります。

Read More

Amazon RDS Under the Hood: Multi-AZ

Amazon Web Services (AWS)のお客様はデータストアと、そのデータストアの高可用性にお客様のビジネスを委ねています。そのようなお客様に向けて、Multi-AZ配置は高可用性を実現する方法を容易に提供します。 Amazon Relational Database Service (Amazon RDS)でMulti-AZを有効にすることで、データの冗長かつ一貫した状態を維持します。もし、primaryデータベースサーバに問題が発生した場合は、standbyデータベースサーバに自動的に変更しデータへアクセスし続けられるようにします。2つのデータのコピーはそれぞれ別のAvailability Zones (AZs)内で管理されています(そのため、Multi-AZと呼ばれています)。別々のAvailability Zones を持つことで、両方のデータが同時に障害に見舞われるリスクを軽減させています。データの適切な管理、簡単な再構成、およびコピーへの信頼できるユーザーアクセスは、顧客環境が要求する高可用性要件に対処するための鍵です。 この投稿では、MySQL、MariaDB、PostgreSQL、およびOracleデータベースインスタンスのAmazon RDS Multi-AZ設定について説明します。Amazon RDS for SQL ServerおよびAmazon Auroraは、異なるテクノロジースタックを使用してマルチAZ機能を提供します。 基本デザイン Mult-AZ機能はデータベースアプリケーションとAmazon Elastic Block Store(Amazon EBS)ボリュームの間にあるレプリケーションレイヤーを使用して実装されています。このレイヤーは、アプリケーションの読み取りおよび書き込み要求を処理し、2つの個別のEBSボリュームコピーがある環境に適用されます。1つはローカルアクセス、もう1つはリモートアクセスです。 通常時は、レプリケーションレイヤーがインストールされた、2つのアクティブなAmazon EC2インスタンスがあります。 各インスタンスは、データの完全なコピーが行われているEBSボリュームを管理しています。この構成により、2つのインスタンスとそのボリュームがMulti-AZデータベースインスタンスとして稼働しています。 レプリケーションレイヤーは、TCP接続を介して互いに直接通信を行っています。 各インスタンスには特定のロールが割り当てられます。1つはプライマリであり、ユーザーがデータにアクセスするための外部エンドポイントを提供します。もう1つはスタンバイであり、プライマリから受信するすべてのデータを同期的に書き込むセカンダリインスタンスとして機能します。データベースの書き込みは、正常応答が呼び出し側アプリケーションに送り返される前に、データが両方のボリュームに適切に書き込まれます。ただし、読み取り操作は常にプライマリEBSボリュームを介して実行されます。データベースサーバープロセスは、スタンバイインスタンスで実行されていないため外部エンドポイントは公開されません。そのため、ユーザーはstandbyデータベースインスタンス上のデータのコピーは使用できません。 可用性を向上させるためにMulti-AZは、インスタンスの1つがプライマリロールにあることを一貫して保証し、データのコピーへのアクセスを提供します。もし可用性の問題が発生した場合、スタンバイインスタンスを自動的にプライマリロールに昇格させ、リダイレクトによって可用性を復元させます。 このイベントは、フェイルオーバーと呼ばれます。旧プライマリがまだ稼働している場合、スタンバイロールに降格されます。 新しいプライマリインスタンスへのリダイレクトは、DNSを介して提供されます。クライアントDNSクエリの結果に含まれるレコードのTTLは非常に短くなっています。アドレス情報の長期間のキャッシングを禁止することを目的としています。これにより、クライアントはフェールオーバープロセスで情報をより早く更新し、DNSリダイレクトの変更をより迅速に取得します。 以下の図が正常時のMulti-AZインスタンスの状態を示しています。 Figure 1: Multi-AZ instance データベースアプリケーション(黄色で表示されるDB APP)は、DNS)オレンジ色で表示)使用して、データへのアクセスを提供している現在の外部エンドポイントのアドレス情報を取得します。 このマルチAZインスタンスには2つのRDS DBインスタンスがあります。プライマリインスタンス(左側に緑色で表示)とスタンバイインスタンス)右側に青色で表示)です。この例では、DNSはアプリケーションをプライマリインスタンスEC2#1に向けており、Availability Zone#1で利用可能なEBS#1のプライマリコピーを提供しています。2つのEC2インスタンスの複製レイヤーが接続されています。アプリケーションが発行する書き込み操作は、2番目のインスタンスへの書き込みにもなります(パスは灰色で表示)。 レプリケーションレイヤーは、それ自体の可視性が制限されているため、より詳細な決定を下すことができません。たとえば、クライアントからの接続問題、ローカルまたはregionの停止、または予期せずサイレントな状態になったEC2ピアの状態などを知るすべがありません。このため、2つのインスタンスは、より重要な情報にアクセスし、インスタンスのステータスを定期的に監視する外部システムによって監視および管理されています。必要に応じて、管理システムは、可用性とパフォーマンスの要件が満たされてるためのアクションを実行します。 Multi-AZが提供する可用性と耐久性の改善は、最小限のパフォーマンスコストで実現しています。通常の使用例では、レプリケーションレイヤーが接続され、スタンバイEBSボリュームへの同期書き込み操作が発生します。スタンバイインスタンスとボリュームは、地理的に離れた個別のAvailability Zoneに配置されています。評価では、データベースのコミットへのオーバーヘッドが2ミリ秒から5ミリ秒増加していることが示されています。ただし、実際の使用例に対する実際の影響は、ワークフローに大きく依存します。ほとんどのお客様のMulti-AZインスタンスは、影響があったとしてもパフォーマンスにわずかな影響を示します。 この設計により、AWSはお客様のデータに対して99.95%の可用性を超えるサービスレベルアグリーメント(SLA)を提供しております。詳細については、Amazon RDSサービスレベルアグリーメントをご覧ください。 実装について ボリューム複製機能の設計は単純で簡単だと思われるかもしれません。しかし、実際の実装はかなり複雑です。これは、絶えず変化し、時には大きく変動する環境内で、2つのネットワークで接続された個別のインスタンスおよびボリュームが遭遇する可能性があるすべての事象を考慮する必要があるためです。 通常の進行中のレプリケーションは、すべてが適切に機能し、正常に動作していることを前提としています。EC2インスタンスが利用可能で、通常のインスタンス監視が機能し、EBSボリュームが利用可能で、ネットワークが期待どおりに動作しています。しかし、これらのピースの1つ以上が誤動作しているとどうなるでしょうか? 発生する可能性のある問題とその対処方法を見てみましょう。 […]

Read More

RDS SQL Server での SQLAgentOperatorRole の活用

SQL Server DBA およびユーザーは、SQL Server インスタンスでジョブをスケジュールするために SQL Server エージェントを長い間使用してきました。これは、スケジュールに従って、アドホックベースで、またはイベントに応じてジョブを起動できる便利なツールです。SQL Server エージェントは常に Amazon Relational Database Service (Amazon RDS) でサポートされていますが、権限が制限されています。たとえば、RDS マスターユーザーでも SQL Server Management Studio (SSMS) ユーザーインターフェイスを使用して、インスタンスでスケジュールされたすべてのジョブを確認することはできません。最近の RDS の変更により、より多くの権限がマスターユーザーに付与されており、上記の制限はなくなりました。このブログでは、権限への変更と、新しい権限をシームレスに使用する方法について説明します。 新しい SQL Server エージェントの権限 RDS SQL Server は、Enterprise、Standard、および Web エディションで SQL Server エージェントをサポートしています。RDS SQL Server インスタンスのマスターユーザーは、デフォルトで SQLAgentUserRole に追加されます。マスターユーザーは他のユーザーを SQLAgentUserRole に追加することもでき、このロールの一部であるすべてのユーザーは SQL エージェントジョブを作成できます。ジョブを作成したユーザーだけが、そのジョブを表示、有効化、無効化、編集、実行、開始、および停止できます。これは一部のユースケースでは十分ですが、このレベルのアクセスでは不十分なユースケースもあります。たとえば、メンテナンスジョブが個々のユーザーアカウントを使用して作成されるデータベース管理者 (DBA) のチームでは、ジョブを作成した DBA が多忙なときは別の DBA がジョブを開始することがあります。この要件やその他の要件に対処するため、2019 […]

Read More

Amazon RDS for Microsoft SQL Server で、クロスアカウントのネイティブバックアップおよびリストアを設定する

Amazon Relational Database Service (Amazon RDS) は、Microsoft SQL Server データベースのネイティブバックアップおよびリストアをサポートしています。複数の AWS アカウントがある場合、Amazon RDS インスタンスと Amazon Simple Storage Service (Amazon S3) バケットが同じ AWS リージョンにあれば、これらのアカウント間でネイティブバックアップおよびリストアを実行することができます。これらの手順を進める前に、この要件を理解しておくことが重要です。 この記事では、Amazon RDS for SQL Server でクロスアカウントのネイティブバックアップおよびリストアを実行するために必要なアクセス許可とポリシーを設定する方法について説明します。この手順では、これらのリソースを含む以下の AWS アカウントがあることを前提としています。 アカウント A – Amazon RDS for SQL Server インスタンス アカウント B – Amazon S3 バケット すべての設定は、S3 バケットが存在するアカウント B で行う必要があります。アカウント B で以下の作業を行います。 IAM ポリシーを作成する。 ロールを作成し、信頼ポリシーを設定する。 […]

Read More

新しい Database Migration Playbook が公開されました—Microsoft SQL Server から Amazon Aurora MySQL への移行

このプレイブックは、AWS Schema Conversion Tool の自動変換機能に焦点を当て、自動変換プロセスの制限事項に対する代替方法について説明します。SQL Server と Aurora MySQL の違い、非互換性、類似点を中心に説明し、幅広い種類のトピックを網羅しています。そうしたトピックとしては、T-SQL、構成、高可用性と災害対策 (HADR)、インデックス作成、管理、パフォーマンスチューニング、セキュリティ、物理ストレージなどが含まれます。

Read More