ApsaraDB for RDS

プロダクト紹介

RDSとは

ApsaraDB for RDS (リレーショナルデータベースサービス) は、安定性と信頼性の高い、自動スケーリングのオンラインデータベースサービスです。 Alibaba Cloud の分散ファイルシステムと高性能 SSD ストレージに基づいて、RDS は MySQL、SQL Server、PostgreSQL、および PPAS (Oracle と互換性の高い) エンジンをサポートします。 データベースの運用保守に関する心配から解放するために、バックアップ、リカバリ、監視、移行、ディザスタリカバリのための完全なソリューションセットを提供します。

RDS for MySQL

MySQL は世界で最も人気のあるオープンソースデータベースです。LAMP、オープンソースソフトウェア (Linux + Apache + MySQL + Perl/PHP/Python) の組み合わせの重要な部分として、MySQL はさまざまなアプリケーションで広く使われています。
Web 2.0 時代には、MySQL は人気のある BBS ソフトウェアシステムとブログプラットフォーム WordPress のアーキテクチャの基盤として機能します。Web 3.0 時代には、Alibaba、Facebook、Google などの大手インターネット企業は、MySQL の柔軟性を利用して大規模な成熟したデータベースクラスタを構築しています。
Alibaba の MySQL ソースコードブランチに基づいて、RDS for MySQL は優れたパフォーマンスとスループットを持つことが証明されています。 11 月 11 日 (シングルスデー) の多くのショッピングフェスティバルでの大量のデータトラフィックと多数の同時ユーザーに耐えることができます。RDS for MySQL は、最適化された読み取り/書き込み分離、データ圧縮、およびインテリジェントな最適化を含む、さまざまな高度な機能が提供されています。
RDS for MySQL は現在、バージョン 5.5、5.6、5.7 がサポートされています。

RDS for SQL Server

SQL Server は最初の商用データベースの 1 つで、Windows プラットフォーム (IIS + NET + SQL Server) の重要な部分で、幅広いエンタープライズアプリケーションがサポートされています。SQL Server Management Studio ソフトウェアには、一連のビルトイングラフィックツールとスクリプトエディタが付属しています。 視覚的なインターフェースを介して、さまざまなデータベース操作をすぐに始めることができます。
高可用性アーキテクチャと、いつでもリカバリ可能な機能を備えた RDS for SQL Server で、さまざまなエンタープライズアプリケーションが強力にサポートされます。 マイクロソフトのライセンス料も含まれています。
現在、RDS for SQL Server は以下のバージョンがサポートされています。

  • SQL Server 2008 R2 Enterprise
  • SQL Server 2012 Web、Standard、Enterprise
  • SQL Server 2016 Web、Standard、Enterprise
  • SQL Server 2017 Enterprise

RDS for PostgreSQL

PostgreSQL は世界最先端のオープンソースデータベースです。 学術的なリレーショナルデータベース管理システムの先駆けとして、PostgreSQL は SQL 仕様に完全に準拠し、ほとんどの商用データベースではサポートされていない JSON、IP、および幾何データなどの多様なデータフォーマットを強力にサポートします。
トランザクション、サブクエリ、MVCC (Multi-Version Concurrency Control)、データの整合性チェックなどの機能に対する優れたサポートに加えて、RDS for PostgreSQL は、高可用性、バックアップ、リカバリなど、一連の重要な機能を統合して運転保守の負担を軽減します。
RDS for PostgreSQL は現在バージョン 9.4 と 10 をサポートしています。

RDS for PPAS

Postgres Plus Advanced Server (PPAS) は、安全で安定したスケーラブルなエンタープライズレベルのリレーショナルデータベースです。 PPAS は、PostgreSQL をベースにしており、パフォーマンス、アプリケーションソリューション、および互換性などの機能強化を実現しています。 また、Oracle アプリケーションを直接実行する機能を提供します。 これは、さまざまなエンタープライズアプリケーションを実行するための信頼性が高く費用対効果の高いオプションです。
RDS for PPAS では、アカウント管理、リソースの監視、バックアップ、リカバリ、およびセキュリティ管理などの機能が提供されており、それが更新され、改善され続けています。
RDS for PPAS は現在バージョン 10 がサポートされています。

