プライベート・エンドポイントの使用
第2世代
第2世代 Cloud Databases は、仮想プライベートエンドポイント(VPE)によって有効化されたプライベート接続を活用し、「デフォルトでセキュア」なアプローチを実現します。
IBM Cloud® 社内ネットワークへのアクセスを制限するプライベートエンドポイントを使用することで、データやアプリケーションを不正アクセスやセキュリティ上の脆弱性から保護します。
プライベートエンドポイントを利用することで、データベースへのネットワークトラフィックをより細かく制御し、可視性を高めることができるほか、コンプライアンスや規制要件への準拠を証明することも可能になります。
このドキュメントでは、第2世代の Cloud Databases ( Databases for PostgreSQL および Databases for MongoDB )のすべてについて解説しています。 仮想プライベートエンドポイントの設定には費用が発生し、プライベートエンドポイントを使用する IBM Cloud のVPCサービスにはネットワーク転送料が適用されます。 料金は転送データ量に基づいており、段階的な料金体系が適用されます。 「 コスト見積もりツール 」を使用して、予想使用量に基づいた見積もりを算出してください。
プライベートエンドポイントを介してVPCインスタンスに接続する方法
プライベートエンドポイントを使用すれば、ローカルデバイスやVPC外のクライアントからインスタンスにアクセスできます。 VPE for VPC に接続することで、VPC ネットワークを起点とするサービスやインスタンスへの安全な接続を実現できます。 Gen 2 (VPC) インスタンスへの接続手順は、接続元の場所やアプリケーションの実行場所によって異なります。
- VSI 経由の VPE - この方法では、お客様の仮想プライベートクラウド(VPC)内に存在する仮想サーバーインスタンス(VSI)を使用し、仮想プライベートエンドポイント(VPE)を活用することで、VPC内のリソースと外部の IBM Cloud サービスとの間で、安全かつプライベートな接続を提供します。
- VPE(クライアントからサイトへ)を介して確立されたVPN接続を使用します。 このVPNを利用すれば、VPC/VPEを経由して、ローカルのノートPCやクライアントから接続や管理を行うことができます。 詳細については、「 クライアントからサイトへ 」を参照してください。
- VPC/VPNゲートウェイを使用して、クラウドリソースへの安全かつプライベートなオンプレミスからのアクセスを実現します。 詳細については、 「サイト間 」を参照してください。
VSI を通じた仮想プライベートエンドポイントの確立
手順 1: VPC を作成する
「 IBM Cloud 」の手順に従って、 仮想プライベートクラウド(VPC)を作成してください。 VPCが、データベースのデプロイ先と同じリージョンにあることを確認してください。
ステップ 2: VSI と SSH 鍵を作成する
- VPC UI用の仮想サーバーインスタンス の 仮想サーバーインスタンスの作成手順 を使用して、VPC内にVSIをプロビジョニングします。 VSI フローティングIP を割り当て、外部からの SSH アクセスを可能にします(テスト目的の場合は任意)。
- 安全なログインのために、SSHキーを生成して添付してください。 SSH鍵ペアの作成方法の詳細については、「 SSH鍵の使い方(入門 )」を参照してください。
- 鍵ペアの準備ができたら、SSH鍵の安全な管理に関するベストプラクティスに従うため、秘密鍵をローカルマシンの
~/.sshディレクトリに移動してください。 - 秘密鍵のアクセス権限を変更してください。 これにより、ファイルの所有者に対して、そのキーが読み取り専用になります。 macOS, などの Unix 系システムでは、次のコマンドを実行してください:
$ chmod 400 ~/.ssh/<NAME_OF_THE_SSH_KEY>
- 次のコマンドを使用して、VSIにSSHで接続してください:
$ ssh -i ~/.ssh/<NAME_OF_THE_SSH_KEY> root@<FLOATING_IP_ADDRESS>
ステップ 3:VPE を作成する
IBM Cloud コンソールで、メニューアイコンをクリックし、[ VPC インフラストラクチャ] > [ネットワーク] > [仮想プライベートエンドポイントゲートウェイ ] を選択します。 以下の手順 に従って、 Cloud Databases インスタンス用のVPEを作成してください。
VPEをVPCおよびサブネットにバインドします。
ステップ 4: VPC セキュリティグループを更新する
VSI からデータベースインスタンスへのアウトバウンドトラフィックを許可するように、セキュリティグループを変更してください。 データベース(たとえば、PostgreSQLや MongoDB など)で必要なポートが開いていることを確認してください。
ステップ 5: データベース用のサービスキーを作成する
IBM Cloud のCLIまたはUIを使用して、データベース用のサービスキーを作成してください。 サービスキーには、データベースにアクセスするために必要な情報が含まれています。
ステップ 6: プライベートエンドポイントを使用してデータベースに接続する
必要なデータベースクライアントをインストールして動作確認を行い、サービスキーに記載されている接続情報を使用してデータベースに接続してください。 このコマンドは、データベースによって異なります。 データベースごとに必要な手順は、以下の表にまとめられています。
| サービス | クライアントツール | サンプル・コマンド |
|---|---|---|
| Databases for PostgreSQL | psql |
ローカル環境からVSIに接続するには、ローカルマシンからVSIへルート証明書を送信します。$ PGPASSWORD=$PASSWORD psql “<PASSWORD> 次のコマンドで接続を確認できます(任意):$ /list |
| Databases for MongoDB | mongosh |
次のコマンドで接続を確認できます:--eval "db.stats()" |
VPN接続を使用した仮想プライベートエンドポイントの確立
VPN を使用して VPC に接続し、VPE にアクセスします。 このVPNを使用すると、VPC内の仮想プライベートエンドポイントを介して、ローカルのノートPCやクライアントからインスタンスに接続し、管理することができます。
手順 1: VPC を作成する
「 IBM Cloud 」の手順に従って、 仮想プライベートクラウド(VPC)を作成してください。 VPCが、データベースのデプロイ先と同じリージョンにあることを確認してください。
ステップ 2: VPE を作成する
- IBM Cloud コンソールで、メニューアイコンをクリックし、[ VPC インフラストラクチャ] > [ネットワーク] > [仮想プライベートエンドポイントゲートウェイ ] を選択します。 以下の手順 に従って、 Cloud Databases インスタンス用のVPEを作成してください。
- VPEをVPCおよびサブネットにバインドします。
ステップ 3: VPC セキュリティグループを更新する
VSI からデータベースインスタンスへのアウトバウンドトラフィックを許可するように、セキュリティグループを変更してください。 データベース(たとえば、PostgreSQLや MongoDB など)で必要なポートが開いていることを確認してください。
ステップ 4: VPN サーバーを作成する
- IBM Cloud のシークレットマネージャーのインスタンス を作成します。
- シークレットマネージャーで証明書エンジンを作成し、VPNサーバー用の証明書を生成します。
- VPNサーバーがシークレットマネージャーから証明書を安全に取得できるようにするため、VPNサーバーとシークレットマネージャー間のサービス間認証を行うIAMサービスを作成します。
- 手順 1 で作成した VPC を指定して、VPC 用の VPN サーバーを作成します。 シークレットマネージャーに保存されている証明書を使用するように設定してください。
これで、VPC への安全なトンネルを確立できる VPN サーバーの設定が完了しました。
ステップ 5:VPN に接続する
VPNクライアントファイルをダウンロードし、VPNクライアントを使用してVPNに接続してください。
ステップ 6: プライベートエンドポイントを使用してデータベースに接続する
| サービス | クライアントツール | サンプル・コマンド |
|---|---|---|
| Databases for PostgreSQL | psql |
次のコマンドで接続を確認できます:$ /list |
| Databases for MongoDB | mongosh |
次のコマンドで接続を確認できます:--eval "db.stats()" |
オンプレミスからのVPC/VPNゲートウェイの構築
VPC/VPNゲートウェイを使用して、クラウドリソースへの安全かつプライベートなオンプレミスからのアクセスを実現します。
手順 1: VPC を作成する
「 IBM Cloud 」の手順に従って、 仮想プライベートクラウド(VPC)を作成してください。 VPCが、データベースのデプロイ先と同じリージョンにあることを確認してください。
ステップ 2: VPE を作成する
- IBM Cloud コンソールで、メニューアイコンをクリックし、[VPCインフラストラクチャ] → [ネットワーク] → [仮想プライベートエンドポイントゲートウェイ] の順に選択します。 以下の手順 に従って、 Cloud Databases インスタンス用のVPEを作成してください。
- VPEをVPCおよびサブネットにバインドします。
ステップ 3: VPC セキュリティグループを更新する
VPN、ゲートウェイ、およびVPE間のトラフィックを許可するルールをセキュリティグループに追加してください。
ステップ4:VPNを設定して接続を確立する
- VPC内にVPNゲートウェイを作成します。
- 人気のVPNゲートウェイである strongSwan を使用して、オンプレミスのVPNゲートウェイをシミュレートします。
- IBM Cloud のDNSリゾルバーを経由してクエリをルーティングするように、DNS解決を設定します。
ステップ 5:ネットワークにログインする
VPN経由で接続して、ネットワークにログインしてください。 サービス間VPNが有効になっている場合、セキュアな接続経路が自動的に確立され、オンプレミスのVSIおよびクラウドのバスティオンホストへのアクセスが可能になります。
ステップ 6: プライベートエンドポイントを使用してデータベースに接続する
必要なクライアントをインストールして動作確認を行い、オンプレミスの環境からデータベースに接続してください。 各データベースのクライアントおよび検証用コマンドの例を、次の表に示します
| サービス | クライアントツール | サンプル・コマンド |
|---|---|---|
| Databases for PostgreSQL | psql |
次のコマンドで接続を確認できます(任意):$ /list |
| Databases for MongoDB | mongosh |
次のコマンドで接続を確認できます:--eval "db.stats()" |