Amazon EFS の統合 - Amazon Relational Database Service

Amazon EFS の統合

Amazon Elastic File System (Amazon EFS) は、サーバーレスで伸縮自在なファイルストレージを提供するため、ストレージ容量およびパフォーマンスのプロビジョニングや管理を行わずにファイルデータを共有できます。Amazon EFS では、ファイルシステムを作成し、NFS バージョン 4.0 および 4.1 (NFSv4) プロトコルを使用して VPC にマウントできます。そうすることで、他の POSIX 準拠のファイルシステムと同様に EFS ファイルシステムを使用できます。一般的な情報については、「Amazon Elastic ファイルシステムとは」および AWS ブログの「Amazon RDS for Oracle と Amazon EFS の統合」を参照してください。

Amazon EFS 統合の概要

Amazon EFS では、RDS for Oracle DB インスタンスと Amazon EFS ファイルシステムの間でファイルを転送できます。例えば、EFS を使用して次のユースケースをサポートできます。

  • アプリケーションと複数のデータベースサーバー間でファイルシステムを共有します。

  • トランスポータブル表領域データファイルなど、移行関連ファイル用の共有ディレクトリを作成します。詳細については、「Oracle トランスポータブル表領域を使用した移行」を参照してください。

  • サーバーに追加のストレージスペースを割り当てることなく、アーカイブされた REDO ログファイルを保存および共有できます。

  • UTL_FILE などの Oracle Database ユーティリティを使用してファイルの読み取りおよび書き込みを行います。

Amazon EFS 統合のメリット

他のデータ転送ソリューションではなく EFS ファイルシステムを選択すると、次のようなメリットがあります。

  • Amazon EFS および RDS for Oracle DB インスタンスの間で Oracle Data Pump ファイルを転送できます。Data Pump は EFS ファイルシステムから直接インポートするため、これらのファイルをローカルにコピーする必要はありません。詳細については、「Amazon RDS の Oracle にデータをインポートする」を参照してください。

  • データ移行は、データベースリンクを使用するよりも高速です。

  • RDS for Oracle DB インスタンスで、ファイルを保存するためのストレージ容量を割り当てることが回避できます。

  • EFS ファイルシステムでは、ストレージをプロビジョニングしなくてもストレージを自動的にスケーリングできます。

  • Amazon EFS 統合には最低料金やセットアップ費用はありません。お支払いいただくのは、使用分の料金だけです。

Amazon EFS 統合の要件

以下の要件を満たしていることを確認してください。

  • データベースが 19.0.0.0.ru-2022-07.rur-2022-07.r1 以降のデータベースを実行している。

  • DB インスタンスおよび EFS ファイルシステムは、同じAWS リージョン と VPC 内に存在する。

  • VPC は、enableDnsSupport 属性が有効になっている。詳細については、Amazon Virtual Private Cloud ユーザーガイドの「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。

  • EFS ファイルシステムでは、Standard または Standard IA ストレージクラスを使用している。

  • mount コマンドで DNS 名を使用するには、以下の条件が満たされている必要があります。

    • 接続する EC2 インスタンスは VPC 内にあり、Amazon が提供する DNS サーバーを使用するように設定されている必要があります。カスタム DNS サーバーはサポートされていません。

    • 接続する EC2 インスタンスの VPC で [DNS 解決][DNS ホスト名] の両方が有効になっている必要があります。

    • 接続する EC2 インスタンスは、EFS ファイルシステムと同じ VPC 内にある必要があります。

  • RDS 以外のソリューションを使用して EFS ファイルシステムをバックアップします。RDS for Oracle は、EFS ファイルシステムの自動バックアップや手動 DB スナップショットをサポートしていません。詳細については、「Amazon EFS ファイルシステムのバックアップ」を参照してください。

Amazon EFS と RDS for Oracle を統合するネットワークアクセス許可の設定

RDS for Oracle を Amazon EFS と統合するには、DB インスタンスが EFS ファイルシステムにネットワークアクセスできることを確認してください。詳細については、Amazon Elastic File System ユーザーガイド の「NFS クライアントの Amazon EFS ファイルシステムへのネットワークアクセス制御」を参照してください。

