IBM Cloud Object Storage 概説

IBM Cloud® Object Storage は、データを暗号化し、複数の地理的ロケーションに分散して保管します。 この入門チュートリアルでは、 IBM Cloud Object Storage を使用してバケットを作成し、オブジェクトをアップロードし、他のユーザーがデータを利用できるようにアクセスポリシーを設定するために必要な手順を順を追って説明します。

開始前に

IBM Cloud Object Storageを開始するには、以下が必要です。

このチュートリアルでは、IBM Cloud プラットフォーム・コンソールでの最初のステップについて、新規ユーザーに説明します。 API を使用して開始する開発者の場合は、開発者のガイドまたは API の概要を参照してください。

データを保管するバケットの作成

  1. IBM Cloud Object Storage の注文 は _サービス・インスタンス_を作成します。 IBM Cloud Object Storage はマルチテナント・システムであり、 Object Storage のすべてのインスタンスが物理インフラストラクチャーを共有します。 サービスインスタンスが作成されると、自動的にそのインスタンスにリダイレクトされます。 Object Storage インスタンスは、リソース・リスト「ストレージ」の下にリストされます。

    「リソース・インスタンス」と「サービス・インスタンス」という用語は同じ概念を指しており、同じ意味で使用できます。

  2. 新しい_サービスインスタンス_にデータを保存するには、まずバケットが必要です。 バケットを作成するには、固有の名前を選択して開始します。 全世界のすべてのリージョンのすべてのバケットが、単一の名前空間を共有します。 バケットを作成するための適切な許可を備えていることを確認します。

    バケットやオブジェクトに名前を付ける際は、個人を特定できる情報(PII)を使用しないようにしてください。 PII とは、名前、場所、またはその他の方法でユーザー (個人) を特定できる情報のことです。

    バケット名は、DNS経由でアクセス可能である必要があり、大文字と小文字は区別されません。

  3. 最初に、必要な _回復力_のレベル を選択します。 次に、データを物理的に保存したい_場所_を選択してください。 回復力 (レジリエンシー) とは、データが分散する地理的な領域の範囲や規模を指します。 「地域間耐障害性」では、データを複数の大都市圏に分散させますが、「 地域内耐障害性 」では、データを単一の大都市圏内に分散させます。 単一のデータセンター は、単一のサイト内のデバイス間でのみデータを配信します。

  4. 保管データを読み取る頻度を正確に反映するには、 バケットの ストレージ・クラス を選択します。 請求の詳細を決定するため、これは重要です。 **「作成」**リンクをたどって、新規バケットを作成してそのバケットにアクセスします。

  5. コンテンツに適した拡張構成がある場合は、それを決定します。 どのストレージ階層(Standard、Vault、Cold Vault、Flex)からでも、長期オフラインアーカイブへ移行してデータを保存したり、オンラインのCold Vaultオプションを利用したりすることができます。

バケットはデータを編成する手段ですが、唯一の方法ではありません。 オブジェクト名(しばしば「 オブジェクトキー 」とも呼ばれる)には、ディレクトリのような階層構造を構築するために、1つ以上のスラッシュを使用することができます。 次に、オブジェクト名の区切り文字より前の部分を使用して_オブジェクトプレフィックス_を作成します。このオブジェクトプレフィックスは、 Object Storage API を通じて、単一のバケット内の関連オブジェクトを一覧表示するために使用されます。

バケットへのオブジェクトの追加

次に、リストからバケットの 1 つを選択して、そのバケットに移動します。 **「オブジェクトの追加 (Add Objects)」**をクリックします。 新規オブジェクトは、同じバケット内の同じ名前を持つ既存のオブジェクトを上書きします。 コンソールを使用してオブジェクトをアップロードした場合、オブジェクト名は常にファイル名と一致します。 API を使用してデータを書き込む場合、ファイル名とオブジェクト・キーの間に関係は必要ありません。 先に進み、このバケットに少数のファイルを追加します。

コンソール経由でオブジェクトをアップロードする場合、 Aspera の高速転送 プラグインを使用するか、 CORS ヘッダーを設定してCross-Origin Resource Sharing( CORS )を利用しない限り、オブジェクトのサイズは200 MBまでに制限されます。 大規模オブジェクト (最大 10 TB) は、 API を使用して複数のパートに分割し、並行してアップロードすることもできます。 オブジェクト・キーの長さは最大で 1024 文字にすることができます。また、Web アドレスで問題が生じる可能性がある文字は使用しないことをお勧めします。 たとえば、 ?=<、およびその他の特殊文字は、 URL エンコードされていない場合、予期しない動作を引き起こす可能性があります。

UI でのオブジェクトの検索とフィルタリング

Object Storage コンソールでは、検索やフィルタリング機能を利用して、バケット内のオブジェクトをすばやく見つけることができます。 このUIでは、特定のプロパティに基づいてオブジェクトを効率的に検索できるよう、簡易検索と詳細フィルタリングの両方のオプションが用意されています。

接頭辞でオブジェクトを検索する

名前や接頭辞で検索すれば、オブジェクトをすばやく見つけることができます。

  1. バケットの [ オブジェクト ] タブで、[ フィルタ条件: プレフィックスのみ ] を選択します。
  2. 検索フィールドにキーワードまたは接頭辞を入力してください。
  3. オブジェクト一覧は、入力された値に基づいて自動的に更新されます。

検索はオブジェクト名(キー)に基づいて行われ、入力と同時に結果がリアルタイムで絞り込まれます。

詳細なプロパティを使用してオブジェクトをフィルタリングする

