IBM Cloud Docs
IBM Cloud Object Storage 概説

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 の例を参照してください。

アーカイブポリシーの作成
アーカイブポリシーの作成

バケットはデータを編成する手段ですが、唯一の方法ではありません。 オブジェクト名 (オブジェクトキー とも呼ばれる)には、ディレクトリのような組織システムとして、1つまたは複数のスラッシュを使用することができます。 オブジェクト名の区切り文字より前の部分を使用して_オブジェクトのプレフィックス_を作成し、このプレフィックスを使用して Object Storage を通じて単一のバケットに関連オブジェクトをリストアップします。

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

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

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

特殊文字を含むオブジェクトがバケツにアップロードされた場合、UIでの表示やアクセスに問題が生じる可能性があります。 このような場合、オブジェクトを削除し、より標準的な名前で再アップロードする必要があります。 UIおよびCLIによる削除が成功しなかった場合、これらのオブジェクトをExpirationまたはLifecycleルールで削除することができます。 オブジェクトへのアクセスや削除が困難にならないよう、特殊文字は避けてください。

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

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

  1. 新しいユーザーを追加するには、まずObject Storageを離れ、IAMコンソールに移動する必要があります。 「管理」メニューに移動し、「アクセス (IAM)」>**「ユーザー」**のリンクをたどります。 ユーザーの招待をクリックします。
    図 2: IAM によるユーザーの招待
    IAM によるユーザーの招待
  2. 組織に招待するユーザーの E メール・アドレスを入力してから、**「サービス」セクションを展開し、「アクセス権限の割り当て」**メニューから「リソース」を選択します。 次に 、[サービス] メニュー から Cloud Object Storage を選択します。
    図 3: IAM サービス
    IAM サービス
  3. これで、さらに 3 つのフィールド ( 「サービス・インスタンス」「リソース・タイプ」、および 「リソース ID」) が表示されます。 最初のフィールドは、ユーザーがアクセスできる Object Storage のインスタンスを定義します。 Object Storage のすべてのインスタンスに同じレベルのアクセス権限を付与するように設定することもできます。 他の項目は、今は空白のままにしておいてください。
    図 4: サービスおよびリソースの IAM ID
    IAM によるユーザーの招待
  4. **「役割の選択」**の下のチェック・ボックスにより、ユーザーが使用できるアクションのセットが決まります。 ユーザーが他のユーザーおよびサービス ID にインスタンスへのアクセス権限を付与できるようにする場合は、「管理者」プラットフォーム・アクセス役割を選択します。 ユーザーが Object Storage インスタンスの管理、およびバケットやオブジェクトの作成と削除を行えるようにする場合は、「管理者」サービス・アクセス役割を選択します。 これらの組み合わせ (ユーザー(Subject)、 マネージャー(Role )、 _リソース_Object Storageインスタンス))が 、IAMポリシー を形成します。 役割とポリシーに関するより詳細なガイダンス については、IAMのドキュメントを参照してください
    図 5: IAM の役割の選択
    IAM 役割

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

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

    図6:IAM Service Ids
    IAM Service Ids

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

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

次のステップ

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