利点

安さと使いやすさ

シンプルな展開

アリババクラウドの公式ウェブサイトまたは API を介して RDS 仕様をカスタマイズすることができます。注文が確認された後、 RDS は即座に指定されたインスタンスを生成します。 RDS は、アプリケーションの応答時間を短縮し、通信費を節約するために ECS を扱うことができます。

オンデマンドアップグレード

最初は、既存のビジネス要件を満たしている RDS インスタンスを購入することができます。場合は、データベースとデータ・ストレージ容量の変更の要件は、柔軟にサービスの中断せずにインスタンス仕様を調整することができます。

楽な移行

RDS を使用すると、 RDS 管理への既存の知識とスキルを転送できることを意味し、ネイティブデータベースエンジンと同様に使用されます。データは、必要な最小限の人件費と商用オフザシェルフデータのインポートおよびエクスポートツールを使用して RDS に移行することができます。

管理のしやすさ

アリババクラウドは、そのようなハードウェア/ソフトウェアの障害処理およびデータベースアップデートパッチとして、定期的なメンテナンスや管理を通じて RDS の正常な動作を保証する責任があります。独立してアリババクラウドコンソールでのデータベースの追加、削除、再起動、バックアップ、リカバリ、およびその他の管理操作を実行することができます。

ハイパフォーマンス

パラメータの最適化

Alibaba Cloud は、中国のトップデータベース専門家から重要な意見を集め、すべての RDS インスタンスのパフォーマンスデータを集約することによって、生産および最適化における長年の経験を蓄積してきました。 DBA は、RDS が最適なパフォーマンスで稼働していることを確認するために、ライフサイクル全体にわたって RDS を継続的に管理します。

SQL の最適化

アプリケーションのシナリオに基づいて、RDSは効率の悪い SQL 文をロックし、ビジネスコードを最適化するための推奨事項を提示します。

ハイエンドのバックエンドハードウェア

RDS が使用するすべてのサーバーは、卓越したパフォーマンスと安定性を保証するために複数の関係者によって評価されています。

高信頼性

ホットスタンバイ

RDS はホットスタンバイアーキテクチャを採用しています。 マスターサーバーに障害が発生した場合、サービスは数秒でフェイルオーバーします。フェイルオーバープロセスはすべて、アプリケーションに対して透過的です。

マルチコピー冗長性

ApsaraDB for RDS サーバー上のデータは RAID に保存され、OSS にバックアップされます。

データバックアップ

ApsaraDB for RDS では、自動バックアップメカニズムが提供されています。 バックアップスケジュールを設定したり、一時バックアップを開始したりできます。

データリカバリ

バックアップセットまたは特定の時点を選択してデータをリカバリできます。 通常、過去 7 日間の任意の時点からクローンまたは一時インスタンスにデータを回復することができます。 データが検証されたら、データをマスター RDS インスタンスに移行することができます。

高度なセキュリティ

アンチDDoS保護

RDS インスタンスがインターネットからアクセスできるように設定されている場合、インスタンスに DDoS 攻撃が発生する可能性があります。DDoS 攻撃が検出された場合、RDS セキュリティシステムはトラフィックを最初に有効にします。トラフィックのクリーニングが失敗した場合、または攻撃がブラックホールスレッシュホールドに達した場合、ブラックホールフィルタリングがトリガーされます。

DDoS 攻撃を避けるために、イントラネット上で RDS インスタンスにアクセスすることを推奨します。

アクセス制御ポリシー
  • RDS にアクセスできる IP アドレスを定義できます。他の IP アドレスは RDS にアクセスできません。
  • 各アカウントは、独自のデータベースのみを表示および操作できます。
システムセキュリティ
  • ApsaraDB for RDS は、さまざまな悪意のある攻撃を効果的にブロックし、データセキュリティを保証する複数のファイアウォールレイヤーによって保護されています。
  • ApsaraDB for RDS サーバーへの直接ログオンは許可されていません。特定のデータベースサービスに必要なポートだけがオープンされています。
  • ApsaraDB for RDS サーバーは外部接続を開始できません。アクセス要求のみを受け入れることができます。
