

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ベストプラクティス
<a name="best-practices"></a>

このセクションでは、このガイドの要点をいくつか示します。各ポイントの詳細な説明については、対応するセクションへのリンクに従ってください。

## マネージド PostgreSQL AWS のオプションを比較する
<a name="managed-postgres"></a>

AWS には、マネージド環境で PostgreSQL を実行するための 2 つの主要な方法があります。（このコンテキストでは、 マネージドとは、PostgreSQL インフラストラクチャと DBMS が AWS サービスによって部分的または完全にサポートされていることを意味します）。のマネージド PostgreSQL オプション AWS には、バックアップ、フェイルオーバー、最適化、PostgreSQL の一部の管理を自動化する利点があります。マネージドオプションとして、 は Amazon Aurora PostgreSQL 互換エディションと PostgreSQL 用の Amazon Relational Database Service (Amazon RDS) AWS を提供しています。PostgreSQL のユースケースを分析することで、これら 2 つのモデルから最適な選択肢を選択できます。詳細については、このガイドの[「Amazon RDS と Aurora の選択](db-selection.md)」セクションを参照してください。

## マルチテナント SaaS パーティショニングモデルを選択する
<a name="choose-model"></a>

PostgreSQL に適用可能な 3 つの SaaS パーティショニングモデルから選択できます。サイロ、ブリッジ、プールです。各モデルには利点と欠点があるため、ユースケースに応じて最適なモデルを選択する必要があります。Amazon RDS for PostgreSQL および Aurora PostgreSQL 互換は、3 つのモデルすべてをサポートしています。モデルの選択は、SaaS アプリケーションでテナントデータの分離を維持する上で重要です。これらのモデルの詳細については、このガイドの[PostgreSQL のマルチテナント SaaS パーティショニングモデル](partitioning-models.md)」セクションを参照してください。

## プール SaaS パーティショニングモデルに行レベルのセキュリティを使用する
<a name="use-rls"></a>

PostgreSQL でプールモデルでテナントデータの分離を維持するには、行レベルのセキュリティ (RLS) が必要です。これは、プールモデルでテナントごとにインフラストラクチャ、PostgreSQL データベース、またはスキーマ間に論理的な分離がないためです。RLS は、分離ポリシーの適用をデータベースレベルで一元化し、ソフトウェア開発者からの分離を維持する負担を軽減します。RLS を使用して、データベースオペレーションを特定のテナントに制限できます。詳細と例については、このガイドの[「行レベルのセキュリティに関する推奨事項](rls.md)」セクションを参照してください。