セキュリティグループによるネットワークアクセス制御

VPC セキュリティグループなどのネットワーク層セキュリティメカニズムを使用して、DB インスタンスから EFS ファイルシステムへのアクセスを制御できます。DB インスタンスの EFS ファイルシステムへのアクセスを許可するには、EFS ファイルシステムが次の要件を満たしていることを確認してください。

  • EFS マウント ターゲットは、RDS for Oracle DB インスタンスによって使用されるすべてのアベイラビリティーゾーンにあります。

    EFS マウントターゲットは、Amazon EFS ファイルシステムをマウントできる NFSv4 エンドポイントの IP アドレスを提供します。DNS 名を使用してファイルシステムをマウントすると、EC2 インスタンスと同じアベイラビリティーゾーンの EFS マウントターゲットの IP アドレスに解決されます。

    別の AZ の DB インスタンスが同じ EFS ファイルシステムを使用するように設定できます。マルチ AZ の場合、配置内の AZ ごとにマウントポイントが必要です。別の AZ への DB への DB インスタンスの移動が必要になる場合があります。そのため、VPC 内の各 AZ で EFS マウントポイントを作成することをお勧めします。デフォルトでは、コンソールを使用して新しい EFS ファイルシステムを作成すると、RDS はすべての AZ のマウントターゲットを作成します。

  • セキュリティグループは、マウントターゲットにアタッチされます。

  • セキュリティグループには、TCP/2049 (タイプ NFS) で RDS for Oracle DB インスタンスのネットワークサブネットまたはセキュリティグループを許可するインバウンドルールがあります。

詳細については、「Amazon Elastic File System ユーザーガイド」の「Creating Amazon EFS file systems」(Amazon EFS ファイルシステムの作成) と「マウントターゲットとセキュリティグループの作成と管理」を参照してください。

ファイルシステムポリシーによるネットワークアクセスの制御

Amazon EFS と RDS for Oracle の統合は、デフォルト (空) のEFS ファイルシステムポリシーで動作します。デフォルトのポリシーでは、認証に IAM を使用しません。代わりに、マウントターゲットを使用して、ファイルシステムに接続できる匿名クライアントへのフルアクセスを許可します。デフォルトポリシーは、ファイルシステムの作成時を含め、ユーザーが設定したファイルシステムポリシーが有効ではない場合は常に有効になります。詳細については、Amazon Elastic File System ユーザーガイドの「EFS ファイルシステムポリシー」を参照してください。

RDS for Oracle を含むすべてのクライアントの EFS ファイルシステムへのアクセスを強化するために、IAM アクセス許可を設定できます。この方法で、ファイルシステムポリシーを作成します。詳細については、Amazon Elastic File System ユーザーガイドの「ファイルシステムポリシーの作成」を参照してください。

Amazon EFS と RDS for Oracle を統合する IAM アクセス許可の設定

デフォルトでは、Amazon EFS 統合機能は IAM ロールを使用しません。USE_IAM_ROLE オプション設定は FALSE です。RDS for Oracle と Amazon EFS および IAM ロールを統合するには、DB インスタンスが Amazon EFS ファイルシステムにアクセスするために IAM アクセス許可を持っている必要があります。

ステップ 1: DB インスタンスの IAM ロールを作成し、ポリシーをアタッチする

このステップでは、RDS for Oracle DB インスタンスのロールを作成し、Amazon RDS が EFS ファイルシステムにアクセスできるようにします。

Amazon RDS が EFS ファイルシステムへのアクセスを許可する IAM ロールを作成するには
  1. IAM マネジメントコンソールを開きます。

  2. ナビゲーションペインで [ロール] を選択します。

  3. [ロールの作成] を選択します。

  4. [AWS のサービス] で、[RDS] を選択します。

  5. [ユースケースの選択] で、[RDS - Add Role to Database (ロールをデータベースに追加する)] を選択します。

  6. [次へ] をクリックします。

  7. アクセス許可ポリシーを追加しないでください。[次へ] をクリックします。

  8. [ロール名] を IAM ロールの名前 (例: rds-efs-integration-role) に設定します。オプションで [Description] 値を追加することもできます。

  9. [ロールの作成] を選択します。

