

# Oracle Database@AWS でのバックアップ
<a name="managing-backups"></a>

Oracle Database@AWS には、Oracle データベースを保護するための複数のバックアップオプションが用意されています。Amazon S3 とシームレスに統合する Oracle マネージドバックアップを使用するか、Oracle Recovery Manager (RMAN) を使用して独自のユーザー管理のバックアップを作成できます。

## Amazon S3 への Oracle マネージドバックアップ
<a name="s3-managed-backups-how-it-works"></a>

ODB ネットワークを作成すると、Oracle Database@AWS は Amazon S3 への Oracle マネージドバックアップのネットワークアクセスを自動的に設定します。OCI は、必要な DNS エントリとセキュリティリストを設定します。これらの設定により、OCI Virtual Cloud Network (VCN) と Amazon S3 間のトラフィックが許可されます。ODB ネットワークでは自動バックアップは有効化も制御もされません。

Oracle マネージドバックアップは OCI によって完全に管理されます。Oracle Exadata データベースを作成するときは、OCI コンソールで **[自動バックアップの有効化]** を選択して、自動バックアップを有効にできます。以下のいずれかのバックアップ先を選択します。
+ **Amazon S3**
+ **OCI Object Storage**
+ **Autonomous Recovery Service**

詳細については、OCI ドキュメントの「[Backup Exadata Database](https://docs.oracle.com/en-us/iaas/Content/database-at-aws-exadata-awscr/awscr-create-exadata-database.html)」を参照してください。

## Oracle Database@AWS での Amazon S3 へのユーザー管理のバックアップ
<a name="manual-backups-section"></a>

Oracle Database@AWS では、専用インフラストラクチャ上の Exadata Database Service を使用して、データベースのユーザー管理のバックアップを作成できます。Oracle Recovery Manager (RMAN) を使用してデータをバックアップし、Amazon S3 バケットに保存します。Oracle Database@AWS のマネージドサービスの利点を維持しながら、バックアップのスケジュール、保持ポリシー、ストレージコストを完全に制御できます。

**注記**  
Oracle Database@AWS は、専用インフラストラクチャ上の Autonomous データベースのユーザー管理のバックアップをサポートしていません。

ユーザー管理のバックアップは、Oracle Database@AWS が提供する AWS マネージドバックアップソリューションを補完します。コンプライアンス要件、クロスリージョンディザスタリカバリ、または既存のバックアップ管理ワークフローとの統合のために手動バックアップを使用できます。

次のユーザー管理のバックアップ手法を使用できます。

**Oracle Secure Backup**  
最適なパフォーマンスで Amazon S3 に直接バックアップをストリーミングします。

**Storage Gateway**  
Storage Gateway は、NFS 共有を使用するファイルベースのバックアップに使用します。

**S3 マウントポイント**  
ファイルクライアントを使用して、Amazon S3 バケットをローカルファイルシステムとしてマウントします。

### Oracle Database@AWS の Amazon S3 へのユーザー管理のバックアップの前提条件
<a name="manual-backups-prerequisites"></a>

Oracle Exadata データベースを Amazon S3 にバックアップする前に、次の操作を行います。

1. ODB ネットワークから Amazon S3 への直接アクセスを有効にします。

1. Oracle Database@AWS と Amazon S3 間のネットワーク接続とルーティングを設定します。

#### ODB ネットワークから Amazon S3 へのアクセスを有効にする
<a name="enabling-s3-customer-access"></a>

データベースを手動で Amazon S3 にバックアップするには、ODB ネットワークから S3 への直接アクセスを有効にします。この手法により、データベースはデータのインポート/エクスポートやユーザー管理のバックアップなどのビジネスニーズに合わせて Amazon S3 にアクセスできます。バックアップストレージのターゲット先を完全に制御でき、ポリシーを使用して VPC Lattice を使用した Amazon S3 へのアクセスを制限できます。

ODB ネットワークからの Amazon S3 への直接アクセスは、デフォルトでは有効になっていません。ODB ネットワークを作成または変更するときに S3 アクセスを有効にできます。

##### コンソール
<a name="S3Access.CON"></a>

**ODB ネットワークから Amazon S3 への直接アクセスを有効にするには**

1. [https://console.aws.amazon.com/odb/](https://console.aws.amazon.com/odb/) で Oracle Database@AWS コンソールを開きます。

1. ナビゲーションペインで **[ODB ネットワーク]** を選択します。

1. Amazon S3 アクセスを有効にする ODB ネットワークを選択します。

1. **[Modify]** (変更) を選択します。

1. **[Amazon S3]** を選択します。

1. (オプション) Amazon S3 ポリシードキュメントを設定してAmazon S3へのアクセスを制御します。ポリシーを指定しない場合、デフォルトのポリシーによってフルアクセスが付与されます。

1. **[続行]** を選択してから、**[修正]** を選択します。

##### AWS CLI
<a name="S3Access.CLI"></a>

ODB ネットワークから Amazon S3 への直接アクセスを有効にするには、`s3-access` パラメータを指定して `update-odb-network` コマンドを使用します。

```
aws odb update-odb-network \
  --odb-network-id odb-network-id \
  --s3-access ENABLED
```

Amazon S3 ポリシードキュメントを設定するには、`--s3-policy-document` パラメータを使用します。

```
aws odb update-odb-network \
  --odb-network-id odb-network-id \
  --s3-policy-document file://s3-policy.json
```

Amazon S3 アクセスを有効にすると、リージョン DNS `s3.region.amazonaws.com` を使用して ODB ネットワークから Amazon S3 にアクセスできます。OCI はこの DNS 名をデフォルトに設定します。カスタム DNS 名を使用するには、カスタム DNS がサービスネットワークエンドポイントの IP アドレスに解決されるように VCN DNS を変更します。

#### Oracle Database@AWS と Amazon S3 間のネットワーク接続の設定
<a name="managing-backups-routing"></a>

Amazon S3 へのユーザー管理のバックアップを許可するには、VM が S3 Amazon VPC エンドポイントにアクセスできる必要があります。OCI コンソールでは、ネットワークセキュリティグループ (NSG) のセキュリティルールを編集して、入出力トラフィックを制御できます。ユーザー管理のバックアップの場合、トラフィックはバックアップサブネットではなくクライアントサブネットを経由します。次の手順では、クライアントサブネットの NSG を更新して、VPC エンドポイント IP アドレスの出力ルールを追加します。

**VM に Amazon S3 エンドポイントへのアクセスを許可するには**

1. [https://console.aws.amazon.com/odb/](https://console.aws.amazon.com/odb/) で Oracle Database@AWS コンソールを開きます。

1. **[ODB ネットワーク]** を選択します。

1. ODB ネットワークの名前を選択します。

1. **[OCIリソース]** を選択します。

1. **[サービスの統合]** タブを選択します。

1. **[Amazon S3]** では、以下の情報をメモしておきます。
   + Amazon VPC S3 エンドポイントの IPv4 アドレス。この情報は後で必要になります。例えば、IP アドレスは `192.168.12.223` のようになります。
   + Amazon VPC S3 エンドポイントのドメイン名。この情報は後で必要になります。例えば、ドメイン名は `s3.us-east-1.amazonaws.com` のようになります。

1. 左側のナビゲーションペインで、[Exadata VM クラスター] を選択し、[VM クラスター名] を選択します。

1. ページの上部で、**[概要]** タブを選択します。

1. **[仮想マシン]** を選択し、VM の名前を選択します。

1. **[DNS 名]** の値をメモしておきます。これは、`ssh` を使用して VM に接続するときに指定するホスト名です。

1. 右上で、**[OCI で管理]** を選択します。これにより、OCI コンソールが開きます。

1. **[仮想クラウドネットワーク]** リストページで、ODB ネットワーククライアントサブネット (`exa_static_nsg`) のネットワークセキュリティグループ (NSG) を含む VCN を選択します。詳細については、OCI ドキュメントの「[Managing Security Rules for an NSG](https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/manage-nsg-security-rules.htm)」を参照してください。

1. 詳細ページで、表示されるオプションに応じて、次のいずれかのアクションを実行します。
   + **[セキュリティ]** タブで、**[ネットワークセキュリティグループ]** に移動します。
   + **[リソース]** で、**[ネットワークセキュリティグループ]** を選択します。

1. クライアントサブネットの NSG を選択します (`exa_static_nsg`)。

1. 前にメモした VPC エンドポイントアドレスの Egress ルールを追加します。

**VM から S3 への接続をテストするには**

1. `ssh` を使用して、以前に取得した DNS 名を持つ VM に `root` として接続します。接続するときに、SSH キーを含む `.pem` ファイルを指定します。

1. 次のコマンドを実行して、VM が Amazon S3 Amazon VPC エンドポイントにアクセスできることを確認します。前にメモしておいた S3 ドメイン名を使用します。

   ```
   # nslookup s3.us-east-1.amazonaws.com
   # curl -v https://s3.us-east-1.amazonaws.com/
   # aws s3 ls --endpoint-url https://s3.us-east-1.amazonaws.com
   ```

### Oracle Secure Backup を使用して Amazon S3 にバックアップする
<a name="manual-backups-osb"></a>

Oracle Secure Backup は、Recovery Manager (RMAN) で使用する SBT インターフェイスとして機能します。RMAN と Oracle Secure Backup を使用して、Oracle Database@AWS データベースを Amazon S3 に直接バックアップできます。Oracle Secure Backup には次の利点があります。
+ Oracle Secure Backup は、RMAN と S3 間のデータ転送を最適化します。
+ 中間バックアップストレージは必要ありません。
+ Oracle Secure Backup は、バックアップメディアのライフサイクルを管理します。

**Oracle Secure Backup を使用して Amazon S3 にバックアップするには**

1. Exadata VM サーバーに Oracle Secure Backup モジュールをインストールします。プレースホルダーの値を AWS アクセスキーとシークレットアクセスキーに置き換えます。詳細については、Oracle のドキュメントの「[Backup to Cloud with Oracle Secure Backup Cloud Module](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/backup-cloud-osb.html#GUID-EE4F48D8-61FA-4DAF-8169-FC42F15D828A)」を参照してください。

   ```
   cd $ORACLE_HOME/lib
   java -jar osbws_install.jar -AWSID aws-access-key-id -AWSKey aws-secret-access-key -walletDir $ORACLE_HOME/dbs/osbws_wallet -location us-west-2 -useHttps -awsEndPoint s3.us-west-2.amazonaws.com
   ```

1. RMAN に接続し、バックアップチャネルとデフォルトのデバイスタイプを設定します。

   ```
   RMAN target /
   RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u02/app/oracle/product/19.0.0.0/dbhome_2/lib/libosbws.so, ENV=(OSB_WS_PFILE=/u02/app/oracle/product/19.0.0.0/dbhome_2/dbs/osbwssmalikdb1.ora)';
   RMAN> CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
   ```

1. 設定を確認します。

   ```
   RMAN> SHOW ALL;
   ```

1. データベースをバックアップします。

   ```
   RMAN> BACKUP DATABASE;
   ```

1. バックアップが正常に完了したことを確認します。

   ```
   RMAN> LIST BACKUP OF DATABASE SUMMARY;
   ```

### Amazon EC2 で AWS Storage Gateway を使用して Amazon S3 にバックアップする
<a name="manual-backups-storage-gateway"></a>

AWS Storage Gateway は、オンプレミス環境を AWS クラウドストレージサービスに接続するハイブリッドサービスです。Oracle Database@AWS のバックアップの場合、Storage Gateway を使用して、Amazon S3 に直接書き込むファイルベースのバックアップワークフローを作成できます。Oracle Secure Backup 手法とは異なり、バックアップのライフサイクルを管理します。

このソリューションでは、Storage Gateway を設定するための個別の Amazon EC2 インスタンスを作成します。また、Amazon EBS ボリュームを追加して、Amazon S3 への読み取りと書き込みをキャッシュします。

この手法には次の利点があります:
+ Oracle Secure Backup などのメディアマネージャーは必要ありません。
+ 中間バックアップストレージは必要ありません。

**Storage Gateway をデプロイしてファイル共有を作成するには**

1. [https://console.aws.amazon.com/storagegateway/home/](https://console.aws.amazon.com/storagegateway/home/) AWS マネジメントコンソールを開き、ゲートウェイを作成する AWS リージョンを選択します。

1. Amazon EC2 インスタンスをハブとして使用して、Amazon S3 ファイルゲートウェイをデプロイしてアクティブ化します。「*Storage Gateway ユーザーガイド*」の「[S3 ファイルゲートウェイ用にカスタマイズされた Amazon EC2 ホストをデプロイする](https://docs.aws.amazon.com/filegateway/latest/files3/ec2-gateway-file.html)」の手順に従います。

   ファイルゲートウェイを設定するときは、以下を実行してください。
   + キャッシュストレージ用に、サイズが 150 GiB 以上の Amazon EBS ボリュームを少なくとも 1 つ追加します。
   + セキュリティグループの NFS アクセス用に TCP/UDP ポート 2049 を開きます。これにより、NFS ファイル共有を作成できます。
   + ゲートウェイのアクティブ化中に 1 回限りの HTTP アクセスを許可するために、インバウンドトラフィック用に TCP ポート 80 を開きます。このポートは、アクティブ化の後で閉じることができます。

1. ODB ネットワークと Storage Gateway 間のプライベート接続用の Amazon VPC エンドポイントを作成します。詳細については、「[インターフェイス VPC エンドポイントを使用して AWS サービスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。

1. Storage Gateway コンソールを使用して Amazon S3 バケットのファイル共有を作成します。詳細については、「[ファイル共有の作成](https://docs.aws.amazon.com/filegateway/latest/files3/GettingStartedCreateFileShare.html)」を参照してください。

**Storage Gateway を使用してデータベースを Amazon S3 にバックアップするには**

1. ターミナルで、`ssh` を使用して Exadata VM の DNS 名に接続します。DNS 名を見つけるには、「[Oracle Database@AWS の Amazon S3 へのユーザー管理のバックアップの前提条件](#manual-backups-prerequisites)」を参照してください。

1. NFS マウント用のディレクトリを Exadata VM クラスターサーバーに作成します。例えば、次の例では `/home/oracle/sgw_mount/` ディレクトリを作成します。

   ```
   mkdir /home/oracle/sgw_mount/
   ```

1. 作成したディレクトリに NFS 共有をマウントします。次の例では、ディレクトリ `/home/oracle/sgw_mount/` に共有を作成します。*SG-IP-address* を Storage Gateway の IP アドレスに置き換え、*your-bucket-name* を S3 バケットの名前に置き換えます。

   ```
   sudo mount -t nfs -o nolock,hard SG-IP-address:/your-bucket-name /home/oracle/sgw_mount/
   ```

1. RMAN に接続し、マウントされたディレクトリにデータベースをバックアップします。次の例では、チャネル `rman_local_bkp` を作成し、マウントポイントパスを使用してバックアップピースをフォーマットします。

   ```
   $ rman TARGET /
   RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK;
   RMAN> BACKUP FORMAT '/home/oracle/sgw_mount/%U' DATABASE;
   ```

1. バックアップファイルがマウントディレクトリに作成されていることを確認します。次の例は、2 つのバックアップピースを示しています。

   ```
   $ ls -lart /home/oracle/sgw_mount/
   total 8569632
   -rw-r----- 1 oracle asmdba 1112223334 Jul 10 20:51 1a2b34cd_1234_1_1
   drwxrwxrwx 1 nobody nobody 0 Jul 10 20:56 .
   -rw-r----- 1 oracle asmdba 5556667778 Jul 10 20:56 1a2b34cd_1235_1_1
   ```

### S3 マウントポイントを使用して Amazon S3 にバックアップする
<a name="manual-backups-s3-mount"></a>

Amazon S3 マウントポイントを使用して、最初にローカルにバックアップを作成し、次にそれを Amazon S3 にコピーできます。この手法では、ローカルストレージにバックアップを作成し、マウントポイントインターフェイスを使用して Amazon S3 に転送します。データを 2 回バックアップする必要があるため、バックアップ時間は他の手法よりも長くなります。

**注記**  
ステージングなしでマウントポイントを使用して Amazon S3 に直接バックアップすることはサポートされていません。RMAN には、Amazon S3 マウントポイントインターフェイスと互換性のない特定のファイルシステムのアクセス許可が必要です。

この手法では、Oracle Secure Backup などのメディアマネージャーのライセンスを取得する必要はありません。バックアップのライフサイクルを管理します。

**S3 マウントポイントを使用して Amazon S3 にバックアップするには**

1. ターミナルで、`ssh` を使用して Exadata VM の DNS 名に接続します。DNS 名を見つけるには、「[Oracle Database@AWS の Amazon S3 へのユーザー管理のバックアップの前提条件](#manual-backups-prerequisites)」を参照してください。

1. Exadata VM クラスターサーバーに Amazon S3 マウントポイントをインストールします。インストールと設定の詳細については、「*Amazon S3 ユーザーガイド*」の「[Mountpoint for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mountpoint.html)」を参照してください。

   ```
   $ sudo yum install ./mount-s3.rpm
   ```

1. `mount-s3` コマンドを実行してインストールを確認します。

   ```
   $ mount-s3 --version
   mount-s3 1.19.0
   ```

1. Exadata VM クラスターサーバーのローカルストレージに中間バックアップディレクトリを作成します。データベースをこのローカルディレクトリにバックアップし、バックアップを S3 バケットにコピーします。次の例では、ディレクトリ `/u02/rman_bkp_local` を作成します。

   ```
   mkdir /u02/rman_bkp_local
   ```

1. Amazon S3 マウントポイント用のディレクトリを作成します。次の例では、ディレクトリ `/home/oracle/s3mount` を作成します。

   ```
   $ mkdir /home/oracle/s3mount
   ```

1. マウントポイントを使用して Amazon S3 バケットをマウントします。次の例では、ディレクトリ `/home/oracle/s3mount` に S3 バケットをマウントします。*your-s3-bucket-name* を実際の Amazon S3 バケット名に置き換えます。

   ```
   $ mount-s3 s3://your-s3-bucket-name /home/oracle/s3mount
   ```

1. Amazon S3 バケットの内容にアクセスできることを確認します。

   ```
   $ ls -lart /home/oracle/s3mount
   ```

1. RMAN をターゲットデータベースに接続し、ローカルステージングディレクトリにバックアップします。次の例では、チャネル `rman_local_bkp` を作成し、パス `/u02/rman_bkp_local/` を使用してバックアップピースをフォーマットします。

   ```
   $ rman TARGET /
   
   RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK;
   RMAN> BACKUP FORMAT '/u02/rman_bkp_local/%U' DATABASE;
   ```

1. バックアップがローカルディレクトリに作成されたことを確認します。

   ```
   $ cd /u02/rman_bkp_local/
   $ ls -lart
   total 4252128
   drwxr-xr-x 8 oracle oinstall 4096 Jul 10 02:13 ..
   -rw-r----- 1 oracle asmdba 1112223334 Jul 10 02:13 abcd1234_1921_1_1
   drwxr-xr-x 2 oracle oinstall 4096 Jul 10 02:13 .
   -rw-r----- 1 oracle asmdba 5556667778 Jul 10 02:14 abcd1234_1922_1_1
   ```

1. バックアップファイルをローカルステージングディレクトリから Amazon S3 マウントポイントにコピーします。

   ```
   cp /u02/rman_bkp_local/* /home/oracle/s3mount/
   ```

1. ファイルが Amazon S3 に正常にコピーされたことを確認します。

   ```
   $ ls -lart /home/oracle/s3mount/
   total 4252112
   drwx------ 6 oracle oinstall 225 Jul 10 02:09 ..
   drwxr-xr-x 2 oracle oinstall 0 Jul 10 02:24 .
   -rw-r--r-- 1 oracle oinstall 1112223334 Jul 10 02:24 abcd1234_1921_1_1
   -rw-r--r-- 1 oracle oinstall 5556667778 Jul 10 02:24 abcd1234_1922_1_1
   ```

### Amazon S3 への直接アクセスの無効化
<a name="disabling-s3-customer-access"></a>

ODB ネットワークから Amazon S3 に直接アクセスする必要がなくなった場合は、無効にできます。S3 への直接ネットワークアクセスを有効または無効にしても、Amazon S3 への Oracle マネージドバックアップのネットワークアクセスには影響しません。

#### コンソール
<a name="DisableS3Access.CON"></a>

**Amazon S3 への直接アクセスを無効にするには**

1. [https://console.aws.amazon.com/odb/](https://console.aws.amazon.com/odb/) で Oracle Database@AWS コンソールを開きます。

1. ナビゲーションペインで **[ODB ネットワーク]** を選択します。

1. Amazon S3 アクセスを無効にする ODB ネットワークを選択します。

1. **[Modify]** (変更) を選択します。

1. **[S3 アクセスを有効にする]** チェックボックスをオフにします。

1. **[ODB ネットワークを変更する]** を選択します。

#### AWS CLI
<a name="DisableS3Access.CLI"></a>

`s3-access` パラメータを指定して、`update-odb-network` コマンドを使用します。

```
aws odb update-odb-network \
  --odb-network-id odb-network-id \
  --s3-access DISABLED
```

## Amazon S3 統合のトラブルシューティング
<a name="troubleshooting-s3-managed-backups"></a>

Amazon S3 への Oracle マネージドバックアップまたは Amazon S3 への直接アクセスで問題が発生した場合は、次のトラブルシューティング手順を検討してください。

**データベースから Amazon S3 にアクセスできない**  
以下をチェックしてください:  
+ ODB ネットワークで Amazon S3 アクセスが有効になっていることを確認します。`GetOdbNetwork` アクションを使用して、`s3Access` ステータスが `Enabled` かどうかを確認します。
+ 正しいリージョン DNS 名 (`s3.region.amazonaws.com`) を使用していることを確認します。
+ Oracle データベースに Amazon S3 にアクセスするために必要なアクセス許可があることを確認します。

**Oracle マネージドバックアップが失敗する**  
以下をチェックしてください:  
+ Amazon S3 への Oracle マネージドバックアップはデフォルトで有効になっており、無効にすることはできません。バックアップが失敗する場合は、Oracle データベースログで具体的なエラーメッセージを確認します。
+ サービス統合リソースを表示して、Amazon VPC Lattice リソースが正しく設定されていることを確認します。
+ Oracle マネージド自動バックアップの問題については、Oracle サポートにお問い合わせください。詳細については、「[Oracle Database@AWS のサポートを取得する](odb-troubleshooting-overview.md#oracle-database-aws-support)」を参照してください。