プロフェッショナルセキュリティチーム

Alibaba Cloud のセキュリティチームは、RDS の迅速なセキュリティ技術サポートを提供します。

ApsaraDB for RDS とローカルデータベースの比較

性能比較
項目 ApsaraDB for RDS ローカルデータベース
サービスの可用性 99.95% 手動でマスタースレーブレプリケーションと RAID を構築する必要があります。
データの信頼性 99.9999% 手動でマスタースレーブレプリケーションと RAID を構築する必要があります。
システムセキュリティ DDoS 防御、トラフィッククリーニング、データベースの脆弱性に対する素早い修復。 高いコストをかけてデータベースを構築し、脆弱性を自分で修復する必要があります。
データベースバックアップ 自動バックアップ バックアップを独自に行うこともできますが、バックアップ用のストレージスペースを見つけ出し、バックアップデータを回復できるかどうかを定期的に検証する必要があります。
ソフトウェアとハードウェアへの投資 従量課金制またはサブスクリプションで、ソフトウェアやハードウェアへの投資は不要です。 データベースサーバーはかなり高価であり、SQL Server のライセンス料を支払う必要があります。
システムホスティング ホスティング料不要 1 台の 2 U サーバーのコストは、年間 5,000 元以上です。 (必要な場合、マスターサーバーとスレーブサーバーのコストは 1 万元以上)
メンテナンス費用 メンテナンス不要 プロのデータベース管理者を雇わなければならず、人件費が高くなります。
データベース構築とサイズ変更 即時アクティベーション、素早い構築、自動サイズ変更 ハードウェアの調達、データセンターのホスティング、ホストの構築、その他の作業が必要で、時間がかかります。
リソース利用率 実際の使用量に基づいて課金され、使用率は 100% になります。 ピーク時間とオフピーク時間があるため、リソース使用率は低くなります。

クイックスタート

データベースエンジン

MySQL 用 ApsaraDB

MySQL は世界で最も人気のあるオープンソースデータベースです。LAMP の重要な部分およびオープンソースソフトウェア (Linux + Apache + MySQL + Perl / PHP / Python) の組み合わせとして、MySQL はさまざまなアプリケーションで広く使用されています。
Web 2.0 時代には、MySQL は人気のある BBS ソフトウェアシステム Discuz! と ブログプラットフォーム WordPress の基礎となるアーキテクチャの基盤として機能します。Web 3.0 時代、Alibaba、Facebook、Google などの大手インターネット企業は、MySQL の高度な柔軟性を利用して大規模な成熟したデータベースクラスタを構築してきました。
Alibaba の MySQL ソースコードブランチに基づいて、ApsaraDB for MySQL は優れたパフォーマンスとスループットを持つことが証明されています。 11 月 11 日 (シングルスデー) の多くのショッピングフェスティバルでの大量のデータトラフィックと多数の同時ユーザーアクセスに耐えることができます。ApsaraDB for MySQL はまた、最適化された読み書きの分割、データ圧縮、およびインテリジェントな最適化を含む一連の高度な機能を提供します。
RDS for MySQL は現在、バージョン 5.5、5.6、および 5.7 をサポートしています。

ApsaraDB for SQL Server

SQL Server は最初の商用データベースの 1 つで、Windows プラットフォーム (IIS +NET + SQL Server) の重要な部分、幅広いエンタープライズアプリケーションをサポートします。SQL Server Managemen Studio ソフトウェアには、一連のビルトイングラフィックツールとスクリプトエディタが付属しています。 視覚的なインターフェイスを通じて、さまざまなデータベース操作をすぐに始めることができます。
高可用性アーキテクチャとデータ回復機能を備えた ApsaraDB for SQL Server は、さまざまなエンタープライズアプリケーションを強力にサポートします。 マイクロソフトのライセンス料も含まれています。
現在、RDS for SQL Server は以下のバージョンをサポートしています。

  • SQL Server 2008 R2 Enterprise
  • SQL Server 2012 Web, Standard, and Enterprise
  • SQL Server 2016 Web, Standard, and Enterprise

