Looker アプリケーションのインストール

このページでは、顧客がホストするデプロイ用に Looker アプリケーションをインストールする方法について説明します。

Looker アプリケーションのホストは、データの場所とは関係ありません。データは常にデータベースに保持され、Looker インスタンスにコピーされることはありません。

デプロイの仕様

インターネットに接続されていないネットワークで Looker を実行する場合、Looker のライセンス サーバーと通信するプロキシ サーバーを設定するか、BigQuery などのウェブ呼び出しのみを行うサーバーレス ウェブサービスを使用する必要があります。

Looker アプリケーションを次の最小要件を満たす専用マシンにインストールします。

  • 1.2 GHz CPU。Looker では 2 つ以上のコアを推奨します。
  • 8 GB の空き RAM。
  • 10 GB の空き容量。
  • スワップ ファイルの容量は 2 GB です。
  • Linux。Looker 内部のホスティングには Ubuntu Linux(LTS リリース)を使用しています。Linux を好まないお客様におすすめします。ただし、Looker は RedHat、CentOS、Amazon Linux など、すべての主要な Linux ディストリビューションの Looker でサポートされています。
  • Java OpenJDK 11.0.12 以降、OpenJDK 8.0.181 以降、または HotSpot 1.8 アップデート 161 以降。Looker は、パフォーマンスとメモリ使用量を改善するために OpenJDK(バージョン 11)を使用します。Looker では、追加のトラブルシューティング ツールを活用するために、JRE ではなく JDK を推奨しています。さらに、Looker では新しい Java アップデートがリリースされたら移行することをおすすめします。現時点では、Java、Oracle JDK、OpenJDK の他のバージョンはサポートされていません。
  • libssllibcrypt.so がシステム上に存在している必要があります。
  • TCP ポート 9999 を介した Looker インスタンスへの受信トラフィックを許可する必要があります。
  • ユーザーが API アクセスを必要とする場合は、TCP ポート 19999 を介した Looker インスタンスへの受信トラフィックを許可する必要があります。
  • Looker が AWS VCP プライベート ネットワークから AWS Redshift に接続する場合は、MTU を 1, 500 に設定する必要があります。この設定の詳細については、こちらの Amazon Web Services 記事インスタンスの MTU の構成をご覧ください。データベース接続テスト中に Looker が MTU 設定を 1, 500 より大きいことを検出した場合、次のエラーが表示されます。

    MTU of network interface eth0 is too large (> 1500).
    If Looker instance and Redshift cluster are within the same VPC,
    this warning can be ignored.
    
  • 次の TCP キープアライブ設定。再起動後も保持するには、これらを /etc/sysctl.conf または /etc/sysctl.d ディレクトリ内のファイルで設定する必要があります。

    net.ipv4.tcp_keepalive_time=200
    net.ipv4.tcp_keepalive_intvl=200
    net.ipv4.tcp_keepalive_probes=5
    
  • looker という名前のグループ内の looker ユーザーが Looker アプリケーションを実行する。

  • looker ユーザーの 4096 以上の ulimit。これを行うには、/etc/security/limits.conf に次の行を追加します。

    looker     soft     nofile     4096
    looker     hard     nofile     4096
    
  • NTP または同等の時間による同期。

  • /tmp フォルダは、noexec オプションを指定してマウントしないでください

  • looker ホーム ディレクトリは、NFS ボリュームにマウントしないでください

  • サーバーのタイムゾーンを UTC に設定することをおすすめしますが、必須ではありません。

  • Git 1.8 以降が必要です。Git の最新の安定版は必須ではありませんが、Git の問題のトラブルシューティングに役立ちます。

  • Netcat は必須ではありませんが、ネットワーク接続の問題のトラブルシューティングに役立ちます。たとえば、Ubuntu ベースのサーバーに Netcat をインストールする場合、一般的なコマンドは次のとおりです。

    sudo apt-get install netcat
    
  • 必要に応じて、プロキシ サーバーを設定して HTTP(S) リクエストを処理し、Looker がローカルホスト上で 'core&#39 に対して実行できるようにします。Looker のローカル プロキシ サーバーと通信するには、lookerstart.cfg に特別な引数を追加する必要があります。プロキシを経由せずに Looker のローカルホストへのアクセスを有効にするには、http.nonProxyHosts=localhost を追加します。この接続を作成する方法の例は、ウェブプロキシ コミュニティを介して Looker を BigQuery に接続するを参照してください。

メンテナンスやリソースの競合を避けるために、Looker サーバーを使用して他のアプリケーションをホストしないでください。

