このドキュメントでは、Server CE および Ayakaleaf Pro における S3 のセットアップについて説明します。既存のデータを S3 互換ストレージに移行する方法については、別のガイドを参照してください。
s3.md ストレージを有効にして Ayakaleaf Pro をデプロイした場合、S3 に保存されるデータは暗号化されますか?いいえ。 データは暗号化されません。すべての履歴チャンク、テンプレートファイル、PDF、その他のファイルは平文で保存されます。サードパーティの外部 S3 ストレージプロバイダーを使用する場合は、データのセキュリティとプライバシーに十分注意してください。
データストレージに S3 の使用を検討すべき場合
シート数が 1000 未満のインスタンスでは、定期的な整合性のあるバックアップとともにローカルディスクストレージを使用することをおすすめします。
シート数が 1000 を超え、ローカルストレージの限界(容量またはスループット)に達する大規模なインスタンスでは、NFS などの他のネットワークベースのストレージソリューションよりも、S3 互換のオブジェクトストレージバックエンドを使用することをおすすめします。
S3 互換オブジェクトストレージの選択肢
S3 互換オブジェクトストレージの代表的な選択肢は次のとおりです。
- AWS S3:マネージド。AWS 上で Overleaf CE/Server Pro を実行している場合は AWS S3 を選ぶことをおすすめします
- MINIO:セルフホスト
- Ceph:セルフホスト
- 他のホスティングプロバイダーも何らかのマネージド S3 互換オブジェクトストレージを提供しています。すでにそのようなプロバイダーで Overleaf CE/Server Pro を実行している場合は、自前で運用する代わりにそれらを使用するとよいでしょう。
S3 互換オブジェクトストレージを選ぶ際のレイテンシーに関する考慮事項
Server CE/Server Pro インスタンスと S3 互換オブジェクトストレージ間のレイテンシーは、移行の完了にかかる時間に大きく影響します。レイテンシーは Server CE/Server Pro でのファイルアップロードのパフォーマンスにも影響し、ファイルのダウンロードが遅いと PDF のコンパイル時間にも大きな影響を与える可能性があります。Server CE/Server Pro インスタンスと S3 互換オブジェクトストレージの地理的な距離をできるだけ短くすることをおすすめします。マネージド環境では同じリージョンにバケットをプロビジョニングすること、オンプレミスのソリューションでは両者を同じキャンパス内で運用することを意味します。
S3 のセットアップ
4 つの「バケット」と 2 つの制限付きユーザーアカウントが必要です。overleaf-user-files と OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME は v6 より前のバージョンでのみ必要です。
バケットはパブリックにアクセス可能にしてはいけません
| | | |
|---|
| バケット | 用途 | サービス | 以前の /var/lib/overleaf/data 内の場所 |
overleaf-user-files | プロジェクトのユーザーファイル | filestore | user_files |
overleaf-template-files | テンプレートファイル | filestore | template_files |
overleaf-project-blobs | プロジェクト履歴の blob | history および読み取り専用の filestore | history/overleaf-project-blobs |
overleaf-chunks | 履歴チャンク | history | history/overleaf-chunks |
別の名前を選びたい、または選ぶ必要がある場合は、すべてのコマンドでそのカスタムバケット名を使用してください。
以下では、実際の認証情報の代わりにプレースホルダーを使用します。
| 環境変数 | 説明 |
|---|
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID | filestore サービスの制限付きユーザーのアクセスキー/ユーザー名。 |
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY | filestore サービスの制限付きユーザーのシークレットキー/パスワード。 |
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID | history サービスの制限付きユーザーのアクセスキー/ユーザー名。 |
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY | history サービスの制限付きユーザーのシークレットキー/パスワード。 |
Server CE と Server Pro が各バケットで必要とする権限はわずかです。
- オブジェクトの作成
- オブジェクトの取得
- オブジェクトの削除
- バケットの一覧表示
アクセスポリシー
filestore ユーザーのポリシーの例は次のとおりです。
history ユーザーのポリシーの例は次のとおりです。
変数の概要
AWS S3 を使用する場合
セルフホストの選択肢を使用する場合
MINIO のセットアップ
MINIO_ROOT_USER と MINIO_ROOT_PASSWORD は MINIO インスタンスの root 認証情報です。
mc の入手方法については、公式ドキュメントに従ってください。