ApsaraDB for PostgreSQL

PostgreSQL は世界最先端のオープンソースデータベースです。学術的なリレーショナルデータベース管理システムとして、SQL 仕様に完全に準拠し、さまざまなデータ形式 (JSON、IP、およびほとんどの商用データベースではサポートされていない幾何学データを含む) への強力なサポートを提供します。
PostgreSQL 用 ApsaraDBは、トランザクション、サブクエリ、マルチバージョン同時実行制御 (MVCC : Multi-Version Concurrency Control) 、データの整合性検証など、さまざまな機能をサポートしています。また、O&M の負担を軽減するために、高可用性、バックアップ、リカバリなど、多数の重要な機能も統合しています。
RDS for PostgreSQL は現在バージョン 9.4 をサポートしています。

ApsaraDB for PPAS

PPAS (Postgres Plus Advanced Server) は、安定した、安全な、そしてスケーラブルなエンタープライズレベルのリレーショナルデータベースです。 PostgreSQL をベースとした PPAS は、強化されたパフォーマンス、アプリケーションソリューション、および互換性を提供し、Oracle アプリケーションを直接実行する機能を提供します。 これは、さまざまなエンタープライズアプリケーションを実行するための信頼性が高く費用対効果の高いオプションです。
ApsaraDB for PPAS には、アカウント管理、リソース監視、バックアップ、回復、およびセキュリティ管理など、多数の高度な機能が組み込まれており、定期的に更新および改善され続けています。
RDS for PPAS は現在バージョン 9.3 をサポートしています。

ユーザーガイド

はじめに

概要

ApsaraDB for Relational Database Service (RDS) は、自動スケーリング機能を備えた安定した信頼性の高いオンラインデータベースサービスです。 Apsara 分散ファイルシステムと高性能 SDD ストレージに基づいて、RDS は MySQL、SQL Server、PostgreSQL、および PPAS エンジンをサポートし、ディザスタリカバリ、バックアップ、復元、監視、移行などのための完全なソリューションを提供します。 これにより、データベースを運用および管理するのに役立ちます。 RDS のメリットについては、 「メリット」をご参照ください。
本ドキュメントでは、RDS の機能について説明し、 RDS コンソールを使用して RDS を設定する手順について説明します。 API と SDK を使って RDS を管理することもできます。
テクニカルアシスタントが必要な場合は、RDS コンソールを開き、[テクニカルサポート] > [新規チケット起票] をクリックしてください。

声明

本ドキュメントに記載されている一部の機能やサービスは、特定のリージョンでは利用できない場合があります。 特定の契約条件については、関連する商業契約をご参照ください。
このドキュメントはユーザーガイドとしてご利用いただけます。 このドキュメントの内容は、 保証の内容を明示、または黙示するものではありません。
この文書の内容は、製品のアップグレードおよびその他の多くの要因に基づいて更新されています。まずドキュメントのバージョンが対応するソフトウェアの最新バージョンと一致していることを確認してください。

検討事項

RDS は複数の種類のデータベースをサポートします。 本ドキュメントでは、MySQL を例としてRDS の機能と使用方法について説明します。データベースの種類によっては、特定の機能をサポートしていない場合があります。 実際の インターフェイス は多少異なる場合があります。

一般用語

  • インスタンス: 物理メモリを個別に占有するデータベースサービスプロセスを指します。 さまざまなメモリサイズ、ディスク容量、およびデータベースタイプを設定できます。その中で、メモリ仕様によってインスタンスのパフォーマンスが決まります。 インスタンスが作成された後は、いつでも設定を変更してインスタンスを削除できます。
  • データベース: インスタンス内に作成された論理ユニット。 インスタンスには複数のデータベースを作成でき、データベース名はインスタンス内で一意です。
  • リージョンとゾーン: リージョンは物理的なデータセンターです。 ゾーンは、リージョン内に電力とネットワークが互いに独立している物理的なエリアです。

