ApsaraDB for MongoDB は、Apsara 分散オペレーティングシステムおよび高信頼性ストレージエンジンに基づいて開発されており、MongoDB プロトコルとの互換性があります。 ApsaraDB for MongoDB では、マルチノードアーキテクチャを使用して高可用性を確保し、さらに、柔軟なスケーリング、ディザスタリカバリ、バックアップと復元、およびパフォーマンスの最適化をサポートします。
ApsaraDB for MongoDB は、ユーザーデータを保護するための、以下のトピックで説明する機能を含むさまざまなセキュリティ強化機能を備えています。
ネットワーク: ApsaraDB for MongoDB インスタンスのホワイトリストまたは ECS セキュリティグループの設定、ApsaraDB for MongoDB インスタンスのネットワークタイプの切り替え 、ApsaraDB for MongoDBインスタンスのSSL暗号化の設定
ストレージ: ApsaraDB for MongoDBインスタンスのTDEの設定 、ApsaraDB for MongoDB インスタンスの自動バックアップ設定、ApsaraDB for MongoDB インスタンスの手動バックアップ
ディザスタリカバリ: 別のゾーンへのインスタンスの移行、マルチゾーンレプリカセットインスタンスの作成、マルチゾーンシャードクラスタインスタンスの作成
アクセス制御
データベースアカウント認証と IP ホワイトリストを使用してアクセス制御を実装し、ApsaraDB for MongoDB のデータセキュリティを保護します。
データベースアカウント
ApsaraDB for MongoDB インスタンスにログインするには、ユーザー名とパスワードによる認証を行う必要があります。
ApsaraDB for MongoDBインスタンスが作成されると、デフォルトで初期ルートアカウントが作成されます。 インスタンスの作成時に root アカウントのパスワードを指定するか、またはインスタンス作成後にパスワードをリセットすることができます。 パスワードの指定方法の詳細については、「 (オプション) パスワードのリセット」をご参照ください。
rootアカウントには、ApsaraDB for MongoDBインスタンスに対するすべての権限があります。 rootユーザーとしてデータベースにログインして、他のアカウントを追加、削除、または権限を付与できます。
IP ホワイトリスト
ApsaraDB for MongoDB では、ApsaraDB for MongoDB インスタンスごとに IP ホワイトリストを設定してネットワークアクセス制御を実装できます。
ApsaraDB for MongoDBインスタンスのデフォルトのホワイトリストには127.0.0.1が含まれています。これは、インスタンスにすべてのIPアドレスからアクセスできないことを示しています。 次のいずれかの方法で、IPアドレスをホワイトリストに追加できます。
コンソールの [セキュリティコントロール] ページに移動します。 詳細については、「ApsaraDB For MongoDBインスタンスのIPアドレスホワイトリストの変更」をご参照ください。
ModifySecurityIps操作を呼び出します。 詳細については、「ModifySecurityIps」をご参照ください。
ネットワーク分離
ApsaraDB for MongoDB は、仮想プライベートクラウド (VPC) とクラシックネットワークをサポートしています。 VPC はより安全性が高いため、VPC の使用を推奨します。
VPC
VPC では、ApsaraDB for MongoDB で高度なネットワークアクセス制御を実装できます。 VPC と IP アドレスのホワイトリストにより、ApsaraDB for MongoDB インスタンスのセキュリティが大幅に向上します。
VPC では、Alibaba Cloud 内で分離されたネットワーク環境を構築できます。 VPC のルートテーブル、IP アドレスおよびゲートウェイをカスタマイズすることで、リソースの競合を解決できます。
VPC とは、基盤となるネットワークプロトコルを使用してネットワークパケットを完全に分離するプライベートネットワーク環境です。 専用線または VPN を使用してデータセンターを Alibaba Cloud に接続し、VPC で ApsaraDB for MongoDB インスタンスのカスタマイズされた CIDR ブロックを使用してリソースの競合を解決できます。 お客様のデータセンターと Alibaba Cloud Elastic Compute Service (ECS) の双方から ApsaraDB for MongoDB インスタンスにアクセスできます。
VPC にデプロイされた ApsaraDB for MongoDB インスタンスには、同じ VPC 内の ECS インスタンスからのみアクセスできます。 パブリック IP アドレスを申請し、インターネットからのアクセスリクエストを許可することもできます (非推奨)。 たとえば、ECS インスタンスの Elastic IP addresses (EIP) およびお客様のデータセンターからインターネットに送信されたアクセス要求を許可できます。
パブリック IP アドレスを申請する前に、対応するホワイトリストを設定する必要があります。 ホワイトリストを設定する方法の詳細については、「ApsaraDB for MongoDBインスタンスのIPアドレスホワイトリストの変更」をご参照ください。
パブリック IP アドレスの申請方法の詳細については、「(オプション) ApsaraDB for MongoDBインスタンスのパブリックエンドポイントの申請」をご参照ください。
VPC の詳細については、「「VPC の概要」をご参照ください。」をご参照ください。
クラシックネットワーク
クラシックネットワーク内のクラウドサービスは分離されていません。 クラウドサービスへの不正アクセスは、セキュリティグループまたはホワイトリストポリシーによってのみブロックされます。 セキュリティが強化された VPC を選択することを推奨します。
データ暗号化
このトピックでは、ApsaraDB for MongoDB のデータ暗号化機能について説明します。
SSL
ApsaraDB for MongoDB では、Secure Sockets Layer (SSL) を使用できます。 サーバールート証明書を使用して、アクセス先のデータベースが ApsaraDB for MongoDB インスタンスであるかどうかを確認することにより、中間者攻撃を防ぐことができます。 ApsaraDB for MongoDB では、サーバーの SSL 証明書を有効化して更新し、データのセキュリティと有効性を確保することもできます。 SSL の設定方法の詳細については、「ApsaraDB for MongoDBインスタンスのSSL暗号化の設定」をご参照ください。
ApsaraDB for MongoDB ではアプリケーションとデータベースとの間の接続を暗号化できますが、SSL は、アプリケーションがサーバーを認証するまで正しく実行できません。 さらに、SSL は CPU リソースを余分に消費するため、ApsaraDB for MongoDB インスタンスのスループットと応答時間はある程度の影響を受けます。 具体的な影響は、ユーザー接続数とデータ転送頻度によって変わります。
TDE
ApsaraDB for MongoDB では、透過的データ暗号化 (TDE) を使用できます。 TDE は高度暗号化標準 (Advanced Encryption Standard: AES) アルゴリズムを採用しています。 TDE に使用されるキーは暗号化され、KMS で保存されます。 ApsaraDB for MongoDB は、インスタンスの起動時または移行時に 1 度だけ動的にキーを読み取ります。 Key Management Service コンソールにログインして、キーを交換することができます。
ApsaraDB for MongoDB インスタンスで TDE を有効化すると、指定したデータベースまたはコレクションのデータは暗号化後に HDD、SSD、PCIe カードなどのデバイス、または OSS などのサービスに書き込まれます。 そのため、インスタンスのデータファイルとバックアップの内容はすべて暗号化されます。 TDE の設定方法の詳細については、「ApsaraDB for MongoDBインスタンスのTDEの設定」をご参照ください。
バックアップと復元
ApsaraDB for MongoDB では、データの整合性と信頼性を確保するためにバックアップを自動的に作成できます。
Backup
データの整合性と信頼性を確保するため、データベースでは、例外が発生した場合にデータベース内のデータを確実に復元するための定期的な自動バックアップが必要です。
ApsaraDB for MongoDB では、以下のバックアップ方法を使用できます。
スナップショットを使用したバックアップ: 特定時点でのディスクデータの状態が保持されます。 この方法では、データベース内のデータを数分で復元できます。
物理的バックアップ: ApsaraDB for MongoDB インスタンスの物理データベースファイルがバックアップされます。 この方法では、論理バックアップと比較して、バックアップと復元が高速になります。
論理バックアップ: mongodump ツールを使用して、データベースの操作レコードを論理バックアップファイルに保存できます。 この方法では、復元中に再生コマンドの形式でデータを復元します。
復元
データベースの O&M の信頼性を確保する上で、データの復元性は重要です。
ApsaraDB for MongoDB では、以下の復元方法を使用できます。
バックアップポイントでバックアップデータを新しいインスタンスに復元する: この方法では、バックアップセットによってデータを新規 ApsaraDB for MongoDB インスタンスに復元します。 この方法は、データの復元と検証に最適です。
時点ごとに新しいApsaraDB for MongoDBインスタンスにバックアップデータを復元する: この方法では、ある時点までのデータを新規の ApsaraDB for MongoDB インスタンスに復元します。 この方法は、データの復元と検証に最適です。
インスタンスのデータベースを復元する :この方法では、関連付けられたバックアップを使用して、ApsaraDB for MongoDB インスタンスの 1 つ以上のデータベースを特定の時点に復元します。 この方法は、迅速なデータ復元で最適です。
参考資料
サポートされているバックアップと復元の方法は、ApsaraDB for MongoDB インスタンスの設定によって異なります。 ApsaraDB for MongoDB インスタンスでサポートされているバックアップと復元の方法の詳細については、以下のトピックをご参照ください。
インスタンスのディザスタリカバリ
ApsaraDB for MongoDB では、さまざまなディザスタリカバリソリューションを使用できます。
マルチゾーンインスタンス
Alibaba Cloud は、世界中の複数のリージョンでクラウドコンピューティングサービスを提供しています。 各リージョンには複数のゾーンが含まれています。 障害は、同一リージョン内の異なるゾーン間で分離されます。 同一リージョン内の異なるゾーン間でのネットワーク遅延は低くなります。
ApsaraDB for MongoDB シングルゾーンインスタンスは、同一ゾーン内の 2 つの物理サーバーで実行されます。 ゾーン内のラック、エアコン、回路およびネットワークはすべて冗長化され、高可用性が確保されています。 ApsaraDB for MongoDB では、非同期または準同期レプリケーションモードと効率的なプライマリ/セカンダリフェールオーバーメカニズムを使用することにより、物理サーバーの制約を超えたサービスの可用性を実現しています。
ApsaraDB for MongoDB では、シングルゾーンインスタンスよりも高い可用性を実現するマルチゾーンインスタンスもサポートされています。 マルチゾーンインスタンスは、異なるゾーンの物理サーバー上にデプロイされます。 あるゾーンに障害が発生しても、サービスを短時間で別のゾーンに切り替えることができます。 切り替えプロセスでは、アプリケーションのコードを変更する必要はありません。
インスタンスのプライマリ/セカンダリフェールオーバーをトリガする度に、インスタンスは最大 30 秒間切断される可能性があります。 この操作はオフピーク中に実行し、アプリケーションが自動的に接続を再確立できるようにしておくことを推奨します。
マルチゾーンインスタンスの作成方法の詳細については、「マルチゾーンレプリカセットインスタンスの作成」および「マルチゾーンシャードクラスタインスタンスの作成」をご参照ください。
同一リージョン内の異なるゾーンにインスタンスを移行する方法の詳細については、「別のゾーンへのインスタンスの移行」をご参照ください。
クロスリージョンディザスタリカバリ
ApsaraDB for MongoDB マルチゾーンインスタンスは、同じリージョン内の異なるゾーン間でディザスタリカバリを実現します。 可用性を向上させるため、ApsaraDB for MongoDB はクロスリージョンデータディザスタリカバリもサポートしています。 たとえば、MongoShake などのデータ同期ツールを使用して、中国 (杭州) リージョンの ApsaraDB for MongoDB インスタンス A から、中国 (上海) リージョンの ApsaraDB for MongoDB インスタンス B にデータを複製できます。 インスタンス B は、独自のエンドポイント、アカウントおよび権限を持つ自己完結型のインスタンスです。 インスタンス B を使用して、インスタンスが存在するリージョンのデータを復元し、データを読み取ることができます。
MongoShake を使用して ApsaraDB for MongoDB インスタンスデータを複製する方法の詳細については、「MongoShakeを使用したApsaraDB for MongoDBインスタンス間の一方向同期の実行」をご参照ください。
インスタンス A はプライマリインスタンスとして機能し、インスタンス B はセカンダリインスタンスとして機能します。 インスタンス A が存在するリージョンで、自然災害などの予期しない事象が原因でインスタンス A に障害が発生した場合、インスタンス B をプライマリインスタンスとして使用できます。 アプリケーションのデータベース接続設定を変更し、リクエストをインスタンス B に転送することで、クロスリージョンデータディザスタリカバリが実装されます。
クロスリージョンアクセスに関連するネットワークの不安定性と遅延を最小限に抑えるため、インスタンス A とインスタンス B に同じ地理的災害復旧アプリケーションをデプロイすることを推奨します。
インスタンス B をプライマリインスタンスとして使用する場合は、killコマンドを実行して、MongoShake サービスを無効化します。 インスタンス A からインスタンス B へのデータレプリケーションが停止し、問題の発生を防止できます。
バージョンのメンテナンス
ApsaraDB for MongoDB では、定期的に新しいバージョンのデータベースを提供され、データベースを最新バージョンへとアップグレードできます。
ApsaraDB for MongoDB では、新しいデータベースバージョンが定期的に提供されます。
データベースのアップグレードは任意です。また、ApsaraDB for MongoDB インスタンスを再起動した後でのみ開始されます。 詳細については、「インスタンスのメジャーバージョンをアップグレード」および「インスタンスのマイナーバージョンの更新」をご参照ください。
ApsaraDB for MongoDB チームが、お使いのバージョンに重大なセキュリティリスクがあると判断した場合、チームからスケジュールされたアップグレードが通知されます。
通常、アップグレードプロセスは 5 分で完了します。 アップグレード中に、データベースサービスの中断が数回発生する場合があります。
サービス認証
Alibaba Cloud のアフターセールスチームと ApsaraDB for MongoDB の開発チームが閲覧できる情報は、お客様の承認を得ない限り、ApsaraDB for MongoDB インスタンスのリソース、料金、パフォーマンスに関する情報に限られます。 具体的には、ApsaraDB for MongoDB インスタンスの購入日時、有効期限、CPU、メモリおよびストレージの使用量です。
Alibaba Cloud のアフターセールスチームと ApsaraDB for MongoDB 開発チームに権限を付与すると、お客様のインスタンスに関する詳細情報を確認し、お客様が抱える問題の解決に役立てることができます。
お客様の承認を得ない限り、Alibaba Cloud のアフターセールスチームと ApsaraDB for MongoDB の開発チームは、指定された期間内に ApsaraDB for MongoDB インスタンスに関する設定を閲覧または変更することはできせん。 たとえば、ApsaraDB for MongoDB インスタンスの IP アドレスホワイトリストと監査ログの参照を許可できます。
Alibaba Cloudの アフターセールスチームと ApsaraDB for MongoDB 開発チームは、インスタンスエンドポイント、データベースアカウントおよびパスワードなど、ApsaraDB for MongoDB インスタンスの接続情報を積極的に変更することはありません。