約5分
DigitalOcean Spacesにファイルをアップロードしてリンクで共有する方法
DigitalOcean Spacesは、CDNを内蔵したS3互換オブジェクトストレージです。AktarのDigitalOcean Spacesプリセットは、Spacesのアクセスキーで接続します。
必要なもの
- DigitalOceanアカウント
- MacにインストールしたAktar
設定手順
- 1
Spaceを作成する
DigitalOceanのコントロールパネルで、近くのデータセンター(例:
fra1)にSpacesバケットを作成します。公開リンクに使うなら、CDNを有効にするのがおすすめです。 - 2
アップロードしたファイルを公開で読み取れるようにする
Spacesの新しいファイルはデフォルトで非公開で、Aktarはファイルごとの権限を設定しません。そのため公開読み取りはバケット側で許可する必要があります。たとえば
s3:GetObjectを許可するバケットポリシーを使います。適用方法はDigitalOceanのSpacesドキュメントに記載されています。うまく設定できたかどうかは、最後のステップの「接続をテスト」でわかります。 - 3
アクセスキーを作成する
バケットへの読み書き権限を持つSpaces access keyを作成し、Access KeyとSecret Keyをコピーします。シークレットは一度しか表示されません。
- 4
Aktarにアップロード先を追加する
設定 → アップロード先 → アップロード先を追加でDigitalOcean Spacesを選び、下の値を入力します。
- 5
テストして保存する
「接続をテスト」をクリックしてから、「保存」をクリックします。
Aktarでの設定
「設定 → アップロード先 → アップロード先を追加」で、次の値を入力します。項目名はアプリの表示と同じです。
| 項目 | 入力例 |
|---|---|
| プロバイダ | DigitalOcean Spaces |
| エンドポイント | https://fra1.digitaloceanspaces.comSpaceのリージョンです。 |
| リージョン | fra1 |
| アクセスキーID | DO00… |
| シークレットアクセスキー | •••••••• |
| バケット | your-space |
| 公開ベースURL | your-space.fra1.cdn.digitaloceanspaces.comCDNのアドレス、またはCDNに設定した独自ドメイン。 |
ヒント
- 公開ベースURLにはCDNのエンドポイントを使いましょう。閲覧者の近くでリンクがキャッシュされます。
- SpacesのCDNは独自ドメインに対応しているので、リンクに自分のドメインを使えます。
トラブルシューティング
リンクが403を返す
アップロードしたファイルが公開で読み取れない状態です。バケットに公開読み取りのポリシーを適用してください。Access Deniedエラーをご覧ください。
「接続をテスト」でバケットが見つからない
エンドポイントのリージョン(例:fra1)が、Spaceを作成したリージョンと一致しているか確認してください。
まだ解決しませんか?よくある質問を見るか、GitHubで質問してください。