オブジェクトストレージ サービス基本情報

[更新日:2021年10月15日]

概要

「オブジェクトストレージ」は、HTTPSプロトコルを使用してファイル(オブジェクトストレージ)を保管、取得することができるサービスです。ファイル操作手続きはAmazon S3プロトコルを採用し、バックエンドストレージとしてお客様サービスへ容易に組み込むことが可能です。

料金

オブジェクトストレージ内でファイルを保管する基本的な単位である「バケット」ごとに料金が発生します。詳細については サービスサイト の料金表を参照ください。

注釈

・すべて月額単位での課金のみとなり日割/時間割料金の設定はありません。
・リクエスト数として課金対象となるステータスコードは 100 , 200 , 204 , 206 となります。
・さくらインターネット内部へのデータ転送(さくらのクラウド内のほか、さくらのVPS、専用サーバなどの他サービス含む)、さくらインターネット外部からのPUT/POSTメソッドを利用した通信は課金計算対象外となります。
・課金計算されるストレージ容量は、該当請求月内で利用した最大時の容量が適用されます。

サービス仕様

基本的な仕様は以下のとおりとなります。

項目 仕様
最大同時アクセス数 100
アクセス方法 Amazon S3互換
アクセスコントロール アクセスキー毎に設定
認証 Signature v4対応
キャッシュサーバの有無 無し
通信プロトコル https
その他 aws sdkを動作確認の基本としております。

リソース制限

初期状態では以下のリソース制限が行われます。

項目 制限値
1アカウントあたりの最大アクセスキー数 1個
1アカウントあたりの最大パーミッション設定数 30個
1パーミッション設定あたりの最大アクセスキー数 1個
1パーミッション設定あたりの最大適用バケット数 20バケット
1アカウントあたりの最大バケット数 20バケット
1バケットあたりの最大容量 10TiB
1バケットあたりの最大オブジェクト数 1,000万オブジェクト
1オブジェクトの最大サイズ 5TiB
1バケットあたりの最大アクセス数 毎秒100アクセス

注釈

1アカウントあたりの最大バケット数については、お客様のご利用状況により制限の緩和が可能です。ご希望のお客様はサポートまでご連絡ください。

ご利用手順

クラウドコントロールパネルのホーム画面より オブジェクトストレージ をクリックし、オブジェクトストレージ管理画面に移動します。

注意

管理者が ユーザ・アカウント機能 機能を使用して作成した個別のユーザがオブジェクトストレージを利用する場合、ユーザ管理画面で該当ユーザに対するオブジェクトストレージへのアクセス権限を付与する設定が必要となります(権限が付与されていない場合はホーム画面に「オブジェクトストレージ」が表示されません)。
設定方法については ユーザ・アカウント機能 のページを参照ください。

サイトの作成

最初にサイトの利用開始操作を行います。

注釈

サイトとは、実際にデータを格納するバケットなどのリソースが作成される物理的位置のことです。連携するシステムとの地理的な位置やDRなどを考慮し、バケットの作成先サイトを選択することが可能です。
現在は 石狩第1サイト のみが選択可能です。

左側のメニューより「サイト」を選択し、表示されるサイトのリストから利用を開始したいサイトを選択します。

確認のダイアログボックスが表示されるので、問題が無ければ「OK」をクリックし利用開始処理を行います。

利用開始処理が完了すると、オブジェクトストレージにアクセスするための アクセスキーIDシークレットアクセスキー が表示されます。

注意

シークレットアクセスキーはサイト利用開始処理が完了した後に表示されます。情報を紛失した場合は、サイト画面で発行済みのアクセスキーを削除後「アクセスキーの発行」ボタンを再度クリックすることで再発行することができます。なお、この操作によりアクセスキーIDとシークレットアクセスキーは新たなものが発行され、以前のものは利用できなくなりますのでご注意ください。

サイトの利用開始処理が完了するとAmazon S3互換プロトコルで接続可能なエンドポイントが作成されます。

注釈

実際のオブジェクトストレージへの接続の際は、こちらのサイト利用開始時に発行されるアクセスキーではなく、 パーミッション設定画面 で発行したアクセスキーを使用することを推奨します。

サイトの削除について

作成済みのサイトを選択し、3点ボタンをクリックして表示されるメニューより「サイトアカウントの削除」を選択することでサイトを削除することができます(サイトを削除する場合はサイト内のオブジェクトやバケットなどが全て削除済みである必要があります)。

注意

さくらのクラウドの解約時など、すべてのリソースを削除する必要がある場合は「サイト」を全て削除することによりオブジェクトストレージが未利用状態となります(「バケット」の全削除のみではオブジェクトストレージの利用が継続していると判定され、解約を行うことができません)。

バケットの作成

注意

オブジェクトストレージの基本料金は1バケットごとに発生します。そのため、新たなバケットの作成が完了した時点でそのバケットに対する基本料金の課金が開始されます。