サービスのアクセス許可を特定のリソースに限定するには、リソースベースの信頼関係で aws:SourceArn および aws:SourceAccount のグローバル条件コンテキストキーを使用することをお勧めします。これは、混乱した使節の問題に対する最も効果的な保護方法です。

両方のグローバル条件コンテキストキーを使用し、aws:SourceArn 値にアカウント ID を含めます。この場合は、aws:SourceAccount 値と aws:SourceArn 値のアカウントは、同じステートメントで使用する場合、同じアカウント ID を使用する必要があります。

  • 単一リソースに対するクロスサービスアクセスが必要な場合は aws:SourceArn を使用します。

  • そのアカウント内の任意のリソースをクロスサービス使用に関連付けることを許可する場合、aws:SourceAccountを使用します。

信頼関係では、aws:SourceArn グローバル条件コンテキストキーに、必ず、ロールにアクセスするリソースの完全な Amazon リソースネーム (ARN) を使用します。

次の AWS CLI コマンドでは、この目的で rds-efs-integration-role という名前のロールを作成します。

Linux、macOS、Unix の場合:

aws iam create-role \ --role-name rds-efs-integration-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": my_account_ID, "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname" } } } ] }'

Windows の場合:

aws iam create-role ^ --role-name rds-efs-integration-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": my_account_ID, "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname" } } } ] }'

詳細については、IAM ユーザーガイドの「IAM ユーザーにアクセス許可を委任するロールの作成」を参照してください。

ステップ 2: Amazon EFS ファイルシステムのファイルシステムポリシーを作成します。

このステップでは、EFS ファイルシステムのファイルシステムポリシーを作成します。

EFS ファイルシステムポリシーを作成または編集するには
  1. EFS 管理コンソールを開きます。

  2. [File Systems (ファイルシステム)] を選択します。

  3. [File systems (ファイルシステム)] ページで、ファイルシステムポリシーを編集または作成する対象のファイルシステムを選択します。そのファイルシステムの詳細ページが表示されます。

  4. [File system policy] (ファイルシステムポリシー) タブを選択します。

    ポリシーが空の場合は、デフォルトの EFS ファイルシステムポリシーが使用されます。詳細については、Amazon Elastic File System ユーザーガイドの「EFS ファイルシステムポリシー」を参照してください。

  5. [Edit] (編集) を選択します。[File system policy (ファイルシステムポリシー)] ページが表示されます。

  6. [Policy editor] (ポリシーエディタ) で次のようなポリシーを入力し、[Save] (保存) を選択します。

    { "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/rds-efs-integration-role" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite", "elasticfilesystem:ClientRootAccess" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-1234567890abcdef0" } ] }

ステップ 3: IAM ロールを RDS for Oracle DB インスタンスに関連付ける

このステップでは、IAM ロールを DB インスタンスに関連付けます。以下の要件に注意してください。

  • 必須の Amazon EFS アクセス許可ポリシーがアタッチされた IAM ロールへのアクセスが許可されている必要があります。

  • RDS for Oracle DB インスタンスには、一度に 1 つの IAM ロールのみを関連付けることができます。

  • インスタンスのステータスは [Available] (使用可能) である必要があります。

詳細については、Amazon Elastic File System ユーザーガイドの「Amazon EFS の ID とアクセス管理」を参照してください。

IAM ロールを RDS for Oracle DB インスタンスに関連付けるには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. [データベース] をクリックします。

  3. データベースインスタンスが使用できない場合は、[Actions (アクション)]、[Start (スタート)] の順に選択します。インスタンスのステータスに [Started (スタート済み)] と表示されたら、次のステップに進みます。

  4. 詳細を表示する Oracle DB インスタンスの名前を選択します。

  5. 接続性とセキュリティ」 タブで、ページ下部のIAM ロールを管理する セクションまでスクロールダウンします。

  6. IAM ロールをこのインスタンスに追加するセクションに追加するロールを選択します。

  7. [Feature] (機能) で、[EFS_INTEGRATION] (EFS 統合) を選択します。

  8. [Add role] を選択します。

