

# Babelfish for Aurora PostgreSQL DB クラスターの作成
<a name="babelfish-create"></a>

Babelfish for Aurora PostgreSQL のこのリリースは Aurora PostgreSQL バージョン 13.4 以降のリリースでサポートされています。

AWS マネジメントコンソール または AWS CLI を使用して、Babelfish で Aurora PstgreSQL クラスターを作成できます。

**注記**  
Aurora PostgreSQL クラスターでは、`babelfish_db` データベース名は Babelfish 用に予約されています。Aurora PostgreSQL の Babelfish に独自の「babelfish\$1db」データベースを作成すると、Aurora は正常に Babelfish のプロビジョニングができなくなります。

## コンソール
<a name="babelfish-create-cluster.console"></a>

**AWS マネジメントコンソール で実行している Babelfish を使ってクラスターを作成する方法**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) で Amazon RDS コンソールを開き、**データベースを作成**を選択します。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_1.png)

1. **データベース作成方法を選択する**には、次のいずれかを実行します:
   + 詳細なエンジンオプションを指定するには、**スタンダード作成**を選択します。
   + Aurora クラスターのベストプラクティスをサポートする事前設定済みのオプションを使用するには、**Easy Create (簡単作成)**を選択します

1. **[エンジンタイプには]** として、**[Aurora (PostgreSQL 互換)]** を選択します。

1. [**フィルターを表示**] を選択した後 [**Babelfish for PostgreSQL 特徴をサポートしているバージョンを表示する**] を選択し、Babelfish をサポートするエンジンの種類をリストアップします。Babelfish は現在 Aurora PostgreSQL バージョン 13.4 以降でサポートされています。

1. [**使用できるバージョン**] で、Aurora PostgreSQL のバージョンを選択します。Babelfish の最新機能を入手するには、Aurora PostgreSQL の最高メジャーバージョンを選択してください。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_3.png)

1. **テンプレート** で、ユースケースに合うテンプレートを選択します。

1. **DB cluster identifier (DB クラスター識別子)**で、後ほど DB クラスターリストで簡単に見つけられる名前を入力します。

1. [**マスターユーザーネーム**] で、管理者ユーザーネームを入力します。Aurora PostgreSQL のデフォルト値は `postgres` です。デフォルトを使用するか、別の名前を選択します。例えば、SQL Server データベースで使用される命名規則に従うには、マスターユーザー名に `sa` (システム管理者) と入力します。

   この時点で `sa` という名前のユーザーを作成しない場合、選択したクライアントを使用して後ほど作成できます。ユーザーを作成したら、`ALTER SERVER ROLE` コマンドを使用してクラスターの `sysadmin` グループ (ロール) に追加します。
**警告**  
マスターユーザー名は、常に小文字を使用する必要があり、そうしないと、DB クラスターは TDS ポート経由で Babelfish に接続できません。

1. [**マスターパスワード**] には、強力なパスワードを作成し、パスワードを確認します。

1. [**Bablfish の設定**] セクションまで続くオプションについては、DB クラスター設定を指定します。各設定の詳細については、「[Aurora DB クラスターの設定](Aurora.CreateInstance.md#Aurora.CreateInstance.Settings)」を参照してください。

1. Babelfish 機能を利用可能にするには、**Babelfish を有効にする**ボックスを選択します。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_5.png)

1. **DB クラスターのパラメータグループ**で、次のいずれかを実行します:
   + **新規作成**を選択し、Babelfish が有効な新しいパラメータグループを作成します。
   + **既存のものを選択**を選択して、既存のパラメータグループを使用します。既存のグループを使用する場合は、クラスターを作成する前にグループを変更し、Babelfish パラメータの値を追加してください。Babelfish パラメータの詳細については、[Babelfish の DB クラスターパラメータグループ設定](babelfish-configuration.md) を参照してください。

     既存のグループを使用する場合は、次のボックスにグループ名を入力します。

1. **データベース移行モード**の場合は、次のいずれかを選択します。
   + **単一データベース**を選択して、単一の SQL Server データベースを移行する。

     Aurora PostgreSQL への完全な移行が最終目標の場合などには、Babelfish を使用せずにネイティブ Aurora PostgreSQL へ複数のユーザーデータベースを一緒に移行することもできます。最終的なアプリケーションで統合スキーマ (単一の `dbo` スキーマ) が必要な場合は、まず SQL Server データベースを単一の SQL Server データベースに統合してください。その後、**単一データベース**モードを使用して Babelfish に移行します。
   + **マルチデータベース**による、複数の SQL Server データベース (単一の SQL Server インストールを発生元とする) の移行。マルチデータベースモードでは、単一の SQL Server インストールを発生元としないマルチデータベースは統合されません。マルチデータベースの移行については、[1 つのデータベースまたは複数のデータベースでの babelfish の使用](babelfish-architecture.md#babelfish-single_vs_multi_db) を参照してください。
**注記**  
Aurora PostgreSQL 16 バージョンから、デフォルトでデータベース移行モードとして**複数のデータベース**が選択されています。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_6.png)