実際にオブジェクトを格納するバケットを作成します。左側のメニューより「バケット」を選択し、いずれかの「バケットの追加」ボタンをクリックします。

バケット名を入力し「追加」ボタンをクリックします。

注釈

バケット名には半角3〜63文字の範囲で、英字(小文字)、数字、ダッシュ(-)が使用できます。また、バケット名はユーザやサイトに共通してオブジェクトストレージ全体で一意である必要があるため、他のお客様のご利用状況などによりご希望のバケット名が指定できない場合もあります。

バケット作成後はバケット一覧画面より詳細の確認や設定ができます。

また、作成したバケットを削除したい場合はリスト右側の3点ボタンをクリックし、「バケットの削除」を選択します。

注意

バケットにオブジェクトやフォルダが存在している場合は削除ができません。バケットを削除する際はオブジェクトやフォルダの削除後に行ってください。

バケットの操作

バケットに対してはコントロールパネルより以下の操作が可能です。

注釈

コントロールパネルから実行可能なバケット操作は限定されます。全ての操作を行う場合はAPI経由で行ってください。

作成済みの任意のバケットを選択し、上部に表示される オブジェクトパーミッションCORS設定 それぞれのタブを選択します。

「バケットACL」を設定することで、匿名アクセス時にオブジェクトリスト表示を許可する(Public read)または許可しない(Private)を選択することができます。

注釈

・デフォルトのバケットACLはPrivateとなります。
・バケットACLの設定値にかかわらずバケット内に設置したオブジェクト自体はデフォルトでPrivateとなるため、オブジェクトのACLを変更しない限りはリストからオブジェクトを選択しても内容を表示することはできません。

右上の3点ボタンをクリックして表示されるメニューより「バケットACLの編集」を選択します。

表示されるダイアログボックスより設定したい権限を選択し更新ボタンをクリックします。

選択可能なそれぞれの権限の許可内容は以下の通りです。

private 認証が必要なAPI経由でのみオブジェクトリストを取得できます。
public-read 認証が不要なURL経由でオブジェクトリストを取得できます。

「オブジェクト」タブ

「フォルダの作成」ボタンからバケット内にフォルダを作成することができます。表示されたダイアログボックスにフォルダ名を入力し、「作成」ボタンをクリックします。

注釈

