

# CEV の作成
<a name="custom-cev.create"></a>

AWS マネジメントコンソールまたはAWS CLIを使用して、CEV を作成できます。マルチテナントまたは非マルチテナントアーキテクチャのいずれかを指定します。詳細については、「[マルチテナントアーキテクチャの考慮事項](custom-creating.md#custom-creating.overview)」を参照してください。

通常、CEV の作成には約 2 時間かかります。CEV を作成したら、それを使用して RDS Custom DB インスタンスを作成またはアップグレードできます。詳細については、[RDS Custom for Oracle DB インスタンスを作成する](custom-creating.md#custom-creating.create)および[RDS Custom for Oracle DB インスタンスのアップグレード](custom-upgrading-modify.md)を参照してください。

**注記**  
DB インスタンスが現在 Oracle Linux 7.9 を使用している場合は、最新の AMI を使用する新しい CEV を作成して、Oracle Linux 8 を使用します。次に、新しい CEV を使用するようにインスタンスを変更します。

CEV の作成に関する次の要件と制限事項に注意してください。
+ インストールファイルを含む Amazon S3 バケットは CEV と同じ AWS リージョン にある必要があります。そうではない場合、作成プロセスは失敗します。
+ CEV 名は、`major-engine-version.customized_string` の形式にする必要があります (例: `19.cdb_cev1`)。
+ CEV 名には、1～50 個の英数字、アンダースコア、ダッシュ、またはピリオドを含める必要があります。
+ CEV 名には、`19..cdb_cev1` のように連続したピリオドを含めることはできません。

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

**CEV を作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) を開きます。

1. ナビゲーションペインで、[**カスタムエンジンバージョン**] を選択します。

   **カスタムエンジンバージョン**ページには、現在存在するすべての CEV が表示されます。CEV をまだ作成していない場合、ページは空です。

1. 「**カスタムエンジンバージョンの作成**」を選択します。

1. **[エンジンオプション]** で、次の操作を行います。

   1. **[エンジンのタイプ]** で、**[Oracle]** を選択します。

   1. **[アーキテクチャ設定]** で、オプションとして **[マルチテナントアーキテクチャ]** を選択し、DB エンジン `custom-oracle-ee-cdb` または `custom-oracle-se2-cdb` を使用する Oracle マルチテナント CEV を作成します。RDS Custom for Oracle CDB はマルチテナント CEV でのみ作成できます。このオプションを選択しない場合、CEV はエンジン `custom-oracle-ee` または `custom-oracle-se2` を使用する非 CDB です。
**注記**  
選択したアーキテクチャは、CEV の永続的な特性になります。後で別のアーキテクチャを使用するように CEV を変更することはできません。

   1. 次のいずれかのオプションを選択します。
      + **新規 CEV の作成** — CEV を最初から作成します。この場合、データベースバイナリを指定する JSON マニフェストを指定する必要があります。
      + **ソースからの CEV の作成** — **[コピーする CEV を指定してください]** で、ソース CEV として使用する既存の CEV を選択します。この場合、新しい Amazon マシンイメージ (AMI) を指定できますが、別のデータベースバイナリを指定することはできません。

   1. **[エンジンバージョン]** で、エンジンのメジャーバージョンを選択します。

1. **[バージョンの詳細]** で次の操作を行います。

   1. 有効な名前を **[カスタムエンジンバージョン名]** に入力します。例えば、 名前を**19.cdb\$1cev1**と入力します。

   1. (オプション) CEV の説明を入力します。

1. **[インストールメディア]** で、次の操作を行います。

   1. (オプション) **[AMI ID]** に、サービス提供の最新のAMIを使用する場合はフィールドを空白のままにするか、以前に CEV の作成に使用した AMI を入力します。有効な AMI ID を取得するには、次のいずれかの方法を使用します。
      + コンソールで、左側のナビゲーションペインで **[カスタムエンジンバージョン]** を選択し、CEV の名前を選択します。CEV が使用する AMI ID が **[設定]** タブに表示されます。
      + AWS CLI で、`describe-db-engine-versions` コマンドを使用します。`ImageID` の出力を検索します。

   1. **マニフェストファイルの S3 の場所**で、[ステップ 3: Amazon S3 へのインストールファイルをアップロードする](custom-cev.preparing.md#custom-cev.preparing.s3)で指定した Amazon S3 バケットの場所を入力します。例えば、 **s3://my-custom-installation-files/123456789012/cev1/**と入力します。
**注記**  
CEV を作成する AWS リージョン は、S3 バケットとしてのリージョンと同じである必要があります。

   1. (新規 CEV のみを作成) **[CEV マニフェスト]** には、[CEV マニフェストの作成](custom-cev.preparing.md#custom-cev.preparing.manifest.creating) で作成した JSON マニフェストを入力します。

1. **[KMS キー]** セクションで、**[キー ARN の入力]** を選択し、利用可能な AWS KMS キーをリストアップします。次に、リストから KMS キーを選択します。

   RDS Custom にはAWS KMSキーが必要です。詳細については、「[ステップ 1: 対称暗号化 AWS KMS キーを作成または再利用する](custom-setup-orcl.md#custom-setup-orcl.cmk)」を参照してください。

1. (オプション) **[新しいタグを追加]** を選択して、CEV のキーと値のペアを作成します。

1. **[カスタムエンジンバージョンの作成]** を選択します。

   JSON マニフェストの形式が無効な場合は、コンソールに「**CEV マニフェストの検証中にエラーが発生しました**」と表示されます。問題を修正して、再試行してください。

**カスタムエンジンバージョン**ページが表示されます。CEV が**作成**ステータスとともに表示されます。CEV の作成プロセスは、約 2 時間継続します。

## AWS CLI
<a name="custom-cev.create.CEV"></a>

AWS CLI を使用して CEV を作成するには、[create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) コマンドを実行します。

以下のオプションは必須です。
+ `--engine` — エンジンタイプを指定します。CDB の場合は、`custom-oracle-ee-cdb` または `custom-oracle-se2-cdb` を指定します。非 CDB の場合は、`custom-oracle-ee` または `custom-oracle-se2` を指定します。CDB は、`custom-oracle-ee-cdb` または `custom-oracle-se2-cdb` で作成した CEV からのみ作成できます。非 CDB は、`custom-oracle-ee` または `custom-oracle-se2` で作成した CEV からのみ作成できます。
+ `--engine-version` — エンジンバージョンを指定します。形式は、*major-engine-version*、*customized\$1string* です。CEV 名には、1～50 個の英数字、アンダースコア、ダッシュ、またはピリオドを含める必要があります。CEV 名には、`19..cdb_cev1` のように連続したピリオドを含めることはできません。
+ `--kms-key-id` – AWS KMS key を指定します。
+ `--manifest` - `manifest_json_string` または `--manifest file:file_name` のいずれかを指定します。改行文字は、`manifest_json_string` で許可されていません。JSON コードでは、必ず、二重引用符 (") の前にバックスラッシュ (\$1) 付けてエスケープしてください。

  次の例は、「[ステップ 5: CEV マニフェストを準備する](custom-cev.preparing.md#custom-cev.preparing.manifest)」の 19c の `manifest_json_string` について示しています。この例では、Oracle ベース、Oracle ホーム、UNIX/Linux ユーザーとグループの ID と名前に新しい値を設定します。次の文字列をコピーする場合は、コマンドに貼り付ける前にすべての改行文字を削除してください。

  `"{\"mediaImportTemplateVersion\": \"2020-08-14\",\"databaseInstallationFileNames\": [\"V982063-01.zip\"],\"opatchFileNames\": [\"p6880880_190000_Linux-x86-64.zip\"],\"psuRuPatchFileNames\": [\"p32126828_190000_Linux-x86-64.zip\"],\"otherPatchFileNames\": [\"p29213893_1910000DBRU_Generic.zip\",\"p29782284_1910000DBRU_Generic.zip\",\"p28730253_190000_Linux-x86-64.zip\",\"p29374604_1910000DBRU_Linux-x86-64.zip\",\"p28852325_190000_Linux-x86-64.zip\",\"p29997937_190000_Linux-x86-64.zip\",\"p31335037_190000_Linux-x86-64.zip\",\"p31335142_190000_Generic.zip\"]\"installationParameters\":{ \"unixGroupName\":\"dba\", \ \"unixUname\":\"oracle\", \ \"oracleHome\":\"/home/oracle/oracle.19.0.0.0.ru-2020-04.rur-2020-04.r1.EE.1\", \ \"oracleBase\":\"/home/oracle/\"}}"`
+ `--database-installation-files-s3-bucket-name` — [ステップ 3: Amazon S3 へのインストールファイルをアップロードする](custom-cev.preparing.md#custom-cev.preparing.s3) で指定したのと同じバケット名を指定します。`create-custom-db-engine-version` を実行する AWS リージョン は、Amazon S3 バケットと同じリージョンにある必要があります。

また、以下のオプションを指定することもできます。
+ `--description` — CEV の説明を指定します。
+ `--database-installation-files-s3-prefix` — [ステップ 3: Amazon S3 へのインストールファイルをアップロードする](custom-cev.preparing.md#custom-cev.preparing.s3) で指定したのと同じフォルダー名を指定します。
+ `--image-id` — 再利用する AMI ID を指定します。有効な ID を見つけるには、`describe-db-engine-versions` コマンドを実行し、`ImageID` の出力を検索します。デフォルトでは、RDS Custom for Oracle は入手可能な最新の AMI を使用します。

次の例では、`19.cdb_cev1` という名前の Oracle マルチテナント CEV を作成します。この例では、入手可能な最新の AMI を使用するのではなく、既存の AMI を再利用しています。CEV の名前が、エンジンのメジャーバージョン番号で始まっていることを確認してください。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds create-custom-db-engine-version \
2.     --engine custom-oracle-se2-cdb \
3.     --engine-version 19.cdb_cev1 \
4.     --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files \
5.     --database-installation-files-s3-prefix 123456789012/cev1 \
6.     --kms-key-id my-kms-key \
7.     --description "test cev" \
8.     --manifest manifest_string \
9.     --image-id ami-012a345678901bcde
```
Windows の場合:  

```
1. aws rds create-custom-db-engine-version ^
2.     --engine custom-oracle-se2-cdb ^
3.     --engine-version 19.cdb_cev1 ^
4.     --database-installation-files-s3-bucket-name us-east-1-123456789012-custom-installation-files ^
5.     --database-installation-files-s3-prefix 123456789012/cev1 ^
6.     --kms-key-id my-kms-key ^
7.     --description "test cev" ^
8.     --manifest manifest_string ^
9.     --image-id ami-012a345678901bcde
```

**Example**  
`describe-db-engine-versions`コマンドを実行してCEV に関する詳細を入手します。  

```
1. aws rds describe-db-engine-versions \
2.     --engine custom-oracle-se2-cdb \
3.     --include-all
```
次の部分出力例は、エンジン、パラメータグループ、マニフェストおよびその他の情報を示しています。  

```
 1. {
 2.     "DBEngineVersions": [
 3.         {
 4.             "Engine": "custom-oracle-se2-cdb",
 5.             "EngineVersion": "19.cdb_cev1",
 6.             "DBParameterGroupFamily": "custom-oracle-se2-cdb-19",
 7.             "DBEngineDescription": "Containerized Database for Oracle Custom SE2",
 8.             "DBEngineVersionDescription": "test cev",
 9.             "Image": {
10.                 "ImageId": "ami-012a345678901bcde",
11.                 "Status": "active"
12.             },
13.             "ValidUpgradeTarget": [],
14.             "SupportsLogExportsToCloudwatchLogs": false,
15.             "SupportsReadReplica": true,
16.             "SupportedFeatureNames": [],
17.             "Status": "available",
18.             "SupportsParallelQuery": false,
19.             "SupportsGlobalDatabases": false,
20.             "MajorEngineVersion": "19",
21.             "DatabaseInstallationFilesS3BucketName": "us-east-1-123456789012-custom-installation-files",
22.             "DatabaseInstallationFilesS3Prefix": "123456789012/cev1",
23.             "DBEngineVersionArn": "arn:aws:rds:us-east-1:123456789012:cev:custom-oracle-se2-cdb/19.cdb_cev1/abcd12e3-4f5g-67h8-i9j0-k1234l56m789",
24.             "KMSKeyId": "arn:aws:kms:us-east-1:732027699161:key/1ab2345c-6d78-9ef0-1gh2-3456i7j89k01",
25.             "CreateTime": "2023-03-07T19:47:58.131000+00:00",
26.             "TagList": [],
27.             "SupportsBabelfish": false,
28. ...
```

## CEV 作成の失敗
<a name="custom-cev.create.failure"></a>

CEV の作成プロセスが失敗した場合、RDS Custom はメッセージ `Creation failed for custom engine version major-engine-version.cev_name` を含む `RDS-EVENT-0198` を発行します。そこには、失敗に関する詳細が含まれています。例えば、イベントは不足ファイルを出力します。

障害が発生した CEV を変更することはできません。削除して、失敗の原因を解決してから再度 CEV の作成を試みるしか方法がありません。CEV 作成の障害発生理由のトラブルシューティングについては、[RDS Custom for Oracle のカスタムエンジンバージョン作成のトラブルシューティング](custom-troubleshooting.md#custom-troubleshooting.cev)を参照してください。