Object Storage Service

プロダクト紹介

OSSとは

Alibaba Cloud Object Storage Service (OSS)は、クラウド内の任意の量のデータの保存、バックアップ、およびアーカイブを可能にするストレージサービスです。OSSは、コスト効率が高く、安全性が高く、信頼性の高いクラウドストレージソリューションです。RESTfulなAPIを使用し、99.999999999%(11 nines)の耐久性と99.99%の可用性を実現するように設計されています。OSSを使用すると、Web上の任意の場所からいつでも任意の型のデータを格納および取得できます。

Alibaba CloudまたはOSS移行ツールによって提供されるAPIおよびSDKインターフェイスを使用して、大量のデータをAlibaba Cloud OSSとの間で転送することができます。OSSの標準ストレージクラスを使用して、アプリや大規模なWebサイト用のイメージ、オーディオ、およびビデオファイルを保存できます。頻繁にアクセスされないデータのバックアップとアーカイブには、低コストアクセスソリューション(IA)またはアーカイブストレージクラスを使用できます。

利点

従来のストレージと比較したときの OSS の利点

項目 OSS 従来のストレージ
信頼性
  • 99.99% のサービス可用性を保証します。
  • 外部サービスに影響を与えることなくオートスケーリングが可能です。
  • 99.999999999% の耐久性 を保証します。
  • 自動冗長データバックアップを提供します。
  • ハードウェアの信頼性に左右されます。 従来のストレージは、比較的エラーを起こしやすい傾向にあります。 ディスクに不良セクタがあると、データが復旧不可能に陥る可能性があります。
  • 手動によるデータ復旧は複雑であり、多くの時間と技術的なリソースを必要とします。
セキュリティ
  • エンタープライズレベルのマルチレベルセキュリティを提供します。
  • マルチユーザーのリソース分離や遠隔地における災害復旧に対応しています。
  • 認証と承認、ホワイトリスト、アンチリーチ、および RAM アカウント機能を備えています。
  • トラフィッククリーニングサービスとブラックホールサービスは、別途購入する必要があります。
  • 独立したセキュリティ機能を実装する必要があります。
コスト
  • 帯域幅制限のない BGP バックボーンネットワークで、 アップストリームトラフィックは無料です。
  • 保守用スタッフやホスティングの料金は不要です。
  • ストレージスペースは、ハードウェアの容量によって制限されます。 手動でのスケーリングが必要です。
  • シングルまたはダブルラインアクセス中は、アクセス速度が遅くなります。 帯域幅の制限があります。 トラフィックのピーク時には手動でのスケーリングが必要です。
  • 専門の保守スタッフが必要で、コストが高くなります。
データ処理機能 画像処理、オーディオやビデオのトランスコード、高速コンテンツ配信、アーカイブサービス、およびその他の付加価値データサービスを提供します。 別途購入してデプロイする必要があります。

OSS のさらなる利点

  • 使いやすさ
    • RESTful API 、多様な SDK 、クライアントツール、および Web コンソールを利用できます。 Windows の通常のファイルを扱うように、 Web サイトやアプリケーションの大量データを簡単にアップロード、ダウンロード、取得、および管理できます。
    • ファイルの数とサイズに制限がありません。 従来のハードウェアストレージとは異なり、 OSS では必要に応じてストレージスペースを簡単にスケールアップ (拡張) できます。
    • ストリーミングのアップロードとダウンロードに対応しています。これは、動画などの大容量ファイルを同時に読み書きする必要のあるビジネスシナリオに適しています。
    • ライフサイクルを管理できます。期限切れのデータを一括で削除したり、データを低コストのアーカイブサービスに移行できます。
  • 堅牢で柔軟なセキュリティ
    • STS 、 URL 、ホワイトリスト、アンチリーチ、RAM アカウント機能など、柔軟な認証と承認機能が搭載されています。
    • ユーザーレベルのリソース分離が可能です。 マルチクラスタ同期サービスを使用することもできます。
  • 豊富で強力な付加価値サービス
    • 画像処理: jpg 、 png 、 bmp 、 gif 、 webp 、tiffを含む各種ファイル形式で、フォーマット変換、サムネイル、トリミング、透かし、拡大縮小などの操作を実行できます。
    • オーディオやビデオのトランスコード: OSS に保存されているオーディオやビデオファイル向けの 高品質で高速なオーディオとビデオの並列トランスコード機能 が搭載されています。 さまざまなタイプのデバイスに対応したオーディオファイルやビデオファイルを 簡単に用意できます。
    • コンテンツ配信の高速化:コンテンツ配信ネットワーク (CDN) を OSS と併用することで、 OSS に保存されているコンテンツの配信を高速化できます。 このサービスは、高い安定性と無制限の帯域幅を備え、設定が簡単なことが特徴です。