ntpd または chronyd を有効にする

NTP は Network Time Protocol(ネットワーク タイム プロトコル)の略です。これにより、ホストのシステム クロックが常に正しい時刻を維持できるようになります。この時刻は、Looker が正しく機能するために必要です。Looker では、時刻が同期されている限り、特定の時刻同期ソフトウェアを使用する必要はありません。NTP サーバーを実行する必要はありません。必要なのは NTP クライアントだけです。NTP の代わりに Chronyd を使用できます。

ntpd または chronyd を有効にする方法については、OS ベンダーのドキュメントをご覧ください。

暗号鍵の作成

Looker は、AES-256 Galois/Counter Mode(GCM)暗号化を使用して、以下を含む機密データを社内で暗号化しています。

  • Looker の内部データベースのバックアップ
  • データベースとサービス接続情報
  • ユーザー認証情報
  • ユーザー属性値
  • 配信用にキャッシュに保存または準備された顧客データ

Looker が暗号化するデータの詳細なリストを確認するには、Looker アカウント マネージャーにお問い合わせいただくか、Looker のヘルプセンターで [お問い合わせ] をクリックしてサポート リクエストを開いてください。

データは一意のデータ鍵を使用して暗号化されます。また、検証が確実に行われるように、署名済みのバージョン付き暗号化エンベロープが含まれます。このモードでは、外部のカスタマー マスター キー(CMK)を使用する必要があります。CMK は、鍵暗号鍵(KEK)の導出、暗号化、復号に使用されます。鍵暗号鍵は、データ鍵の導出、暗号化、復号に使用します。

暗号化は Looker の内部データベースとキャッシュにのみ使用されます。お客様のデータベースは、Looker の暗号化の影響を一切受けません。また、この方法で暗号化されるのは静的データ(ディスクに保存されているデータ)のみです。

顧客がホストするインストールでは、独自の AWS KMS アカウントまたは独自のカスタム鍵管理システムを使用できます。すべてのデータキーと KEK は暗号化され、お客様がホストする Looker インストールの内部で使用されます。AWS KMS を使用していない場合は、外部 CMK を安全かつ永続的な場所に保管する必要があります。内部データベースを暗号化した後に CMK が失われると、インスタンスが失われる可能性があります。

AWS KMS を使用している場合

AWS KMS を使用している場合は、AWS Management Console または API を使用して CMK を作成します。

CMK を作成したら、CMK に固有の新しい IAM ロールを作成し、Looker インスタンスに接続することをおすすめします。

CMK に必要な最小限の権限を含む IAM ロールの例を次に示します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "kms:GenerateRandom",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:Generate*",
            ],
            "Resource": "arn:aws:kms:*:*:key/*"
        }
    ]
}

CMK と新しい IAM ロールを作成したら、AWS_REGION 環境変数を AWS リージョンに設定し、LKR_AWS_CMK 環境変数を CMK のエイリアスに設定します。

export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>

必要に応じて、LKR_AWS_CMK_EC 環境変数を設定して、カスタム AWS 暗号化コンテキストを設定することもできます。この環境変数を設定しない場合、Looker はデフォルトの暗号化コンテキストである文字列 Looker_Encryption_Context を使用します。

export LKR_AWS_CMK_EC=<My_Encryption_Context>

AWS KMS を使用しない場合

AWS KMS を使用していない場合は、Base64、32 バイトの CMK を生成します。CMK は、環境変数またはファイルに保存できます。

  • CMK を生成して環境変数に保存するには、次のコマンドを使用して CMK を生成します。

    openssl rand -base64 32
    

    CMK を生成したら、次のコマンドを使用して、その CMK を LKR_MASTER_KEY_ENV 環境変数に保存します(<CMK_value> は、前のコマンドで生成した CMK です)。

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • CMK を生成してファイルに保存するには、次のコマンドを使用します(<path_to_key_file> は CMK を保存するためのパスとファイル名です)。

    openssl rand -base64 32 > <path_to_key_file>
    

    CMK ファイルを生成したら、鍵ファイルの権限を現在のユーザーの読み取り専用に設定します。

    chmod 0400 <path_to_key_file>
    

CMK を生成したら、安全かつ永続的な場所に保管してから続行してください。内部データベースを暗号化した後に CMK が失われると、インスタンスが失われる可能性があります。