1. **デフォルトの照合ロケール** で、サーバーロケールを入力します。デフォルトは `en-US` です。照合の詳細については、[Babelfish for Aurora PostgreSQL の照合順序について](babelfish-collations.md) を参照してください。

1. **照合順名**フィールドは、デフォルトの照合順序を入力します。デフォルトは `sql_latin1_general_cp1_ci_as` です。詳細については、「[Babelfish for Aurora PostgreSQL の照合順序について](babelfish-collations.md)」を参照してください。

1. **[Babelfish TDS ポート]** に、デフォルトポート `1433` を入力します。現在、Babelfish は、DB クラスターについてはポート `1433` のみをサポートしています。

1. [**DB パラメータグループ**] で、パラメータグループを選択するか、Aurora にデフォルト設定で新しいグループを作成させます。

1. **フェイルオーバー優先順位**で、インスタンスのフェイルオーバー優先度を選択します。値を選択しない場合、デフォルト値は `tier-1` になります。この優先度により、プライマリインスタンスの障害からの復旧時に、 レプリカを昇格する順序が決まります。詳しくは、「[Aurora DB クラスターの耐障害性](Concepts.AuroraHighAvailability.md#Aurora.Managing.FaultTolerance)」を参照してください。

1. **Backup retention period (バックアップ保持期間)** で、Aurora がデータベースのバックアップコピーを保持する期間 (1～35 日) を選択します。バックアップコピーは、2 番目のデータベースに対するポイントインタイム復元 (PITR) で使用できます。デフォルトの保持期間は 7 日間です。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_7.png)

1. **スナップショットにタグをコピー**を選択し、スナップショット作成時に DB インスタンスタグを DB スナップショットにコピーします。
**注記**  
スナップショットから DB クラスターを復元する場合、Babelfish for Aurora PostgreSQL DB クラスターとしては復元されません。Babelfish を再度有効にするには、DB クラスターパラメータグループの Babelfish 設定を制御するパラメータをオンにする必要があります。Babelfish パラメータの詳細については、「[Babelfish の DB クラスターパラメータグループ設定](babelfish-configuration.md)」を参照してください。

1. **Enable encryption (暗号化の有効)**をクリックして、この DB クラスター保存時の暗号化 (Aurora ストレージ暗号化) を有効にします。

1. **Performance Insights の有効**をクリックして Amazon RDS Performance Insights を有効にします。

1. DB クラスターが実行されているオペレーティングシステムに対してリアルタイムでのメトリクスの収集をスタートするには、**Enable enhanced monitoring (高度なモニタリングの有効)** を選択します。

1. **PostgreSQL ログ**を選択して、Amazon CloudWatch Logs にログファイルを発行します。

1. **マイナーバージョン自動アップグレードの有効化**を選択して、マイナーバージョンのアップグレードが利用可能な際に Aurora DB クラスターを自動的に更新します。

1. **Maintenance window (メンテナンスウィンドウ)** で、次の作業を行います。
   + Amazon RDS が変更やメンテナンスを実行する時間を設定するには、**ウィンドウを選択**を選びます。
   + 予定外の時刻に Amazon RDS メンテナンスを実行するには、**指定なし**を選択します。

1. **削除保護の有効化**ボックスを選択して、データベースが誤って削除されるのを防ぎます。

   この特徴を有効にすると、データベースを直接削除することができなくなります。代わりに、データベースを削除する前にデータベースクラスターを変更し、この特徴を無効にする必要があります。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_9.png)

1. [**データベースの作成**] を選択します。

Babelfish 用にセットアップされた新しいデータベースは、**データベース**リスティングから確認できます。デプロイが完了した際、**Staus (ステータス)** 列に **Available (使用可能)** が表示されます。

![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/bbf_create_cluster_10.png)


## AWS CLI
<a name="babelfish-create-cluster.CLI"></a>