クイックスタート

Object Storage Service の使用開始

Object Storage Service (OSS) は、ネットワークベースのデータアクセスサービスです。 OSS を使用すると、テキストファイル、イメージ、オーディオファイル、ビデオファイルなど、さまざまな非構造化データファイルをいつでもネットワーク経由で保存および取得できます。

OSS はデータファイルをオブジェクトとしてバケットにアップロードします。 OSS では、次の操作を実行できます。

  • 1つまたは複数のバケットを作成し、各バケットに1つまたは複数のオブジェクトをアップロードします。
  • OSS によって割り当てられた URL を使用して、オブジェクトを共有またはダウンロードします。
  • バケットまたはオブジェクトの属性やメタデータを変更して、ACL を設定します。
  • OSS コンソール、またはさまざまな便利ツールや SDK を使用して、基本的な OSS 操作や高度な OSS 操作を行います。

OSS コンソールの使用

次の図は、OSS コンソールでの基本的な OSS 操作手順を示しています。

操作手順
  1. OSS の有効化
  2. バケットの作成
  3. オブジェクトのアップロード
  4. オブジェクトのダウンロード
  5. オブジェクトの削除
  6. バケットの削除

ossbrowser の使用

ossbrowser は、OSS 用のグラフィカルオブジェクト管理ツールです。 このツールは、Windows、Linux、および Mac オペレーティングシステムをサポートしています。 ossbrowser では、オブジェクトやフォルダーの表示、アップロード、およびダウンロード、再開可能モードでのオブジェクトのアップロードまたはダウンロード、GUI ベースのポリシー許可の実行などが可能です。 デスクトップのグラフィカルツールである ossbrowser は、ossutil よりも伝送速度とパフォーマンスが低めです。

ossutil の使用

ossutil では、コマンドラインを使用して OSS データを管理でき、Windows、Linux、および Mac オペレーティングシステムをサポートしています。ossutil は、バケットやオブジェクトを効率的に管理するためのシンプルなコマンドを提供し、同時アップロードタスクをサポートします。ossutil は、オブジェクトとフォルダーのアップロード、ダウンロード、および再開可能な送信をサポートします。

API と SDK の使用

OSS は、二次開発を容易にするために、複数のプログラミング言語で API と SDK を提供します。

  • Java SDK クイックスタート
  • Python SDK クイックスタート
  • PHP SDK クイックスタート
  • Go SDK クイックスタート
  • C SDK クイックスタート

OSS の有効化

前提条件

OSS を使用する前に、Alibaba Cloud アカウントへの登録が完了していることを確認してください。Alibaba Cloud アカウントがない場合は、OSS にサインアップする際にアカウント登録を求めるメッセージが表示されます。

手順

  1. OSS プロダクト詳細ページを開きます。
  2. [今すぐ購入] をクリックします。
  3. OSS が有効化されたら、[コンソール] をクリックして、OSS コンソールインターフェイスにアクセスします。 また、ホームページから [コンソール] をクリックして、メインコンソールから [Object Storage Service] を選択することもできます。

バケットの作成

Alibaba Cloud OSS を有効にした後、OSS コンソールでオブジェクトを格納するためのバケットを作成します。

