

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

# Amazon RDS でリモートデータベースと Hue を使用する
<a name="hue-rds"></a>

デフォルトでは、Hue のユーザー情報とクエリ履歴は、マスターノード上のローカルの MySQL データベースに保存されます。または、Amazon S3 に保存されている設定と、Amazon Relational Database Service(Amazon RDS) の MySQL データベースを使用して、Hue が有効な 1 つ以上のクラスターを作成することができます。こうすることで、Amazon EMR クラスターを実行し続けなくても、Hue によって作成されたユーザー情報とクエリ履歴を永続化できます。設定ファイルは、Amazon S3 サーバーサイド暗号化機能を使って保存することをお勧めします。

最初に、Hue のリモートデータベースを作成します。

**外部の MySQL データベースを作成するには**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. [**Launch a DB Instance (DB インスタンスの作成)**] をクリックします。

1. MySQL を選択し、[**Select (選択)**] をクリックします。

1. [**Multi-AZ Deployment and Provisioned IOPS Storage (マルチ AZ 配置とプロビジョンド IOPS ストレージ)**] はデフォルトのままにして、[**Next (次へ)**] をクリックします。

1. [Instance Specifications (インスタンスの仕様)] はデフォルトのままにして、[Settings (設定)] を指定し、[**Next (次へ)**] をクリックします。

1. [Configure Advanced Settings] ページで、適切なセキュリティグループとデータベース名を選択します。使用するセキュリティグループは、少なくともクラスターのマスターノードからのポート 3306 に対するイングレス TCP アクセスを許可する必要があります。この時点でまだクラスターを作成していない場合、ポート 3306 への接続をすべてのホストに許可し、クラスターを起動した後にセキュリティグループを調整することができます。[**Launch DB Instance (DB インスタンスの起動)**] をクリックします。

1. RDS ダッシュボードで、[**Instances (インスタンス)**] を選択し、先ほど作成したインスタンスを選択します。データベースが使用できる時、dbname、username、password、および RDS instance hostname をメモします。クラスターの作成および設定時に、この情報を使用します。

**を使用してクラスターを起動するときに Hue の外部 MySQL データベースを指定するには AWS CLI**

を使用してクラスターを起動するときに Hue の外部 MySQL データベースを指定するには AWS CLI、RDS インスタンスの作成時にメモした情報を使用して設定オブジェクト`hue.ini`で を設定します。
**注記**  
外部にある同一のデータベースを使用するが、各クラスターはクエリ履歴とユーザー情報を共有する複数のクラスターを作成できます。
+ を使用して AWS CLI、Hue がインストールされたクラスターを作成し、作成した外部データベースを使用し、データベースプロパティを指定する Hue の設定分類を持つ設定ファイルを参照します。次の例では、データベース設定を指定する Amazon S3の設定ファイル `myConfig.json` を参照して、Hue がインストールされた状態でクラスターを作成します。
**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

  ```
  aws emr create-cluster --release-label emr-7.12.0 --applications Name=Hue Name=Spark Name=Hive \
  --instance-type m5.xlarge --instance-count 3 \
  --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles
  ```

  `myConfig.json` ファイルのコンテンツの例を以下に示します。*dbname*、*username*、*password*、および *RDS instance hostname* は、先ほど RDS ダッシュボードでメモした値に置き換えます。

  ```
  [{
    "Classification": "hue-ini",
    "Properties": {},
    "Configurations": [
      {
        "Classification": "desktop",
        "Properties": {},
        "Configurations": [
          {
            "Classification": "database",
            "Properties": {
              "name": "dbname",
              "user": "username",
              "password": "password",
              "host": "RDS instance hostname",
              "port": "3306",
              "engine": "mysql"
            },
            "Configurations": []
          }
        ]
      }
    ]
  }]
  ```

## トラブルシューティング
<a name="hue-rds-troubleshoot"></a>

**Amazon RDS フェイルオーバーの場合**  
Hue データベースインスタンスが応答しなくなったり、フェイルオーバー処理の途中であるために、クエリの実行中に遅延が発生する可能性があります。この問題に関する情報とガイドラインを以下に示します。
+ Amazon RDS コンソールにログインすると、フェイルオーバーイベントを検索できます。たとえば、フェイルオーバーが処理中または発生したことが表示されたら、"Multi-AZ instance failover started" や "Multi-AZ instance failover completed" などのイベントを探します。
+ RDS インスタンスがフェイルオーバーを完了するのに、約 30 秒かかります。
+ Hue で、クエリの応答に通常より長い時間がかかっている場合は、クエリの再実行を試みます。