高度なフィルタを適用して、複数の属性に基づいてオブジェクトを絞り込むことができます。

  1. [ オブジェクト ] タブで、[ フィルタ条件: 詳細プロパティ] を選択します。
  2. リストから物件をお選びください:
    • 名前に以下が含まれる または 接頭辞
    • サイズ (バイト)
    • 最終変更日時
    • 内線
  3. 必要な値を入力または選択してください。
  4. (任意)[ フィルターを追加 ] をクリックして、条件を追加します。
  5. 複数のフィルターの適用方法を定義するには、「 AND 」または「 OR 」を選択してください。
  6. 適用 」をクリックすると、フィルタリングされたオブジェクトの一覧が表示されます。

たとえば、サイズと名前のフィルターを組み合わせて、サイズが500000バイト以上で、名前に「backup」が含まれるすべてのオブジェクトを検索することができます。

利用可能なフィルタオプション

以下のフィルタの種類から選択できます:

オブジェクトのフィルタ設定
フィルター・オプション 説明
接頭部 オブジェクトを、名前の先頭文字でフィルタリングします。
名前に含まれる文字 特定のテキストを含むオブジェクトに一致します。
サイズ (バイト) 比較演算子を使用して、オブジェクトのサイズに基づいてフィルタリングします。
最終変更日時 変更日に基づくフィルタ。
内線 ファイルの種類でオブジェクトをフィルタリングします。

複数のフィルターを組み合わせる

複数のフィルターを組み合わせて、検索条件をさらに絞り込むことができます:

  • AND を使用して、すべての条件に一致するオブジェクトを返す
  • OR 」を使用すると、いずれかの条件に一致するオブジェクトを返すことができます

これにより、大規模なデータセットにおいて、対象をより正確に特定することが可能になります。

オブジェクトの数が多い大きなバケットにフィルタリング処理を適用すると、ブラウザのパフォーマンスに影響が出る可能性があります。 結果は、オブジェクトの数や適用されたフィルターによって異なります。

特殊文字を含むオブジェクトがバケットにアップロードされると、UI での表示やアクセスに問題が生じる可能性があります。 このような場合は、そのオブジェクトを削除し、より標準的な名前で再アップロードする必要があります。 UI や CLI による削除が正常に行えない場合は、「有効期限」または「ライフサイクル」ルールを使用して、これらのオブジェクトを削除することもできます。 オブジェクトへのアクセスや削除が困難にならないよう、特殊文字は避けてください。

バケットとデータを管理するようにユーザーを招待するにはどうすればよいですか?

IBM Cloud Object Storage インスタンスを管理する責任を分散させるには、別のユーザーを取り込み、それらのユーザーがインスタンスおよびそこに保管されているすべてのデータの管理者としての役割を果たせるようにすることが重要です。

  1. 新しいユーザーを追加するには、まず現在の Object Storage インターフェースを離れ、IAMコンソールに移動する必要があります。 「管理」 メニューに移動し、「 アクセス(IAM) 」>「 ユーザー 」のリンクをクリックしてください。 ユーザーの招待をクリックします。

  2. 組織に招待するユーザーの E メール・アドレスを入力してから、**「サービス」セクションを展開し、「アクセス権限の割り当て」**メニューから「リソース」を選択します。 次に、 [サービス ] メニューから「 Cloud Object Storage 」を選択してください。

  3. これで、さらに 3 つのフィールド ( 「サービス・インスタンス」「リソース・タイプ」、および 「リソース ID」) が表示されます。 最初のフィールドは、ユーザーがアクセスできる Object Storage のインスタンスを定義します。 Object Storage のすべてのインスタンスに同じレベルのアクセス権限を付与するように設定することもできます。 他の項目は、ひとまず空欄のままにしておいても構いません。

  4. [ 役割の選択 ] の下にあるチェックボックスにより、ユーザーが実行できる操作の範囲が決まります。 ユーザーが他のユーザーおよびサービス ID にインスタンスへのアクセス権限を付与できるようにする場合は、「管理者」プラットフォーム・アクセス役割を選択します。 ユーザーが Object Storage インスタンスの管理、およびバケットやオブジェクトの作成と削除を行えるようにする場合は、「管理者」サービス・アクセス役割を選択します。 「 対象 (ユーザー)」「 ロール (マネージャー)」「 リソース ( Object Storage のサービスインスタンス)」のこれらの組み合わせが、 IAMポリシーを 構成します。 役割やポリシーに関するより詳細なガイダンスについては、 IAMのドキュメントを参照してください

バケットに対するアクセス権限の開発者への付与

  1. 「管理」 メニューに移動し、「 アクセス(IAM) 」>「 サービス ID 」のリンクをクリックしてください。 ここでは、 アカウントに紐付けられた抽象的な識別子として機能する_サービスID_ を作成できます。 サービス ID には API キーを割り当てることができ、特定の開発者の身元をアプリケーションのプロセスやコンポーネントと結びつけたくない場合に使用されます。

  2. 上記のプロセスを繰り返しますが、ステップ 3 で特定のサービス・インスタンスを選択し、 「リソース・タイプ」 として「バケット」を入力し、 _「リソース ID」_として既存のバケットの 完全 CRN を入力します。

  3. これで、サービス ID はその特定のバケットにアクセスできます。他のバケットにはアクセスできません。

次のステップ

これで、Web ベースのコンソールを介してオブジェクト・ストレージを理解したので、コマンド・ラインから同様のワークフローを実行することが必要になる場合があります。 ibmcloud cos コマンド・ライン・ユーティリティーを使用して、サービス・インスタンスを作成し、IAM と対話します。 さらに、COS に直接アクセスするために curl を使用することもできます。 まずは、API の概要を確認してください