Procedure

  1. OSS コンソールにログインします。
  2. [バケット作成] をクリックして、[バケット作成] ダイアログボックスを開きます。
    バケット作成
  3. [バケット名] テキストボックスにバケット名を入力します。
    • バケット名は命名規則に従う必要があります。
    • バケット名は、Alibaba Cloud OSS 内にあるすべての既存のバケットの中で 一意でなければなりません。
    • バケット名は作成後に変更することはできません。
  4. [リージョン] ドロップダウンボックスで、バケットのデータセンターを選択します。
    バケットの作成後にバケットのリージョンを変更することはできません。 ECS イントラネットを経由して OSS にアクセスするには、ECS と同じリージョンを選択します。
  5. [ストレージクラス] ドロップダウンボックスで、バケットのストレージクラスを選択します。

    ※バケットのストレージクラスは、バケットの作成後には変更できません。

    • 標準ストレージ: 高い信頼性、可用性、パフォーマンスを備えたオブジェクトストレージサービスであり、頻繁なデータアクセスをサポートします。
    • 低頻度アクセスストレージ: 保存期間が長く、アクセス頻度が低いデータに適しています。 単価は「標準ストレージ」クラスより低くなります。
    • アーカイブストレージ: 長期保存 (半年以上) が必要なアーカイブデータの保存に適しています。 保存期間中にアクセスされることは稀で、データを読み取り可能な状態に復元するのに 1 分ほどかかる場合があります。 このストレージクラスは、アーカイブデータ、医用画像、科学資料、ビデオ映像を長期間保存するのに適しています。
  6. [ ACL ]ドロップダウンボックスで、バケットのアクセス許可オプションを選択します。

    ※バケット操作によって発生する料金は、バケット所有者が負担します。 そのため、 「公開用読み取り」と 「公開用読み取り/書き込み」アクセス許可は、慎重に使用してください。

    • 非公開: バケットの所有者と許可ユーザーだけが、バケット内のオブジェクトに対して読み取り、書き込み、および削除操作を実行できます。 他のユーザーはバケット内のオブジェクトにアクセスできません。
    • 公開用読み取り: バケットの所有者と許可ユーザーだけが、バケット内のオブジェクトに対して書き込み操作と削除操作を実行できます。 誰でも (匿名アクセスを含む) バケット内のオブジェクトを読み取ることができます。
    • 公開用読み取り/書き込み:誰でも(匿名アクセスを含む)、バケット内のオブジェクトの読み取り、書き込み、および削除を行うことができます。
  7. [ゾーン冗長ストレージ]ドロップダウンボックスで、「有効」または「無効」を選択します。
    • 有効: [ゾーン冗長ストレージ]が有効になっていると、ユーザーのデータは同じリージョン内の 3 つのアベイラビリティーゾーン (AZ) に格納されます。

      ※[ゾーン冗長ストレージ]を一度有効にすると、無効にすることはできません。

    • 無効: [ゾーン冗長ストレージ]は、デフォルトで無効になっています。
  8. [ログ分析]ドロップダウンボックスで、「有効」または「無効」を選択します。
    • 有効: [ログ分析]が有効になっている場合、ユーザーはバケットへのアクセスログを照会および分析できます。
    • 無効: [ログ分析] はデフォルトで無効になっています。
  9. [OK] をクリックします。

オブジェクトのアップロード

バケットの作成後には、任意の種類のオブジェクト (ファイル ) をアップロードできます。

始める前に

バケット作成についての 詳細は、「バケットの作成」をご参照ください。

このタスクについて

次のいずれかの方法でオブジェクトをアップロードできます。

  • OSS コンソールを使用して5 GBより小さいオブジェクトをアップロードします。 以下の手順をご参照ください。
  • 5 GB を超えるオブジェクトをアップロードするには、SDK または API を使用します。
  • オブジェクトをアップロードするには、グラフィカル管理ツール ossbrowser を使用します。

手順

  1. [OSS コンソール] にログインします。
  2. バケット名の一覧から、作成したバケットの名前をクリックします。
  3. [ファイル] タブをクリックします。
  4. [アップロード] をクリックします。
  5. "ディレクトリアドレス" ボックスに、ファイルをアップロードするディレクトリを設定します。
    • 現在のディレクトリ: このオプションを選択すると、ファイルは現在のディレクトリにアップロードされます。
    • ディレクトリの指定: このオプションを選択した場合、ディレクトリを指定する必要があります。OSS は自動的に対応するフォルダを作成し、そのフォルダにファイルをアップロードします。
  6. [ファイル ACL] で、アップロードするファイルの読み取り/書き込み権限を選択します。デフォルトでは、ファイルはそれが属するバケットの読み/書き権限を継承します。
  7. [アップロード] で、アップロードする 1 つまたは複数のファイルをこの領域にドラッグ、または [ダイレクトアップロード] をクリックしてアップロードする 1 つまたは複数のファイルを選択します。

    ※アップロードされたファイルがバケット内の既存のファイルと同じ名前の場合、元のファイルは上書きされます。
    ※1 つ以上のファイルをアップロードするときは、ページを更新、または閉じないでください。 そのような操作があった場合、アップロードタスクは中断され、アップロードリストは消去されます。