一般的な規則

  • ローカルデータベース/ソースデータベース
    ローカル機器室に配置されたデータベース、またはApsaraDB にないデータベースを指します。 ほとんどの場合、このドキュメントで ApsaraDB に移行されるソースデータベースを指します。
  • XX 用 RDS (MySQL、SQL Server、PostgreSQL、PPAS)
    これは、特定のデータベースタイプの RDS を示します。たとえば、RDS for MySQL は、データベースタイプが MySQL の RDS で有効になっているインスタンスを意味します。

データの移行

mysqldump を使用して MySQL データを移行

mysqldump を使って MySQL データを移行します。 mysqldump のデメリットは、サービス停止時間が長いことです。 データ量が少ない場合、またはサービス停止時間が長くなっても許される場合には、mysqldump を使用します。

背景情報

RDS と MySQL に完全な互換性があるため、ローカルデータベースから RDS インスタンスへの移行手順は、MySQL サーバーから他の MySQL サーバーへデータを移行する場合と同じです。

前提条件
  • ホワイトリストを設定し、インターネット IP アドレスを適用し、RDS インスタンス用のデータベースとアカウントを作成しておきます。
  • ECS インスタンスが作成されています。
手順

データの移行を始める前に、ローカルデータベースに移行アカウントを作成し、そのデータベースの読み取り書き込み権限をアカウントに付与します。

  1. ローカルデータベースに移行アカウントを作成します。
    1. CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    パラメーターの説明
    • "username":作成するアカウントを示します。
    • "host":アカウントを使用してデータベースにログインするホストを示します。 ローカルユーザーとして localhost を使ってデータベースへログインすることができます。 その他のホストからログインする場合、ワイルドカード % を使用します。
    • ”password":アカウントのログインパスワードを示します。
    次の例では、ユーザー名 "William" とパスワード ”Changeme123" を使って説明します。どのホストからでもローカルデータベースへログインできます。
    1. CREATE USER 'William'@'%' IDENTIFIED BY 'Changme123';
  2. ローカルデータベースの移行アカウントに権限を付与します。
    1. GRANT SELECT ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
    2. GRANT REPLICATION SLAVE ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
    パラメーターの説明:
    • "privileges":アカウントの操作権限 (SELECT、INSERT、UPDATE) アカウントにすべての権限を付与する場合は、ALL を使用します。
    • "databasename":データベース名 アカウントにすべてのデータベース権限を付与する場合は、ワイルドカード "*" を使用します。
    • "tablename":テーブル名 アカウントにすべてのテーブル権限を付与する場合は、ワイルドカード "*" を使用します。
    • "username":権限を付与するアカウント名を示します。
    • "host":データベースへログインを承認されているホストを示します。 ローカルユーザーとして local host を使ってデータベースへログインすることができます。 任意のホストからログインする場合は、ワイルドカード % を使用します。
    • "WITH GRANT OPTION":アカウントが GRANT コマンドを使用できるようにするオプションパラメータです。
    次の例では、すべてのデータベースおよびテーブル権限を付与されたアカウント William を使って説明します。
    1. GRANT ALL ON *.* TO 'William'@'%';
  3. mysqldump のデータエクスポートツールを使って、データベースにあるデータをデータファイルとしてエクスポートします。

    注:データのエクスポート中は、データを更新しないでください。 この手順では、ストアドプロシージャ、トリガー、および関数を除くデータのみをエクスポートします。

    1. mysqldump -h localIp -u userName -p --opt --default-character-set=utf8 --hex-blob dbName --skip-triggers > /tmp/dbName.sql
    パラメーターの説明:
    • "localIp":ローカルデータベースサーバーの IP アドレス
    • "userName":ローカルデータベースの移行アカウント
    • "dbName":移行するデータベースの名前
    • "/tmp/dbName.sql":バックアップファイル名
  4. mysqldump を使ってストアドプロシージャ、トリガー、関数をエクスポートします。

    注:データベース内でストアドプロシージャ、トリガー、関数を使用していない場合は、この手順を省略できます。 RDS との互換性を保つために、ストアドプロシージャ、トリガー、関数をエクスポートする場合は、"definer" を削除する必要があります。

    1. mysqldump -h localIp -u userName -p --opt --default-character-set=utf8 --hex-blob dbName -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/triggerProcedure.sql
    パラメーター の説明:
    • "localIp":ローカルデータベースサーバーの IP アドレス
    • "userName":ローカルデータベースの移行アカウント
    • "dbName":移行するデータベースの名前
    • "/tmp/triggerProcedure.sql":バックアップファイル名
  5. ECS へデータファイルやストアドプロシージャをアップロードします。
    この文書の例では、次のパスへのファイルのアップロード方法について説明しています。
    1. /tmp/dbName.sql
    2. /tmp/triggerProcedure.sql
  6. ECS へログインし、対象 RDS へデータファイルとプロシージャファイルをインポートします。
    1. mysql -h intranet4example.mysql.rds.aliyuncs.com –u userName -p dbName < /tmp/dbName.sql
    2. mysql -h intranet4example.mysql.rds.aliyuncs.com -u userName -p dbName < /tmp/triggerProcedure.sql
    パラメーターの説明:
    • "intranet4example.mysql.rds.aliyuncs.com": RDS インスタンスの接続アドレス イントラネット IP アドレスを例として使用されます。
    • "userName":RDS データベースの移行アカウント
    • "dbName":インポートするデータベースの名前
    • "/tmp/dbName.sql":インポートするデータファイルの名前
    • "/tmp/triggerProcedure.sql":インポートするストアドプロシージャファイルの名前