以下の AWS CLI コマンドでは、mydbinstance という名前の Oracle DB インスタンスにこのロールを追加します。

Linux、macOS、Unix の場合:

aws rds add-role-to-db-instance \ --db-instance-identifier mydbinstance \ --feature-name EFS_INTEGRATION \ --role-arn your-role-arn

Windows の場合:

aws rds add-role-to-db-instance ^ --db-instance-identifier mydbinstance ^ --feature-name EFS_INTEGRATION ^ --role-arn your-role-arn

your-role-arn を、以前のステップで書き留めたロール ARN に置き換えます。EFS_INTEGRATION オプションには --feature-name が指定されている必要があります。

EFS_INTEGRATION (EFS 統合) オプションの追加

Amazon RDS for Oracle と Amazon EFS を統合するには、DB インスタンスが EFS_INTEGRATION オプションを含むオプショングループに関連付けられている必要があります。

同じオプショングループに属する複数の Oracle DB インスタンスは、同じ EFS ファイルシステムを共有します。異なる DB インスタンスは同じデータにアクセスできますが、異なる Oracle ディレクトリを使用することでアクセスを分割できます。詳細については、「RDS for Oracle と Amazon EFS ファイルシステム間のファイルの転送」を参照してください。

Amazon EFS 統合用のオプショングループを設定するには
  1. 新しいオプショングループを作成するか、EFS_INTEGRATION オプションを追加する既存のオプショングループを識別します。

    オプショングループの作成の詳細については、「オプショングループを作成する」を参照してください。

  2. オプショングループに [EFS_INTEGRATION] オプションを追加します。EFS_ID ファイルシステム ID を指定し、USE_IAM_ROLE フラグを設定する必要があります。

    詳細については、「オプショングループにオプションを追加する」を参照してください。

  3. 次のいずれかの方法を使用して、オプショングループを DB インスタンスに関連付けます。

    • 新しい Oracle DB インスタンスを作成して、オプショングループを関連付けます。DB インスタンスの作成については、「Amazon RDS DB インスタンスの作成」を参照してください。

    • Oracle DB インスタンスを変更し、オプショングループを関連付けます。Oracle DB インスタンスの変更方法については、「Amazon RDS DB インスタンスを変更する」を参照してください。

EFS 統合用のオプショングループを設定するには
  1. 新しいオプショングループを作成するか、EFS_INTEGRATION オプションを追加する既存のオプショングループを識別します。

    オプショングループの作成の詳細については、「オプショングループを作成する」を参照してください。

  2. オプショングループに [EFS_INTEGRATION] オプションを追加します。

    例えば、以下の AWS CLI コマンドでは、EFS_INTEGRATION オプションを、myoptiongroup という名前のオプショングループに追加します。

    Linux、macOS、Unix の場合:

    aws rds add-option-to-option-group \ --option-group-name myoptiongroup \ --options "OptionName=EFS_INTEGRATION,OptionSettings=\ [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"

    Windows の場合:

    aws rds add-option-to-option-group ^ --option-group-name myoptiongroup ^ --options "OptionName=EFS_INTEGRATION,OptionSettings=^ [{Name=EFS_ID,Value=fs-1234567890abcdef0},{Name=USE_IAM_ROLE,Value=TRUE}]"
  3. 次のいずれかの方法を使用して、オプショングループを DB インスタンスに関連付けます。

    • 新しい Oracle DB インスタンスを作成して、オプショングループを関連付けます。DB インスタンスの作成については、「Amazon RDS DB インスタンスの作成」を参照してください。

    • Oracle DB インスタンスを変更し、オプショングループを関連付けます。Oracle DB インスタンスの変更方法については、「Amazon RDS DB インスタンスを変更する」を参照してください。

Amazon EFS ファイルシステムのアクセス許可の設定

デフォルトでは、ルートユーザー (UID 0) のみが読み取り、書き込み、実行のアクセス許可を持ちます。他のユーザーがファイルシステムを変更できるようにするには、ルートユーザーは、明示的にアクセス許可を付与する必要があります。RDS for Oracle DB インスタンスのユーザーは others カテゴリに含まれます。詳細については、Amazon Elastic File System ユーザーガイドの「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作」を参照してください。