オブジェクトのダウンロード

オブジェクトをバケットにアップロードすると、そのオブジェクトの URL を取得してダウンロードや、他のユーザーと共有などが可能になります。

始める前に

オブジェクトがバケットにアップロードされている必要があります。 詳しくは、オブジェクトのアップロードをご参照ください。

手順

  1. OSS コンソールにログインします。
  2. バケット名のリストで、作成したバケットの名前をクリックします。
  3. バケットの概要ページで、ファイル タブをクリックします。
  4. ダウンロードまたは共有するオブジェクトの名前をクリックするか、オブジェクトの右側にある プレビューをクリックします。 プレビューページには、次のオプションがあります。
    • ダウンロード:オブジェクトをローカルストレージデバイスにダウンロードします。 必要なオブジェクト数に応じて、次の方法でオブジェクトをダウンロードすることもできます。
      • 複数のオブジェクトをダウンロード:ファイルタブページで、複数のオブジェクトを選択してから、一括操作 > ダウンロード を選択します。
      • 単一オブジェクトをダウンロードします。ファイルタブページで、オブジェクトを選択してから詳細 > ダウンロード を選択します。
    • ファイル URL を開く:ブラウザでオブジェクトを表示します。 ブラウザで表示できないオブジェクト(Excel ファイルなど)は、URL を開くとダウンロードされます。

      ※バケットにリファラーホワイトリストが設定されていて、空のリファラーが許可されていない場合、その URL をブラウザーで直接開くことはできません。

    • ファイル URL のコピー:オブジェクトの URL をコピーして他のユーザーと共有し、ユーザーがその URL を使用してオブジェクトを表示またはダウンロードできるようにします。 また、次の方法でファイルの URL を取得することもできます。
      • 1 ファイル以上の URL の取得:ファイルページで、1 つ以上のファイルを選択してから、一括操作 > URL リストのエクスポートを選択します。
      • 1 ファイルの URL の取得:ファイル ページでファイルを選択し、詳細 > ファイル URL のコピー を選択します。
      ACL が非公開のオブジェクトの URL を共有する場合は、オブジェクトの URL を取得するときにプレビューページで 有効期間を設定する必要があります。 有効期間のデフォルト値は 3,600 秒で、最大値は 64,800 秒です。

      ※署名付き URL の有効期間は、NTP に基づいて計算されます。 オブジェクトの署名付き URL を他のユーザーと共有して、有効期間内に他のユーザーがその URL を使用してオブジェクトにアクセスできるようにすることができます。 オブジェクトの ACL が非公開の場合は、バケットに格納されているオブジェクトの URL に署名が追加されます。

    • ファイルパスのコピー:オブジェクトのパスをコピーします。 オブジェクトを検索するとき、またはオブジェクトに透かしを追加するときにパスを使用できます(画像の場合)。

オブジェクトの削除

OSS にオブジェクトを保存する必要がなくなった場合は、それ以上の変更をしないように削除します。

このタスクについて

OSS コンソールで、単一のオブジェクトまたは複数のオブジェクトを削除できます。 コンソールでは一度に最大 1,000 個のオブジェクトを削除できます。

※削除されたオブジェクトは回復できません。 慎重に操作を実行する必要があります。

手順

  1. [OSS コンソール] にログインします。
  2. バケット名一覧から、削除したいバケットの名前を選択します。
  3. [ファイル] をクリックします。
  4. 1つまたは複数のオブジェクトを選択し、[削除] をクリックし、 [ファイルの削除] ダイアログボックスを開きます。
  5. [OK] をクリックします。

バケットの削除

不要になったバケットを削除して、ストレージコストを節約することができます。

※削除したバケットは復元できないので、バケットの削除は慎重に行ってください。

前提条件

バケットを削除する前に、バケット内のすべてのオブジェクト (マルチパートアップロードタスクで生成されたフラグメントを含む) が削除されていることを確認します。 詳細は、「オブジェクトの削除」をご参照ください。

OSS コンソールでのバケットの削除

次の手順に従って、OSS コンソールでバケットを削除します。

  1. OSS コンソールにログインします。
  2. 左側のバケットリストで、削除するバケットをクリックし、[基本設定] タブをクリックします。
  3. [Bucket 管理] セクションで、[バケットを削除する] をクリックします。
  4. 表示されたダイアログボックスで、[OK] をクリックします。

