サーバー名を選択する
ユーザー向けのサーバー名は後から変更するのが難しい場合があります。委任と、ご利用のデプロイメントで使用されるwell-knownレコードを理解してください。Webログインの成功が両方を証明すると仮定せず、クライアントの検出とフェデレーションをテストしてください。
サポート対象のスタックを使用する
Synapseは本番データにPostgreSQLを使用するのが一般的で、規模や構成に応じて補助サービスが伴います。最新の上流の推奨事項に従ってください。ワーカー、データベース、リバースプロキシのタイムアウトを負荷に適合させてください。
暗号化に関する主張は正確に保つ
エンドツーエンド暗号化は、対応する暗号化ルーム内で参加クライアント間のコンテンツを保護します。ただし、ホームサーバーはメタデータや暗号化されていないコンテンツを依然として処理できます。クライアントのキーバックアップ、検証、アカウント回復については、それぞれ個別の説明が必要です。
インスタンスの保守
必要に応じて登録を制限し、管理用および共有シークレットのインターフェースを保護し、メディアとイベントの保持期間を意図的に設定してください。データベース、設定、署名キーを一貫してバックアップし、復旧をテストしてください。
クライアントとフェデレーションの経路を個別にテスト
ElementなどのクライアントはホームサーバーのクライアントAPIに接続し、他のホームサーバーはフェデレーションディスカバリーとエンドポイントを使用します。リバースプロキシの変更は一方を壊しつつ他方を動作させたままにする可能性があります。新しいアカウント、ローカルルーム、許可されたフェデレーションルームをテストし、クライアントから暗号化と復旧の動作を確認してください。
公式ドキュメント: 現行のSynapseインストールガイド
永続的なID情報を保持する
データベースはホームサーバーの身元のすべてではありません。署名鍵と関連する設定およびシークレットを、一貫したバックアップで保存してください。どの外部メディアと履歴が保持されるかを確認し、コミュニティに適したポリシーを設定してください。成長が障害になる前に、ストレージとワーカーキューを監視してください。
アカウント名とホスティングエンドポイントを分離する
アカウント作成前にMatrixのserver_nameを決定してください。これはユーザー識別子とルーム識別子の一部になります。ディスカバリー/委任が正しく設定されていれば、Synapseを提供するWebホスト名は異なっていてもかまいません。クライアントディスカバリーとサーバー間ディスカバリーの両方、有効な証明書、実際に到達可能なアドレスファミリーを計画してください。Elementはクライアントであり、ホームサーバーの代替ではありません。独立した管理者用の経路と、ホームサーバー外の復旧連絡先を確保してください。
- サポートされている Synapse リリースと、本番環境に適した PostgreSQL デプロイメントを選択してください。
- データベースと管理用リスナーをプライベートに保ってください。
- 登録およびフェデレーションポリシーを明示的に定義する。
公式ドキュメント: Synapseのインストール · Matrixの委任
ディスカバリーとプロキシをサービスの一部として構築する
選択したリリースの構成を生成し、署名キーとデータベースを永続化し、公式のSynapseガイダンスに従ってプロキシを構成してください。外部に公開されるオリジン、転送ヘッダー、リクエストパスが一致している必要があります。委任を使用する場合は、IDドメインから必要なwell-knownドキュメントを配信してください。プロキシのエラーを解決するために内部の生のAPIポートを公開しないでください。登録シークレットはブラウザクライアントの構成に含めないでください。
公式ドキュメント: Synapse リバースプロキシ
クライアントセッションとフェデレーションセッションをテストする
テストアカウントを作成し、対応クライアントを接続し、ローカルメッセージを送信して小さなファイルをアップロードします。クライアントの検出をフェデレーションの検出とは独立して検証し、フェデレーションを意図する場合は別の許可されたサーバーとのルームをテストします。暗号化されたルームでは、検証とクライアントの鍵復元フローを実行します。ホームサーバーのバックアップは、クライアントが保持するすべての復号鍵を自動的に復元するわけではありません。サーバーが保持するメタデータと、暗号化されるルームを説明してください。
# Discovery checks use your identity domain and HTTPS:
curl --fail https://example.com/.well-known/matrix/client
curl --fail https://example.com/.well-known/matrix/serverエラーの発生箇所を手がかりに修復範囲を絞り込みます
Element がサーバーを検出できない場合は、クライアントの well-known レスポンスと TLS のオリジンを確認してください。ローカルでのメッセージングは機能するがフェデレーションが失敗する場合は、フェデレーションの委任、到達可能なアドレス、証明書、ポリシーを確認してください。メディアの失敗が繰り返される場合は、アップロード制限やストレージが関係している可能性があります。データベース、メディア、設定、署名鍵を一貫して保存し、まずフェデレーションを無効にした状態で復元をテストしてください。これにより、演習が本番アイデンティティの競合コピーを生成することを防げます。