Babelfish for Aurora PostgreSQL を作成する場合、AWS CLI を使用して、クラスターに使用する DB クラスターパラメータグループの名前をコマンドに渡す必要があります。詳しくは、「[DB クラスターの前提条件](Aurora.CreateInstance.md#Aurora.CreateInstance.Prerequisites)」を参照してください。

AWS CLI を使って Babelfish で Aurora PostgreSQL クラスターを作成するには、以下の操作を行います。
+ [Amazon Aurora エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/aurora.html)のサービスのリストから、エンドポイント URL を選択します。
+ クラスターのパラメータグループを作成します。パラメータグループの詳細については、「[Amazon Aurora のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。
+ パラメータグループを変更し、Babelfish を有効にするパラメータを追加します。<a name="babelfish.CLI.Creating.DBCluster"></a>

**AWS CLI を使用して Babelfish で Aurora PostgreSQL DB クラスターを作成する方法**

以下の例では、デフォルトのマスターユーザー名 `postgres` を使用しています。必要に応じて、`sa` または、デフォルトを受け入れなかった場合に選択したユーザー名など、DB クラスター用に作成したユーザー名に置き換えます。

1. パラメータグループを作成します。

   Linux、macOS、Unix の場合:

   ```
   aws rds create-db-cluster-parameter-group \
   --endpoint-url endpoint-url \
   --db-cluster-parameter-group-name parameter-group \
   --db-parameter-group-family aurora-postgresql14 \
   --description "description"
   ```

   Windows の場合:

   ```
   aws rds create-db-cluster-parameter-group ^
   --endpoint-url endpoint-URL ^
   --db-cluster-parameter-group-name parameter-group ^
   --db-parameter-group-family aurora-postgresql14 ^
   --description "description"
   ```

1. パラメータグループを変更して Babelfish を有効にします。

   Linux、macOS、Unix の場合:

   ```
   aws rds modify-db-cluster-parameter-group \
   --endpoint-url endpoint-url \
   --db-cluster-parameter-group-name parameter-group \
   --parameters "ParameterName=rds.babelfish_status,ParameterValue=on,ApplyMethod=pending-reboot"
   ```

   Windows の場合:

   ```
   aws rds modify-db-cluster-parameter-group ^
   --endpoint-url endpoint-url ^
   --db-cluster-parameter-group-name paramater-group ^
   --parameters "ParameterName=rds.babelfish_status,ParameterValue=on,ApplyMethod=pending-reboot"
   ```

1. 新しい DB クラスターの DB サブネットグループと Virtual Private Cloud (VPC) セキュリティグループ ID を認証し、[create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) コマンドを呼び出します。

   Linux、macOS、Unix の場合:

   ```
   aws rds create-db-cluster \
   --db-cluster-identifier  cluster-name\
   --master-username postgres \
   --manage-master-user-password \
   --engine aurora-postgresql \
   --engine-version 14.3            \
   --vpc-security-group-ids security-group \
   --db-subnet-group-name subnet-group-name \
   --db-cluster-parameter-group-name parameter-group
   ```

   Windows の場合:

   ```
   aws rds create-db-cluster ^
   --db-cluster-identifier cluster-name ^
   --master-username postgres ^
   --manage-master-user-password ^
   --engine aurora-postgresql ^
   --engine-version 14.3 ^
   --vpc-security-group-ids security-group ^
   --db-subnet-group-name subnet-group ^
   --db-cluster-parameter-group-name parameter-group
   ```

   この例では、マスターユーザーパスワードを生成して Secrets Manager で管理する `--manage-master-user-password` オプションを指定しています。詳細については、「[Amazon Aurora および AWS Secrets Manager によるパスワード管理](rds-secrets-manager.md)」を参照してください。または、`--master-password` オプションを使用して、自分でパスワードを指定して管理することもできます。

1. DB クラスターにプライマリインスタンスを明示的に作成します。次のように、[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) コマンドを呼び出すときに `--db-cluster-identifier` 引数に対してステップ 3 で作成したクラスターの名前を使用します。

   Linux、macOS、Unix の場合:

   ```
   aws rds create-db-instance \
   --db-instance-identifier instance-name \
   --db-instance-class db.r6g \
   --db-subnet-group-name subnet-group \
   --db-cluster-identifier cluster-name \
   --engine aurora-postgresql
   ```

   Windows の場合:

   ```
   aws rds create-db-instance ^
   --db-instance-identifier instance-name ^
   --db-instance-class db.r6g ^
   --db-subnet-group-name subnet-group ^
   --db-cluster-identifier cluster-name ^
   --engine aurora-postgresql
   ```