ossutil によるバケットの削除

コマンドラインツール ossutil を使用して、バケットを削除することもできます。 詳細は、「バケット関連コマンド」をご参照ください。

ossbrowser によるバケットの削除

グラフィカル管理ツール ossbrowser を使用して、バケットを削除することもできます。 詳細は、「クイックスタート」をご参照ください。

OSS API/SDK によるバケットの削除

さまざまな言語の OSS API や SDK を使用して、バケットを削除できます。

  • API: DeleteBucket
  • Java SDK:バケットの削除
  • Python SDK:バケットの削除
  • PHP SDK:バケットを削除する
  • Go SDK:バケットの削除
  • C SDK:バケットの削除

ユーザーガイド

基本概念

OSS を使用する前に、次の基本概念を理解することを推奨します。

バケット

バケットは、OSS に格納されているオブジェクトのコンテナです。 すべてのオブジェクトは、バケットに格納されます。 Alibaba Cloud OSS のデータモデル構造は、階層型モデルではなくフラットモデルです。

  • すべてのオブジェクト (ファイル) は、対応するバケットに直接関連付けられています。 したがって、OSS には、ファイルシステムのようなディレクトリとサブフォルダの階層構造がありません。
  • ユーザーは複数のバケットを所有できます。
  • バケット名は OSS 全体を通して一意でなければなりません。また、バケットの作成後にバケット名を変更することはできません。
  • バケットには、無制限の数のオブジェクトを格納できます。

バケットの命名規則は次のとおりです。

  • バケット名は、小文字、数字、ハイフン ( - ) のみを使用できます。
  • プロジェクト名の先頭と末尾は、小文字または数字にする必要があります。
  • バケット名は 3 バイト以上 63 バイト以下にする必要があります。

オブジェクト

オブジェクトはファイルとも呼ばれ、 OSS に格納されている基本的なエンティティです。 オブジェクトは、メタデータ、データ、キーで構成されます。 キーは、 バケット内の一意のオブジェクト名です。 メタデータによって、最終変更時刻やオブジェクトサイズといったオブジェクトの属性が定義されます。オブジェクトのカスタムメタデータを指定することもできます。

オブジェクトのライフサイクルは、アップロードで始まり、削除で終わります。 ライフサイクルの間、オブジェクトの内容を変更することはできません。 オブジェクトを変更する場合は、既存のオブジェクトと同じ名前の新しいオブジェクトをアップロードして置き換える必要があります。 したがって、ファイルシステムとは異なり、OSS ではユーザーがオブジェクトを直接変更することはできません。

OSS には、追加アップロード機能があります。これにより、オブジェクトの最後にデータを続けて追加できます。

オブジェクトの命名規則は次のとおりです。

  • オブジェクト名には UTF-8 エンコードを使用する必要があります。
  • オブジェクト名は 1 バイト以上 1023 バイト以下にします。
  • オブジェクト名の先頭にバックスラッシュ (\) とフォワードスラッシュ (/) は使用できません。

※オブジェクト名では、大文字と小文字が区別されます。 特に明記しない限り、OSS ドキュメントに記載されているオブジェクトおよびファイルは、まとめてオブジェクトと呼ばれます。

リージョン

リージョンは、 OSS データセンターの物理的な場所を表します。 作成したバケットを保存する OSS のリージョンを選択できます。 レイテンシとコストを最小限に抑えることが可能なリージョン、あるいは特定の規制要件を満たすリージョンを選択できます。 一般的に、ユーザーに近いリージョンほど、アクセス速度は速くなります。

リージョンは、オブジェクトレベルではなくバケットレベルで設定します。 したがって、バケットに含まれるすべてのオブジェクトは同じリージョンに格納されます。 バケットの作成時にリージョンを指定します。 作成後に変更することはできません。

エンドポイント

エンドポイントは、 OSS へのアクセスに使用されるドメイン名です。 OSS は HTTP RESTful API を介して 外部サービスを提供します。 リージョンごとにエンドポイントが異なります。 同じリージョンでも、 イントラネットを経由したアクセスかインターネットを経由したアクセスかによって、 使用するエンドポイントは異なります。 たとえば、杭州リージョンの場合、インターネットエンドポイントは oss-cn-hangzhou.aliyuncs.com、イントラネットエンドポイントは oss-cn-hangzhou-internal.aliyuncs.com です。

AccessKey