RDS for Oracle DB インスタンスによって EFS ファイルシステムのファイルを読み書きできるようにするには、次の手順を実行します。

  • Amazon EC2 またはオンプレミスインスタンスに、EFS ファイルシステムをローカルでマウントします。

  • きめ細かいアクセス許可を設定します。

例えば、other ユーザーに EFS ファイルシステムのルートへの書き込み許可を付与するには、このディレクトリで chmod 777 を実行します。詳細については、Amazon Elastic File System ユーザーガイドの「Amazon EFS ファイルシステムのユースケースとアクセス許可の例」を参照してください。

RDS for Oracle と Amazon EFS ファイルシステム間のファイルの転送

RDS for Oracle インスタンスと Amazon EFS ファイルシステム間でファイルを転送するには、Oracle ディレクトリを 1 つまたは複数作成し、DB インスタンスのアクセスを制御する EFS ファイルシステム権限を設定します。

Oracle ディレクトリの作成

ディレクトリを作成するには、rdsadmin.rdsadmin_util.create_directory_efs のプロシージャを使用します。 プロシージャには以下のパラメータがあります。

パラメータ名 データ型 デフォルト 必須 説明

p_directory_name

VARCHAR2

はい

Oracle ディレクトリの名前。

p_path_on_efs

VARCHAR2

はい

EFS ファイルシステムのパス。パス名のプレフィックスには /rdsefs-fsid/ パターンが使用されています。fsid は EFS ファイルシステム ID のプレースホルダーです。

例えば、fs-1234567890abcdef0 という名前の EFS ファイルシステムがあり、この mydir という名前のファイルシステムにサブディレクトリを作成する場合、次の値を指定できます。

/rdsefs-fs-1234567890abcdef0/mydir

fs-1234567890abcdef0 という EFS ファイルシステムに、/datapump1 という名前のサブディレクトリを作成したとします。次の例では、EFS ファイルシステムの /datapump1 ディレクトリを指す Oracle ディレクトリ DATA_PUMP_DIR_EFS を作成しています。p_path_on_efs パラメータのファイルシステムパス値の先頭には文字列 /rdsefs- が付きます。

BEGIN rdsadmin.rdsadmin_util.create_directory_efs( p_directory_name => 'DATA_PUMP_DIR_EFS', p_path_on_efs => '/rdsefs-fs-1234567890abcdef0/datapump1'); END; /

EFS ファイルシステム間のデータ転送: 例

次の例では、Oracle Data Pump を使用して、MY_TABLE という名前のテーブルを datapump.dmp ファイルにエクスポートしています。このファイルは EFS ファイルシステムにあります。

DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'TABLE', job_name=>null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-exp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /

次の例では、Oracle Data Pump を使用して、MY_TABLE という名前のテーブルを datapump.dmp ファイルからインポートしています。このファイルは EFS ファイルシステムにあります。

DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'TABLE', job_name => null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file ); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-imp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /

詳細については、「Amazon RDS の Oracle にデータをインポートする」を参照してください。

EFS_INTEGRATION (EFS 統合) オプションの削除

EFS_INTEGRATION オプションを RDS for Oracle DB インスタンスから削除するには、次のいずれかを実行します。

  • 複数の DB インスタンスから EFS_INTEGRATION オプションを削除するには、DB インスタンスが属しているオプショングループから EFS_INTEGRATION オプションを削除します。この変更はそのオプショングループを使用するすべての DB インスタンスに影響します。詳細については、「オプショングループからオプションを削除する」を参照してください。

  • 1 つの DB インスタンスから EFS_INTEGRATION オプションを削除するには、インスタンスを変更し、EFS_INTEGRATION オプションを含まない別のオプショングループを指定します。デフォルト (空) のオプショングループや別のカスタムオプショングループを指定できます。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。

Amazon EFS 統合のトラブルシューティング