データの移行

ローカルデータを RDS へ移行

ローカルデータベースのデータを ApsaraDB にインポートして、サービスを円滑に移行できます。データのインポート方法は、RDS の種類によって異なります。

ログ管理

MySQL 5.7 を除くすべてのインスタンスバージョンはログ管理をサポートしています。 RDS コンソールまたは SQL をコマンド使用して、エラーログやスローSQLログの詳細を照会し、障害の分析ができます。 ただし、SQL Server 2012 以降のインスタンスでは、SQL コマンドを使ってのみのログを管理できます。 この文書では、RDS コンソールと SQL コマンドを介してログを管理する方法について説明します。

RDS コンソールを使用してログを管理する

RDS コンソールを使用して、MySQL 5.5 および 5.6、SQL Server 2008 R2、PostgreSQL、および PPAS インスタンスのログを管理できます。 実際のインターフェイス はエンジンの種類やバージョンによって異なります。

手順

  1. RDS コンソールにログインします。
  2. ターゲットインスタンスのリージョンを選択します。
  3. インスタンスの ID をクリックして、[基本情報] ページに移動します。
  4. 左側のナビゲーションウィンドウで [ログの管理] をクリックします。
  5. [ログの管理] ページで、[エラーログ]、[スロー SQL ログの詳細]、[スロー SQL ログの概要] または [ログの切り替え] を選択します。時間範囲を選択して、[照会] をクリックします。
    • エラーログ
      過去 1 か月間で実行に失敗した SQL コマンドを記録します。
    • スロー SQL ログの詳細
      • 前月 1 秒以上持続した SQL コマンドを記録します (この時間のしきい値は、 [パラメーター] のlong_query_time パラメーターで変更できます) 。 類似の SQL ステートメントは 1 回だけ表示されます。
      • このリストには、過去 2 時間のスロー SQL ログは含まれていません。 これらのログを照会するには、MySQL データベース内の slow_log_view テーブルで確認します。
    • スロー SQL ログの概要
      前月 1 秒以上持続した SQL 文の統計および分析レポートを提供します(この時間のしきい値は、 [パラメーター] のlong_query_time パラメーターで変更できます)。

SQL コマンドを使用してログを管理する

SQL Server 2012 以降のバージョンのインスタンスは sp_rds_read_error_logsストレージプロシージャからのみエラーログを読み取ります。 使用方法は、sp_readerrorlog を使う方法と似ています。

例 1:
  1. EXEC sp_rds_read_error_logs
例 2:
  1. EXEC sp_rds_read_error_logs 0,1 ,'error'