IBM Cloud Direct Link を使用した IBM Cloud オブジェクト・ストレージへの接続
IBM Cloud® Object Storage (COS) にアクセスできるように IBM Cloud Direct Link を構成できます。 ここに記載する方法は COS のための方法であり、COS でテストされたものですが、他のいくつかの IBM Cloud サービスにも使用できます。
ポリシーにより、IBM Cloud Direct Link は、COS で使用されるものを含め、IBM Cloud のプライベート・サービス・エンドポイントへのアクセスを拒否します。 この資料で説明する技法では、お客様の IBM Cloud アカウントでホストされているサーバーを介して、COS への間接アクセスを利用します。 セットアップ後、お客様の各サーバーは、Direct Link によって接続された IBM Cloud プライベート・サービス・エンドポイントとリモート・ネットワークとの間で双方向にトラフィックを転送できます。
IBM Cloud Object Storage とは
IBM Cloud Object Storage (COS) は、非構造化データを保管する Web スケールのソリューションです。 手動による複製なしで、信頼性、セキュリティー、可用性、および災害復旧が提供されます。
IBM Cloud Object Storage に保管された情報は暗号化され、多数の地理的場所に分散されます。 これは、S3 API の実装を介してアクセス可能です。 このサービスは、IBM Cloud Object Storage サービスで提供されている分散ストレージ・テクノロジーを使用します。
IBM COS は、以下の 3 つの構成で利用可能です。
- クロス・リージョンサービスでは、単一リージョンを使用した場合よりも高い耐久性および可用性が得られますが、待ち時間が若干長くなるという代償を伴います。 現在、このサービスは、米国および EU で使用可能です。 仮想ルーター・アプライアンス (VRA) を使用することにより、Direct Link を使用してアジア太平洋リージョンの COS に接続することもできます。
- 地域単位のサービスでは、その逆になります。 単一リージョン内の複数のアベイラビリティー・ゾーンにオブジェクトが分散されます。 リージョンまたはアベイラビリティー・ゾーンがアクセス不能な場合でも、オブジェクト・ストアは引き続きスムーズに機能します。 適用されていない変更は、アクセス不能なデータ・センターがオンラインに戻ったときに適用されます。
- 単一サイト・サービスは、選択されたデータ・センター内の COS への手頃な料金でのアクセスを提供します。
COS のプライベート・エンドポイントおよびパブリック・エンドポイント
エンドポイントは、アプリケーションが COS コマンドを発行し、COS とデータを交換するために使用する URL です。 各エンドポイントは、同じアプリケーション・プログラミング・インターフェース (API) を使用して COS と対話します。
IBM Cloud 内でプロビジョンされたサーバーは、COS を含むサービスのプライベート API エンドポイントを使用します。 プライベート・エンドポイントにより、帯域幅コストを追加することなく、お客様の IBM Cloud サーバーでサービスへの直接高速接続が可能になります。
COSプライベート・エンドポイントは、 IBM Cloud の顧客に、 IBM Cloud 内からアクセスできるのと同じCOSデータへのアクセスを提供するが、パブリック・エンドポイントでは、インターネットを備えた場所であればどこからでもアクセスできる。
以下の 2 つの注意点が COS パブリック・エンドポイントに適用されます。
- パブリック・エンドポイントを使用した場合、COS サービスによって課される使用料金以外に、帯域幅に対して課金される可能性があります。
- 転送中のデータはすべて暗号化されますが、インターネットを介して伝送されるデータに関連するプライバシーの懸念や規制による制限がお客様に生じることがあります。
IBM Cloud Direct Link とは
IBM Cloud Direct Link on Classic は、お客様がリモート・ネットワーク環境と IBM Cloud デプロイメントの間のセキュアなプライベート接続を作成できるようにする製品スイートです。 Direct Link によって交換されるデータは、インターネットに公開されることはありません。
IBM Cloud Direct Link を介したクラウド・オブジェクト・ストレージ (COS) の使用
IBM エンジニアは、COS および Direct Link を購入した IBM Cloud のお客様が COS プライベート・エンドポイントにリモート接続できるようにする方法を開発しました。 このタイプの接続は、プライベート・サービス・エンドポイントの利点を拡張するものであり、IBM Cloud 施設外のクライアント・システムで使用できます。
後続のセクションでは、このソリューションについて図示および説明します。
リバース・プロキシー
基本的な前提リモートクライアントは、セキュアな認証情報を含むリクエストを、プライベートサーバーを経由してCOSに渡す。