AccessKey は、AccessKeyID と AccessKeySecret で構成されます。 この 2 つが 1 組で、アクセス ID が検証されます。 OSS では、 AccessKeyId と AccessKeySecret の対称暗号方式を使用して、 リクエスト送信者の身元が確認されます。 AccessKeyID は、ユーザーを識別するために使用されます。 AccessKeySecret は、ユーザーが署名を暗号化し、その署名を OSS で検証するために使用されます。 AccessKeySecret の機密性を保つ必要があります。 OSS では、AccessKey は次の 3 つの方法で生成されます。

  • バケット所有者が AccessKeys を申請します。
  • バケットの所有者が、 RAM を使用して第三者による AccessKeys の申請を許可します。
  • バケット所有者が、STS を使用して第三者による AccessKey の申請を許可します。

強力な一貫性

OSS では、オブジェクト操作はアトミックです。つまり中間状態がなく、操作は成功と失敗のどちらかです。 破損したデータや 部分的なデータが、OSS に書き込まれることはありません。

OSS でのオブジェクト操作は、非常に一貫性があります。 たとえば、ユーザーが アップロード (PUT) 成功のレスポンスを受信すると、そのオブジェクトはすぐに読み取り可能となり、 データはすでに 3 重に書き込まれています。 したがって、OSS は 書き込み後の読み取りに対して、強力な一貫性を提供します。 削除操作についても同じことが言えます。 ユーザーが オブジェクトを一旦削除すると、そのオブジェクトは直ちに削除されます。

OSS とファイルシステムの比較

比較項目 OSS ファイルシステム
データモデル OSS は、キー値のペア形式を使用した分散オブジェクトストレージサービスです。 ファイルシステムは、ファイルが格納されたディレクの階層ツリー構造です。
データ検索 オブジェクトは、一意のオブジェクト名 (キー) に基づいて取得されます。
"test1/test.jpg" といった オブジェクト名を使用できますが、これはオブジェクト ”test.jpg” が、"test1" という名前のディレクトリに保存されていることを示す訳ではありません。 OSS の場合、 "test1/test.jpg" と "a.jpg" には本質的な違いはありません。 異なる名前の オブジェクトへのアクセス中、同量のリソースが 消費されます。
ファイルはディレクトリ内のロケーションに基づいて取得されます。
利点 OSS は大規模な同時アクセスをサポートしています。つまり、過剰なリソースを使用せずに、大量の非構造化データ (画像、ビデオ、ドキュメントなど) を保存および取得できます。 データのコピーや置き換えが不要なため、ディレクトリの名前変更、移動、削除などのフォルダ操作は非常に簡単です。
注意点 格納されているオブジェクトを直接変更することはできません。
オブジェクトを変更する場合は、既存のオブジェクトと同じ名前の新しいオブジェクトをアップロードして置き換える必要があります。
システムのパフォーマンスは、単一デバイスの容量に依存します。 ファイルシステム内に作成されるファイルやディレクトリが多いほど、より多くのリソースが消費され、ユーザープロセスが長くなります。

そのため、OSS をファイルシステムにマッピングすることは推奨できません。 OSS を使用する際は、 画像、ビデオ、ドキュメントなど、大量の非構造化データを保存するための膨大なデータ処理能力といった利点を最大限に活用することを推奨します。

OSS の概念とファイルシステムの概念の対応表は次のとおりです。

OSS ファイルシステム
オブジェクト ファイル
バケット ホームディレクトリ
リージョン 該当なし
エンドポイント 該当なし
AccessKey 該当なし
該当なし マルチレベルディレクトリ
GetService ホームディレクトリリストの取得
GetBucket ファイルリストの取得
PutObject ファイルへの書き込み
AppendObject 既存のファイルへのデータの追加
GetObject ファイルの読み込み
DeleteObject オブジェクトの削除
該当なし ファイル内容の変更
CopyObject (同じターゲットとソース) ファイル属性の変更
CopyObject ファイルのコピー
該当なし ファイル名の変更

FAQ

セキュリティ

OSS回避策として、IPのホワイトリストとブラックリストの変換を実現する

OSS サービス自体は IP ブラックリストの機能を提供していません。OSS が提供するセキュリティメカニズムは主に次の 2 点を含みます。

  • 権限管理:バケットは、ユーザーのアプリケーションのシナリオに従って、プライベート、パブリック読み取り、パブリック読み取りおよび書き込みの 3 つのアクセス許可に設定できます。
  • 盗難防止連鎖設定を参照する:アクセス許可のホワイトリスト、詳細こちらをクリックを参照するように設定できます。

