Denodo Platform 用のカスタム AMI の作成

Denodo は、Solution Manager で管理するように特別に構成された Denodo Platform 8.0 用の AMI (Amazon Machine Image) を提供しています。これは、[Default region & AMIs] セクションで選択するか、または 自動モード でクラスタを作成する際に、 [Configuration] > [Automated mode] > [AWS] ページで選択する AMI です。

Denodo が提供するこの AMI のオペレーティングシステムは Amazon Linux 2 です。独自の AMI を作成すると、別のオペレーティングシステムで Denodo を稼動させたり、この AMI のデフォルトオプションを変更したりできます。

ここでは、独自の AMI を作成し、Solution Manager で Denodo Platform を管理するように構成する方法を説明します。

重要

AMI を作成して、そこに Denodo Platform をインストールしただけでは、Solution Manager でその Denodo Platform を管理することはできません (つまり、この AMI に基づくインスタンスを作成し、Denodo コンポーネントを起動して停止するなどの操作が必要です)。まず、以下の手順に従って AMI を作成する必要があります。

重要

セキュリティ上の理由から、サーバーの起動や Denodo Platform によるその他の操作の実行を、「root」ユーザーで行わないでください。

  1. Denodo がサポートする Linux ディストリビューション のいずれかをベースにした AWS インスタンスを起動します。『 Denodo 8: Quick Start Guide with Automated Cloud Mode 』の「Launching an EC2 Instance for the Solution」のセクションの手順に従って実施してください。

    インスタンスのタイプを選択する際には、Denodo Platform の ハードウェアソフトウェア の要件を考慮してください。

  2. このインスタンスに接続して、ユーザーアカウント denodo を作成します。

    この操作は厳密には必要ではありませんが、このインストール環境を他のアプリケーションから分離するために、実行しておくことをお勧めします。以下に示すスクリプトは、この操作を実行することを想定しています。

  3. このインスタンスに、Denodo Platform 8.0 のインストーラーと最新の更新プログラム (利用可能な場合) をコピーします。

  4. アカウント denodo を使用してこのインスタンスにログインし、次のスクリプトを実行します。

unzip denodo-install-8.0-linux64.zip

sudo mkdir /opt/denodo
sudo chown --recursive ec2-user:ec2-user /opt/denodo/

unset DISPLAY
cd ~/denodo-install-8.0
chmod +x installer_cli.sh
./installer_cli.sh install

これによって、Denodo Platform のインストール先フォルダが作成され、インストーラーが起動します。

インストール中に以下の操作を行います。

  • [express] セットアップを選択します。デフォルトの設定は、ほぼすべての状況で有効です。

  • インストールパス: /opt/denodo/denodo-platform-8.0

重要

このインストールパスを使用してください。別のパスを使用してこの AMI を作成する場合は、以下に示すスクリプトを変更する必要があります。

  • License path: Enter キーを押します (何も入力しないでください)。

    このインスタンスは、License Manager に接続してライセンスを取得します。

  • すべてのコンポーネントについて、「 full 」と入力します。

  • [License Manager Server host] および [License Manager Server port] では、単に Enter キーを押します。

    これら 2 つのパラメータは、Solution Manager がこのインスタンスを起動するときに自動的に初期化されます。

  1. Python バージョン 3 がインストールされていることを確認します。そのためには、以下を実行します。

    which python3
    

    次のようなエラーが表示される場合は、Python バージョン 3 をインストールする必要があります。

    /usr/bin/which: no python3 in (/usr/local/bin:/bin:/usr/bin:...
    

    使用する Linux ディストリビューションによっては、Python 3 のインストール手順が異なる場合があります。CentOS などの RPM ベースのディストリビューションの場合は、次のコマンドを実行してください。

    sudo yum install python3
    
  2. 次のコマンドを実行して、必要な Python パッケージをインストールします。

    pip3 install --user requests boto3
    

    これにより、アカウント denodo 用の requests パッケージと boto3 パッケージがインストールされます。

  3. スクリプト denodo をダウンロードします。

    重要

    このスクリプトは、ユーザーアカウント denodo を使用して /opt/denodo/denodo-platform-8.0 に Denodo Platform をインストールしたものと想定しています。この設定でインストールしていない場合は、スクリプトを編集してください。

  4. 次のコマンドを実行して、このスクリプトをディレクトリ /etc/init.d にコピーします。

    sudo cp denodo /etc/init.d/
    sudo chmod +x /etc/init.d/denodo
    
  5. 次のコマンドを実行して、このスクリプトがオペレーティングシステムによって起動プロセス中に実行されるようにします。

    sudo chkconfig --add denodo
    sudo chkconfig --level 2345 denodo on
    
  6. AWS の EC2 Management Console に戻ります。Denodo Platform をインストールしたインスタンスを右クリックして、[Image] > [Create image] の順に選択します。

[Image name] にイメージ名を入力します (たとえば、「 Denodo Platform 8.0 GA - custom 」)。

[No reboot] のチェックがはずれていることを確認します。

手順 8 と手順 9 の目的は、オペレーティングシステムの起動時にスクリプト「denodo」が実行されるようにオペレーティングシステムを構成することです。このスクリプトは次のコマンドを実行します。

<DENODO_HOME>/tools/cloud/aws/aws_init_config.py start -DENODO_HOME=<DENODO_HOME> -logfile <DENODO_HOME>/denodo.log

Python スクリプト aws_init_config.py は以下の処理を実行します。

  1. Solution Manager からこの AMI ベースのインスタンスに渡される設定を読み取る。

  2. 渡された設定に基づいて、Denodo Platform の適切なコンポーネントを起動する (つまり、Virtual DataPort、Data Catalog、または Scheduler)。

System V 初期化ツールを使用しない場合は、起動プロセス中に次のコマンドを実行するようにオペレーティングシステムを構成します。

<DENODO_HOME>/tools/cloud/aws/aws_init_config.py start -DENODO_HOME=<DENODO_HOME> -logfile <DENODO_HOME>/denodo.log

<DENODO_HOME> はインストール環境のパスに置き換えてください。ログファイルは別のファイルに保存できます。必ずしも <DENODO_HOME>/denodo.log に保存する必要はありません。

注釈

本番環境でこの AMI を使用する前に、AWS の「 共有 Linux AMI のガイドライン 」に従って、攻撃を受ける可能性のある領域を縮小し、AMI の信頼性を高めることをお勧めします。