デジタルオーシャンスペースをS3の代替オブジェクトストレージとして使う方法
DigitalOcean Spacesは、低コストでAmazon S3互換のオブジェクトストレージと組み込みのCDNを提供します。特にDigitalOceanのサービスを利用している場合、Spacesはバックアップファイルを保存する(プライベートリポジトリとして使用する際)ための優れた方法を提供し、CDN機能を使用して静的サイトをホストすることも可能です。
- 月額5ドル
- 250 GBのストレージスペース
- 1TBの出力転送
- 無制限のアップロード
- 無限の数のスペースの創造
この記事では、DigitalOcean Spacesの始め方とよく使われるいくつかの操作について探ります。
スペースを作る
DigitalOceanにサインインし、新しいスペースを作成することを選択すると、スペースをプロビジョニングするためのオプションが表示されます。次の内容を決定する必要があります:
- データセンター地域
- CDNを有効にするかどうか
- ファイルリストの表示を許可または制限する
- スペースの名前を決める
ファイルリストは、匿名ユーザーがファイルを表示できるかどうかを決定するものではなく、スペースに保存されたファイルの名前、サイズ、追加メタデータをリストすることができるかどうかのみを決定します。
この例では、データセンターリージョン2のサンフランシスコでスペースを作成し、CDNを有効にし(カスタムサブドメインなし)、匿名ファイルリストを制限することにします。
最後に、私たちはユニークな名前を選びます。
lc-articlesこの場合、プロジェクトにそれを配置するかどうか。次に、スペースを作成ボタンをクリックして、私たちのスペースをプロビジョニングします。
新しく作成されたスペースがない場合、ファイルは見えませんが、インターフェースを通じて、必要に応じて簡単にファイルをアップロードしたりフォルダーを作成したりできます。
設定をクリックすると、変更可能なすべての構成が表示されます。ここにあるいくつかの追加機能は非常に便利です。特に、キャッシュをクリアするオプションとCORSの設定が重要です。
スペースアクセスキーを生成する
アカウント → API セクションに移動し、トークン/キー セクションの下にあるスペースアクセスキー用の新しいキーを生成するオプションを見つけます。
アクセスキーを識別するための名前を入力してください。保存されると、キーと関連する秘密が表示されます。
秘密の値をコピーしておくことを確認してください。一度この値が隠されると、ページを移動したり別の操作を行ったりすると、この秘密の値に戻ることができなくなります。
私たちは、作成したDigitalOcean Spaceに接続するためにこれらの2つの値を使用します。
S3Cmdを設定する
この記事では、人気のあるS3Cmdツールを使用して、Ubuntuサーバーからファイルをアップロードする方法について説明します。S3Cmdのインストールは、Ubuntuで次のように行うことができます。
apt install s3cmd, 設定ファイルを作成する必要があります。始めるための最も簡単な方法は、次を使用することです。
s3cmd --configureコマンド。設定しなければならないさまざまな設定があります。
- アクセスキー - APIトークンページで作成したのと同じアクセスキーです。
- 秘密鍵 - APIトークンページで作成したのと同じ秘密鍵です。
- デフォルト地域 - この例ではデフォルトのアメリカのままです。
- S3エンドポイント - これは、スペースの設定ページに表示されているのと同じエンドポイントになります。
DNSベースのバケット構文 - デフォルト値の代わりに、これが正しいエンドポイントを反映する必要があります:
%(bucket)s.{region}.digitaloceanspaces.com{region}- 暗号化パスワード - この例では空白のままです。
- GPGプログラムパス - デフォルトのGPGプログラムパスを使用するために左に設定します。
- HTTPSプロトコル - HTTPSプロトコルを使用するデフォルトをそのままにします。
- プロキシ - プロキシ接続がない状態のデフォルトのままです。
設定ページに表示されている正しい値に置き換えてください。
設定ファイルを保存する前に、設定が正しいことを確認するためにテスト接続オプションを使用することも賢明です。
この動作を確認するには、単にコマンドを実行するだけです。
s3cmd ls新しく作成したスペース(S3の用語で言うバケット)の出力を確認すれば、接続が機能していることがわかります。
ファイルをアップロード中
私たちが最初にデモンストレーションする操作は、ファイルまたはファイルを私たちのスペースにアップロードすることです。ファイルをアップロードするためのコマンドは非常にシンプルです:
s3cmd put filename s3://DigitalOcean-Space-Name上記のスクリーンショットからもわかるように、ファイルは正常にアップロードされました。また、GUIでも確認できます。
ファイル一覧
どのようにして、現在スペースにある利用可能なファイルの一覧を表示できますか?標準のLinuxコマンドlsのように、S3Cmdでも同様のコマンドを使用します。
s3cmd ls s3://DigitalOcean-Space-Nameスペース内の特定のファイルに関する追加情報を取得するには、info コマンドを使用して、そのアイテムに関連するメタデータをリストすることができます。
s3cmd info s3://DigitalOcean-Space-Name/filenameファイルを削除する
ファイルの削除は、以前の操作と同じくらい簡単です。ファイルをアップロードし、そのファイルをリストできるようになったので、返されたパスを使用してファイルを削除することができます。
s3cmd del s3://DigitalOcean-Space-Name/filenameご覧の通り、私たちは[testfile1.zip](<http://testfile1.zip>)を削除し、コマンドラインを通じてそのファイルがスペース内にもはや表示されていないことを確認しました。さらに、GUIを確認すると、そのファイルが削除されたことも表示されています。
結論
DigitalOcean Spacesは、低コストのストレージ場所を利用しようとするシステム管理者のニーズの多くに適合する魅力的な低コスト機能の組み合わせを提供します。DigitalOceanは一般的に迅速な開発と堅牢なプロダクションサービスに焦点を当てているため、大きなファイルを迅速に保存し、複数のサーバーからアクセス可能にする能力は便利でよく使われる機能です。
最も一般的な使用例の1つは、ここにシステムバックアップを保存することです。TARやZIPファイルを作成するなどの従来のバックアップ方法を使用する場合、スクリプトでそれらのファイルをDigitalOcean Spaceに簡単に転送できます。DigitalOceanのサイトで、始めるのがどれほど簡単で迅速であるかを確認してください!