オブジェクトへの IP アクセスを制限する場合は、Content Delivery Network 介して間接的に IP ブラックリストを使用できます。

  1. ユーザーは Domains をバケットにバインドし、Content Delivery Network アクセラレーションを有効にすることができます。Content Delivery Network は OSS の設定を加速します。
  2. Content Delivery Network 正しく設定した後に、Content Delivery Network のブラックリストを介して、バケットへのアクセスブラックリスト制限を達成することができます。
ブラックリスト

Access Key ID と Access Key Secret の取得方法

  1. コンソール にログオンする。
  2. 最上部のメニューから[ AccessKeys ]を選択します。
  3. セキュリティに関するヒントが表示されたら、 [ AccessKey の管理を続ける ] をクリックします。

Access Key ID と Access Key Secret が表示されます。

データ保護

OSSはアップロードされたファイルの整合性をどのように確認しますか?

ETagsはOSSのオブジェクト用に作成されます。 ETagは、サーバーデータの変更があるかどうかを識別します。 ただし、ラベルはオブジェクトファイルのMD5値と等価ではなく、 ラベルをデータ整合性の検証の基礎として使用することは推奨されません。

OSSにアップロードされたファイルがローカルファイルと一貫性があるかどうかを確認するには、アップロード中にContent-MD5の値をファイルに添付してから、OSSサーバーがMD5チェックでユーザーを助けます。 OSSサーバによって受信されたファイルのMD5がContent-MD5値と等しい場合にのみ、アップロードプロセスが完了することができる。これにより、アップロードされたデータの一貫性が保証されます。

ドメイン/ネットワーク

リバースプロキシ経由でOSS内の自分のドメイン名にHTTPSを設定する

  • ドメイン 名: oss.a.com
  • バケット: bu
  • 用件: https://oss.a.comを介して buの下にあるオブジェクトにアクセスする
    1. バケット buにoss.a.com をバインドする。
    2. バインディングが成功したら、サーバー上のoss.a.com のリバースプロキシを構成します。
      リバースプロキシ設定の場合は、以下を参照してください(nginx 設定は、用件に基づいて設定を参照するだけです)。
      1. server {
      2. listen 443 ; #default_server;
      3. server_name oss.a.com;
      4. location / {
      5. root /alidata/www/ www-a-com/;
      6. //If the host and the bucket are not in the same region, use Internet.
      7. proxy_pass http://aialiyun.oss-cn-hangzhou-internal.aliyuncs.com/;
      8. proxy_set_header Referer http://www.test.com;
      9. }
      10. }
    3. oss.a.com のレコードをサーバーのIP アドレスに解決します。
    4. オブジェクトに正常にアクセスできるかどうかをテストします。必要に応じて、このドメイン名のSSL証明書をサーバーに追加できます。

OSSはユーザー自分のドメイン名を使用できますか

CNAMEアプローチ:
例:バケット名は 「cloudstorage」 で、オブジェクト名は 「image/pujing.jpg」の場合
パブリックアクセスアドレスは下記の通りです。
cloudstorage.oss.aliyuncs.com/image/pujing.jpg

ウェブサイトのCNAMEが www.myweb.com の場合
www.myweb.com cname <バインドされているバケット名>.oss.aliyuncs.com
アクセスアドレスは次の通りです。
http://www.myweb.com/image/pujing.jpg

OSS のアップロード速度が遅い

単一のクライアントがインターネットを介してデータをアップロードするシナリオの場合、アップロード速度は、主にクライアントのローカル帯域幅と、利用中のキャリアが提供するネットワークの品質によって影響されます。

同じリージョンのバケットを ECS からアップロードする場合は、イントラネット IP アドレスでアップロードすることを推奨します。イントラネットの安定性を利用するだけでなく、インターネット用の ECS のネットワークインターフェイスの負荷を軽減し、トラフィック費用を抑えることができます。

バケット管理

オブジェクトとディレクトリの移動および修正方法

OSS の保存されたファイルにはディレクトリ構造がなく、OSS のディレクトリ構造は “/“ のシミュレーションです。

OSS 上のファイル(oss:/bucket/123/456/789.jpg/)の末尾が「/」の場合、ディレクトリとして認識されます。