リモート・サイトのクライアントが、HTTPS (セキュアな HTTP) による COS 要求を開始します。 要求は、お客様の IBM Cloud アカウントにデプロイされた_リバース・プロキシー・サーバー_のいずれかのクラスターに、IBM Cloud Direct Link を介して安全に送信されます。 そのサーバーから、要求が COS プライベート・エンドポイントに渡され、処理された後に、結果が呼び出し元のリモート・クライアントに返されます。
COS で機能するすべてのサンプル・クライアント・コードは、リバース・プロキシー・サーバーでも機能します。 唯一必要になる変更は、IBM が公開している COS のプライベート・エンドポイントの URL を宛先にするのではなく、リバース・プロキシー・サーバーの IP アドレスまたは URL をクライアントの宛先にすることです。
Nginx リバース・プロキシーのインストール
NginX (X) は、リバース・プロキシー・サーバーの役割などの特殊なタスクに優れた、成熟したコンパクトな高速オープン・ソース Web サーバーです。
手順と構成に関する以下の情報 (NginX リバース・プロキシー・サーバーをセットアップするための情報) は、ご使用の環境に適合させることで役に立ちます。 行き詰まったり、追加情報が必要な場合は、 Nginx ドキュメントのリバースプロキシ部分を参照するか、 stackoverflowで例を検索してください。
- 最小限の RHEL または CentOS Linux ビルド (推奨) で、VSI またはベアメタル・サーバーをプロビジョンします。
- VSI ごとに、パブリック・インターフェースに関するセキュリティー・グループ・ルール
allow_http
、allow_https
、allow_outbound
、allow_ssh
を有効にします。 - VSI ごとに、プライベート・インターフェースに関する
allow_all
およびallow_outbound
ルールを有効にします。**「保存 (Save)」**を選択します。 - Windows の PuTTY またはご使用のデスクトップの端末プログラムを使用して、
ssh
で新規サーバーに root として接続します。 - オペレーティング・システム OS をアップグレードします (
yum update
)。 - EPEL リポジトリーをインストールします (
yum install epel-release
)。 - NginX をインストールします (
yum install nginx
)。 - NginX を開始し (
nginx
)、サーバーの IP アドレスをブラウザーで開きます。 nginx.conf
のデフォルトの場所は/etc/nginx
です。 安全なコピーを作成します。- サンプル
nginx.conf
構成ファイルを/etc/nginx
に移動します。 - IBM Cloud コンソールを使用して SSL 証明書を購入するか、コマンド
yum install easy-rsa
を実行し、自己署名証明書の作成のヒントに関するお気に入りのオンライン資料を参照します。 - 証明書情報を構成ファイル
nginx.conf
に追加します。 - コマンド
nginx -t
を使用して、変更した NginX 構成をテストします。 - テストに合格した場合は、コマンド
nginx
を使用してnginx -s quit; sleep 3; nginx
を再始動します。 - これで、クライアントは NginX (プロキシー) サーバーの IP または URL に COS 要求を送信できるようになりました。
注:
- このソリューションは、Direct Link が注文されて適切にデプロイされたことを前提としています。ただし、Direct Link がなくてもテストすることはできます。
proxy_cache
を使用して、オプションのメモリーまたはディスク・キャッシュを使用できます。- 大規模なファイルの転送の場合、
proxy_read_timeout
値を大きくする必要が生じることがあります。 - 高可用性 (自動フェイルオーバー) には、
keepalive
または Pacemaker を使用してください。
構成ファイル: nginx.conf
以下のセクションでは、サンプル構成ファイルを示します。 コピー・アンド・ペーストできます。
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 5;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
proxy_http_version 1.1;
proxy_buffering off;
proxy_intercept_errors on;
# IBM COS Endpoints
# US
server {
listen 443 ssl http2;
server_name us-cos.myibmcloud.com;
ssl_certificate "/etc/pki/tls/certs/star.myibmcloud.com.pem";
ssl_certificate_key "/etc/pki/tls/private/star.myibmcloud.com.key";
location / {
proxy_set_header Host $server_name;
proxy_pass https://s3-api.us-geo.objectstorage.service.networklayer.com;
}
}
# Dallas
server {
listen 443 ssl http2;
server_name dal-cos.myibmcloud.com;
ssl_certificate "/etc/pki/tls/certs/star.myibmcloud.com.pem";
ssl_certificate_key "/etc/pki/tls/private/star.myibmcloud.com.key";
location / {
proxy_set_header Host $server_name;
proxy_pass https://s3-api.dal-us-geo.objectstorage.service.networklayer.com;
}
}
}
これらの proxy_pass
エントリーで使用するプライベート・エンドポイントのリストについては、 エンドポイントと保管場所を 参照のこと。
ヒント:
- スケーリングおよび回復力を向上させるには、各種エンドポイントに関連付けられた複数のプロキシー・サーバーをデプロイします。
- 基本的なフェイルオーバーおよびロード・バランシング機能には、クライアント・サイドでラウンドロビン DNS を使用します。
- 保護および中央集中ロギングのために、仮想ルーター・アプライアンス (VRA) の背後にプロキシー・サーバーを配置できます。
IBM Cloud の機能の管理とプロビジョン
このセクションでは、IBM Cloud Direct Link を使用して接続できるいくつかの IBM Cloud PaaS および SaaS オファリングの資料へのクイック・リンクを提供します。
ベアメタル・サーバーのプロビジョン
ベアメタル・サーバーのプロビジョン方法について詳しくは、プロビジョニング: 最もポピュラーなサーバーからの選択を参照してください。
仮想ルーター・アプライアンス (VRA) のプロビジョン
VRA のプロビジョン方法について詳しくは、 VRA の入門ガイドを参照してください。
IBM Cloud Object Storage (COS) のプロビジョン
- COS のプロビジョン方法について詳しくは、クラウド・オブジェクト・ストレージ・ガイドを参照してください。
- プライベート・エンドポイント (前述) のいずれかを使用して、バケットまたはプロビジョン済み COS アカウントの任意のオブジェクトとのインターフェースを作成します。