CMK を生成して保存したら、LKR_MASTER_KEY_ENV 環境変数を設定します。

  • CMK を環境変数に保存する場合は、LKR_MASTER_KEY_ENV 環境変数を CMK の値に設定します。

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • CMK をファイルに保存する場合は、LKR_MASTER_KEY_FILE 環境変数を CMK ファイルのパスに設定します。

    export LKR_MASTER_KEY_FILE=<path_to_key_file>
    

CMK を生成したら、安全かつ永続的な場所に保管してから続行してください。内部データベースを暗号化した後に CMK が失われると、インスタンスが失われる可能性があります。

Looker アプリケーションをインストールする

  1. グループ looker を作成します。

    sudo groupadd looker
    
  2. ユーザー looker とそのホーム ディレクトリを作成します。

    sudo useradd -m  -g looker  looker
    
  3. looker ユーザーに切り替えます。root として Looker を実行しないでください

    sudo su - looker
    
  4. ホーム ディレクトリに looker サブディレクトリを作成します。

    mkdir ~/looker
    
  5. looker サブディレクトリに移動します。

    cd ~/looker
    
  6. 正しいディレクトリにいることを確認します。

    pwd
    

    ユーザー ディレクトリが /home の下にある場合、このコマンドの出力は /home/looker/looker になります。

  7. Looker JAR ファイルをダウンロードするのドキュメント ページにあるいずれかの方法を使用して、目的の Looker JAR ファイルをダウンロードします。両方の JAR ファイルが同じバージョンであることを確認します。コア JAR ファイルと依存関係の JAR ファイルのバージョンが異なる場合、Looker のインストールで不安定になることがあります。

  8. こちらの GitHub リポジトリから最新の起動スクリプトをダウンロードします。Looker をシステム起動時に実行する場合は、systemdinit の両方のスクリプト オプションをダウンロードして使用できます。

  9. 起動スクリプト(名前は looker)と Looker JAR ファイル(名前は looker-x.x.x.jarlooker-dependencies-x.x.x.jarx.x.x はバージョン番号)を新しい ~/looker ディレクトリに移動します。

  10. looker-x.x.x.jar の名前を looker.jar に、looker-dependencies-x.x.x.jar の名前を looker-dependencies.jar に変更します。

  11. 起動スクリプトによって、Looker に割り当てる Java メモリの量が自動的に決定されます。この値を手動でカスタマイズする場合は、Java メモリの推奨設定のページを参照してください。

  12. Looker の起動スクリプトを実行可能にします(権限を 0750 に設定します)。

    chmod 0750 looker
    
  13. looker ユーザーとしてシェルから Looker プロセスを開始します。

    ./looker start
    
  14. 起動フラグのヘルプについては、次のコマンドを使用します。

    java -jar looker.jar --help
    

    起動コマンドのヘルプを参照するには、次のコマンドを使用します。

    java -jar looker.jar help
    
  15. ブラウザを https://hostname:9999 で開きます。ここで、hostname は Looker を実行しているホストの DNS 名です。

    URL で https を使用すると、セキュリティ警告が作成されるため、このバイパスが必要になります。この警告は、有効な SSL 証明書がサーバーにインストールされるまで有効です。

  16. Looker アナリストから取得したライセンスキーを入力します。

  17. 名前、メールアドレス、パスワードを入力して、最初のアカウントを作成します。

DNS レコードを作成する

サーバーの looker.[yourdomain].com DNS レコードを追加します。この手順は省略可能ですが、行うことをおすすめします。

Looker を自動的にデプロイする

Looker は、Ansible や Chef などの構成管理ツールを使用してデプロイできます。自動デプロイの Ansible ロールの例については、構成管理ツールのドキュメントをご覧ください。

ハイパーバイザの調整

Looker は Java 仮想マシンとして実行されます。Looker インスタンスが VMware ゲスト上にある場合は、パフォーマンスの調整が必要になることがあります。VMware の Java ベスト プラクティス ガイドをご覧ください。

他の仮想化プラットフォームでは、パフォーマンスを改善して、ハイパーバイザから Looker ホストのメモリを予約できます。これは Amazon EC2 では制御できません。ただし、他のベンダーについては、詳細についてベンダーのドキュメントを参照してください。

オプションの MySQL バックエンド データベースの設定

デフォルトでは、Looker は HyperSQL のインメモリ データベースを使用して、構成やユーザーなどのデータを保存しています。ただし、外部 MySQL データベースを使用して Looker の内部情報を格納できます。MySQL バックエンド データベースの構成と調整については、MySQL への移行に関するドキュメント ページをご覧ください。

次のステップ

Looker をインストールしたら、Looker のスタートアップ オプションを構成できます。