したがってオブジェクトの移動は、オブジェクトの名前を変更するのと同じように行います。オブジェクトを新しいパスの場所に手動でアップロードし、古いファイルを削除する必要があります(ディレクトリを削除するには、まずそのファイルを削除します)。

wwwアカウントを使用してOSSFSにバケットをアタッチする

rootユーザーの場合は、 umount / attached directoryコマンドを使用してディレクトリを切り離すことができます。
root以外のユーザーの場合は、次のコマンドを使用してディレクトリをデタッチできます。

  1. fusermount -u your_mountpoint

前提条件:接続するディレクトリ:test1;アカウント名:www(ログイン許可なし)。添付するバケット:dcces
通常のアカウントには必要な権限がないため、OSSFSのインストールパスを取得するためにwhich ossfsが使用されます。

  1. rootアカウントを使用してログインします。
  2. id wwwコマンドを実行して、UIDとGIDを取得します。
  3. ルートアカウントまたは他のアカウントを介してバケットを接続するディレクトリを作成し、次のコマンドを実行してディレクトリ所有者を変更します。
    1. chown -R www:root test1
  4. 次のコマンドを実行して、構成ファイルのアクセス権を変更します。
    1. chmod 600 passwd-ossfs
  5. 次のコマンドを実行して、構成ファイルの所有者と所属するグループを変更します。
    1. chown -R www:root passwd-ossfs
    2. sudo -u www / usr / local / bin / ossfs dcces test1 -ourl = https://oss-cn-hangzhou.aliyuncs.com -oallow_other -omp_umask = 007 -ouid = 504 -ogid = 0 -o passwd_file = ttpasswd- ossfs -odefault_permission = 750
  6. バケットをディレクトリに添付するには、次のコマンドを実行します。
    1. sudo -u www ls -ll test1

OSSオブジェクトへのアクセスログを見つける方法

OSS 内のオブジェクトへのアクセス記録を表示するには、OSS でロギングを有効にする必要があります。OSS のバケット属性では、ロギングを有効にし、ログを格納するバケットを設定できます。設定の手順を見つけることができます。

OSS ロギングでは、オブジェクトにアクセスした時間を記録できます。ユーザーは、一定期間内のオブジェクトに関する操作に関する情報を見つけることができます。各操作ログでは、「リモート IP」フィールドにはリクエストイニシエータの IP アドレスが記録され、「操作」フィールドにはアクセスリクエストのタイプが記録されます。2 つのフィールドおよび時間は、リクエストイニシエータの IP アドレスおよびオブジェクトファイルにアクセスするために使用されるリクエストタイプを識別するために使用することができます。

オブジェクト管理

OSS オブジェクト名のリネーム方法

2つの方法があります

  1. 古いファイルを削除し、名前を変更したファイルをアップロードします。
  2. オブジェクトのコピー元のファイルをコピーし、コピーしたファイルの名前を変更します。次に、コピー元のファイルを削除します。

署名

署名付き URL の java コードサンプル

署名付き URLのJava コードサンプルは次のとおりです。

  1. // Generate a presigned URL
  2. Date expires = new Date (new Date().getTime() + 1000 * 60); // 1 minute to expire
  3. GeneratePresignedUrlRequest generatePresignedUrlRequest =
  4. new GeneratePresignedUrlRequest(bucketName, key);
  5. generatePresignedUrlRequest.setExpiration(expires);
  6. URL url = client.generatePresignedUrl(generatePresignedUrlRequest);
  7. System.out.println(url.toString());

このセクションでは、指定された bucketName および key を持つオブジェクトが OSS にアップロードされ、ユーザーがオブジェクトの有効期限を設定できることを前提としています。詳細な操作については OSSClient#generatePresignedUrl およびGeneratePresignedUrlRequest の部分を参照してください。

API/SDK

OSS API DATEフィールドのフォーマットについて

OSS API リファレンスでは時刻を示す “DATE”のフィールドは HTTP1.1 でサポートされている GMT 形式に従わなければなりません。

date1 = 数字2桁<スペース>月<スペース>数字2桁
;day month year (例、 02 Jun 1982)
date2 = 数字2桁-月-数字2桁
;day-month-year (例、02-Jun-82)
date3 = 月<スペース>(数字2桁 | 数字1桁)
; month day(例、Jun 2)

※日付の前にゼロがなく、月と日の間にスペースが必要です。