RDS for Oracle DB インスタンスは、Amazon EFS ファイルシステムとの接続をモニタリングしています。モニタリングによって問題が検出されると、その問題を修正して RDS コンソールにイベントを公開しようとする場合があります。詳細については、「Amazon RDS イベントの表示」を参照してください。

このセクションの情報を使用して、Amazon EFS 統合を使用する際の一般的な問題の診断と修正を行います。

Notification 説明 [アクション]

The EFS for RDS Oracle instance instance_name isn't available on the primary host. NFS port 2049 of your EFS isn't reachable.

DB インスタンスが、EFS ファイルシステムと通信できない。

以下を確認してください。

  • EFS ファイルシステムが存在している。

  • EFS マウントターゲットにアタッチされているセキュリティグループには、TCP/2049 (タイプ NFS) で RDS for Oracle DB インスタンスのセキュリティグループ、またはネットワークサブネットを許可するインバウンドルールがある。

The EFS isn't reachable.

EFS_INTEGRATION オプションのインストール中にエラーが発生した。

以下を確認してください。

  • EFS ファイルシステムが存在している。

  • EFS マウントターゲットにアタッチされているセキュリティグループには、TCP/2049 (タイプ NFS) で RDS for Oracle DB インスタンスのセキュリティグループ、またはネットワークサブネットを許可するインバウンドルールがある。

  • VPC の enableDnsSupport 属性が有効になっている。

  • お客様の VPC では Amazon が提供する DNS サーバーを使用しています。Amazon EFS 統合はカスタム DHCP DNS では機能しません。

The associated role with your DB instance wasn't found.

EFS_INTEGRATION オプションのインストール中にエラーが発生した。

IAM ロールが RDS for Oracle DB インスタンスに関連付けられていることを確認してください。

The associated role with your DB instance wasn't found.

EFS_INTEGRATION オプションのインストール中にエラーが発生した。RDS for Oracle は、USE_IAM_ROLE オプション設定が TRUE の DB スナップショットから復元されました。

IAM ロールが RDS for Oracle DB インスタンスに関連付けられていることを確認してください。

The associated role with your DB instance wasn't found.

EFS_INTEGRATION オプションのインストール中にエラーが発生した。RDS for Oracle は、USE_IAM_ROLE オプション設定が TRUE のオールインワン CloudFormation テンプレートから作成されました。

回避策として、以下のステップを実行します。

  1. IAM ロールとデフォルトのオプショングループを使用して DB インスタンスを作成します。

  2. 後続のスタックの更新では、EFS_INTEGRATION オプションを使用してカスタムオプショングループを追加します。

PLS-00302: component 'CREATE_DIRECTORY_EFS' must be declared

このエラーは、Amazon EFS をサポートしていないバージョンの RDS for Oracle を使用している場合に発生する可能性があります。

RDS for Oracle DB インスタンスのバージョン 19.0.0.0.ru-2022-07.rur-2022-07.r1 以降を使用していることを確認してください。

Read access of your EFS is denied. Check your file system policy.

DB インスタンスは EFS ファイルシステムを読み取ることができません。

EFS ファイルシステムが IAM ロールまたは EFS ファイルシステムレベルでの読み取りアクセスを許可していることを確認してください。

該当なし

DB インスタンスは EFS ファイルシステムに書き込むことができません。

次のステップを実行します。

  1. EFS ファイルシステムが Amazon EC2 インスタンスにマウントされていることを確認してください。

  2. others グループに RDS ユーザーへの書き込み権限を付与します。EFS ファイルシステムのトップディレクトリで chmod 777 コマンドを実行するのが一番簡単です。

host -s コマンドは hostname not found: 3(NXDOMAIN) を返します。

カスタム DNS サーバーを使用しています。

mount コマンドで DNS 名を使用するには、以下の条件が満たされている必要があります。

  • 接続する EC2 インスタンスは VPC 内にあり、Amazon が提供する DNS サーバーを使用するように設定されている必要があります。カスタム DNS サーバーはサポートされていません。

  • 接続する EC2 インスタンスの VPC で [DNS 解決][DNS ホスト名] の両方が有効になっている必要があります。

  • 接続する EC2 インスタンスは、EFS ファイルシステムと同じ VPC 内にある必要があります。