フォルダ名は2〜128文字の範囲内で英数字、一部の記号( !_.*\'()-/ )が使用できます。また、末尾には必ず / が必要です。

作成したフォルダはオブジェクトタブ内に表示されます(API経由で作成されたフォルダも表示されます)。

それぞれのフォルダを選択することで、さらにそのフォルダ内に新たなフォルダを作成することが可能です。

注釈

コントロールパネルではフォルダの作成とリスト表示のみが可能です。削除や変更はAPI経由でのみ操作が行えます。

また、オブジェクトに対してオブジェクトACLの設定/オブジェクトの削除がが可能です。オブジェクトACLでは以下のいずれかのACLに設定することができます。

Private API経由でのアクセスのみ許可されます。
Public read アクセスキー不要でURLを指定することでアクセスできます。

オブジェクトACLは、バケット内のオブジェクトに対する一括操作、または個別のオブジェクトごとに設定が可能です。

一括変更する場合はリスト画面左側のチェックボックスで変更対象のオブジェクトにチェックを入れ、画面上部の「一括操作」メニューをクリックして「オブジェクトACLの編集」を選択します。

ダイアログボックスが表示されるので、設定したい権限をラジオボタンで選択し、更新ボタンをクリックします。

オブジェクト個別に設定する場合は、リスト画面の「オブジェクトACL」フィールドに表示されるリンクをクリックすることで設定します。

表示されるダイアログボックス内のラジオボタンで変更したいパーミッションを選択し、「更新」ボタンをクリックするとオブジェクトACLが変更されます。

また、オブジェクトを削除したい場合はリスト右側の3点ボタンをクリックし、「削除」を選択します。

確認のダイアログボックスが表示されるので、問題がなければ「削除」ボタンをクリックて削除を実行します。

注釈

削除したファイルは復旧できませんので削除作業時は十分ご注意ください。

「パーミッション」タブ

バケットに設定されたパーミッションを確認できます。

注釈

コントロールパネルでのパーミッション設定は パーミッション設定 の項目を参照ください。

「CORS設定」タブ

Amazon S3互換のCORS(Cross-Origin Resource Sharing)設定が行えます。上部に表示される切り替えボタンで、各設定値をフォーム形式で入力可能な「フォーム」とXML形式で直接入力できる「エディタ」の2種類の設定方法が利用できます。

「フォーム」入力を使用する場合は下部に表示される「追加」ボタンをクリックすることでCORSのルール設定フォームが表示されるので各設定項目のフォームに必要事項を入力します。複数のルールを設定する場合はさらに「追加」ボタンをクリックすることで追加でフォームが表示されます。

全ての入力が完了したら、「保存」ボタンをクリックして設定値を保存します。

パーミッション設定によるアクセスキーの発行

「パーミッション」メニューより、作成済みのバケットごとに指定したパーミッションでアクセスが行えるアクセスキーを発行することができます。左側メニューより「パーミッション」を選択後、いずれかの「パーミッションの追加」ボタンをクリックします。

ダイアログボックスが表示されるので、「名前」フィールドには設定したいパーミッション名を入力し、その下に表示される作成済みバケットのリストに対しポップアップメニューで以下のいずれかの権限を設定します。

  • READ (読み込みのみを許可)
  • WRITE (書き込みのみを許可)
  • READ/WRITE (読み込みおよび書き込みを許可)
  • NONE (読み込みも書き込みも許可しない ※デフォルト値)

設定完了後、下部の「追加」ボタンをクリックします。

バケットごとに設定したパーミッションで操作が可能となるアクセスキーが表示されます。

注意

シークレットアクセスキーはパーミッション設定完了後のみ表示されます。情報を紛失した際はパーミッションの再設定が必要となりますのでご注意ください。

設定後、設定済みパーミッションのリストに表示されます。任意のパーミッションをクリックすることで詳細の表示/設定を行うことができます。

「バケット」タブ

各バケットに対して設定済みのパーミッションの状態を確認することができます。「パーミッションタイプ」フィールドには現在設定中の許可状態が表示され、変更する場合はポップアップメニューから別の許可状態を選択します。

「アクセスキー」タブ

該当のパーミッション設定時に発行されたアクセスキーが表示されます。また、「アクセスキーの発行」ボタンより、新たなアクセスキーとシークレットアクセスキーのペアを設定することができます。

注意

アクセスキーの発行は1パーミッションあたり1個のみに制限されます。そのため、「アクセスキーの発行」ボタンを押下し2個以上発行することはできません。

また、作成したパーミッションの名前変更または削除を行う場合は、リスト右側の3点ボタンをクリックしそれぞれの操作を選択します。

注意

バケットへの設定後、格納しているオブジェクトにもACLを設定する必要があります(オブジェクトの操作はAPIからでも操作可能ですので、API経由での設定もご検討ください)。

Amazon S3互換クライアントの利用

オブジェクトストレージではAmazon S3互換APIが搭載されているため、対応したクライアントやツールによる操作が可能です。

重要

本項目で掲載した使用例は参考例となります。新オブジェクトストレージは全てのAmazon S3のAPIの動作を保証するものではなく、よってサードパーティー製のツールを使用した場合の操作についてはサポート対象外となります。

AWS CLIでの利用例

AWS CLIはAmazon Web Serviceが提供するコマンドライン操作ツールです。新オブジェクトストレージではAmazon S3互換APIを使用しているため、新オブジェクトストレージのエンドポイントをオプション引数に指定することでそのまま操作することが可能です。

注意

バケットの作成/削除を実行するAPIは提供していないため、コントロールパネルより操作してください。

初期設定

最初にconfigureオプションよりAWSコマンドにアクセスキー/シークレットアクセスキーの設定などを行います。

$ aws configure
AWS Access Key ID [None]: アクセスキーを入力
AWS Secret Access Key [None]: シークレットアクセスキーを入力
Default region name [None]: "jp-north-1" を入力
Default output format [None]: "json", "text" など
エンドポイントを指定して実行

--endpoint-url 引数に新オブジェクトストレージのエンドポイントを指定してサブコマンドを実行します。

$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 [サブコマンド]
バケット一覧の確認

ls サブコマンドによりバケット一覧を確認します。

$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls
2020-11-16 11:09:46 bucket01
2020-11-17 08:22:21 bucket02
2020-11-17 08:22:42 bucket03
オブジェクトのアップロード

cp サブコマンドによりローカルのファイルをバケット内にアップロードします。

$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 cp ~/test/file.txt s3://bucket1/
upload: ~/test/file.txt to s3://bucket1/file.txt
オブジェクトの確認

ls サブコマンドに続いてさらにバケット名を指定し、 --summarize および --recursive オプションを付与して実行することで、バケット内のオブジェクトの総数や総ディスク使用量を表示することができます。

$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls s3://bucket1/ --summarize --recursive
2021-03-31 13:42:45       5560 image01.jpg
2021-03-31 13:42:45       5560 image02.jpg
2021-03-31 13:42:45       5560 image03.jpg
2021-03-31 13:42:45       5560 image04.jpg
2021-03-31 13:42:45       5560 image05.jpg

Total Objects: 5
   Total Size: 27800
バケット内の削除

バケット内のオブジェクトを削除します。

$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 rm s3://bucket01
delete: s3://bucket01/abc/
delete: s3://bucket01/abc/def/
delete: s3://bucket01/test123/
delete: s3://bucket01/folder001/

※他にもオブジェクトの移動を行う mv などのサブコマンドが利用可能です。