Docker Composeインストール

Docker Composeを使用したKeeper Connection Managerのデプロイ

概要

このセクションでは、カスタマイズされたdocker-composeオーケストレーションファイルを構築し、Dockerを使用してKeeper Connection Managerをインストールする方法について説明します。

手順1:プラットフォーム固有の設定

Windows

Dockerの正式な手順に従って、Docker Desktopをインストールします。

Amazon Linux 2

インスタンスにDockerをインストールします。丁寧に順を追った手引きは、こちらで公開されています。

CentOS 7、RHEL

Dockerのインストールに加えて、havegedパッケージをインストールして、安全な乱数を作成するのに十分なエントロピー生成が可能な環境を確保してください。

sudo yum install epel-release
sudo yum install haveged
sudo systemctl start haveged
sudo systemctl enable haveged

Ubuntu

havegedパッケージをインストールして、安全な乱数を作成するのに十分なエントロピー生成が可能な環境を確保してください。

sudo apt-get install haveged

手順2:Docker Composeファイルの作成

インスタンスでDockerを実行するのに伴い、マシンの作業ディレクトリに転送する必要のあるdocker-compose.ymlファイルを生成する必要があります。

SSL証明書はLet's Encryptを利用し、認証には自動的に初期化されたデータベースを使用して、Keeper Connection Managerをデプロイするためのdocker-compose.ymlファイルの例を、MySQLとPostgreSQLのオプションと併せて以下に記載します。

version:"3"
services:

    guacd:
        image: keeper/guacd:2
        restart: unless-stopped
        environment:
            ACCEPT_EULA:"Y"
        volumes:
            - "common-storage:/var/lib/guacamole:rw"

    db:
        image: keeper/guacamole-db-mysql:2
        restart: unless-stopped
        environment:
            ACCEPT_EULA:"Y"
            MYSQL_RANDOM_ROOT_PASSWORD: "yes"
            GUACAMOLE_DATABASE: guacamole_db
            GUACAMOLE_USERNAME: guacamole_user
            GUACAMOLE_PASSWORD: some_strong_password
            GUACAMOLE_ADMIN_PASSWORD: some_strong_password

    guacamole:
        image: keeper/guacamole:2
        restart: unless-stopped
        environment:
            ACCEPT_EULA:"Y"
            GUACD_HOSTNAME: guacd
            MYSQL_HOSTNAME: db
            MYSQL_DATABASE: guacamole_db
            MYSQL_USERNAME: guacamole_user
            MYSQL_PASSWORD: some_password
        volumes:
            - "common-storage:/var/lib/guacamole:rw"

    ssl:
        image: keeper/guacamole-ssl-nginx:2
        restart: unless-stopped
        ports:
            - "80:80"
            - "443:443"
        environment:
            ACCEPT_EULA:"Y"
            GUACAMOLE_HOSTNAME: guacamole
            SSL_HOSTNAME: keeper.mycompany.com
            LETSENCRYPT_ACCEPT_TOS:"Y"
            LETSENCRYPT_EMAIL: you@company.com

volumes:
    common-storage:

このファイルを目的のKCMインスタンスにコピーします。 直ちに変更が必要なフィールドがいくつかあることにご注意ください。

  • GUACAMOLE_PASSWORDMYSQL_PASSWORDは一致する必要があり、ランダムに生成された強力なパスワードでなければなりません。パスワードの生成にはKeeperボルトのご使用をお勧めします。バックスラッシュ、ドルマーク、スラッシュなどの記号は使用しないでください。

  • GUACAMOLE_ADMIN_PASSWORDは、デフォルトの「guacadmin」ユーザーのログインパスワードです。これは、ランダムに生成された強力なパスワードでなければなりません。パスワードの生成にはKeeperボルトのご使用をお勧めします。バックスラッシュ、ドルマーク、スラッシュなどの記号は使用しないでください。

  • SSL_HOSTNAMEは、このサーバーを指すように設定されたFQDNであることが必要です。 DNSの設定が外部からこのIPにルーティング可能であり、Let's Encryptが証明書を登録できるようにポート80/443が解放されていることを確認します。

カスタムSSL証明書の使用

Let's Encryptの代わりにカスタムSSL証明書を使用したい場合は、Docker Composeファイルの「ssl」セクションを以下のような内容のセクションに置き換えます。

    ssl:
        image: keeper/guacamole-ssl-nginx:2
        restart: unless-stopped
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - C:\Users\Path\To\Cert:/var/lib/guacamole
        environment:
            SELF_SIGNED:"N"
            ACCEPT_EULA:"Y"
            GUACAMOLE_HOSTNAME: "guacamole"
            SSL_HOSTNAME: "keeper.mycompany.com"
            CERTIFICATE_FILE: "/var/lib/guacamole/your_certificate.pem"
            PRIVATE_KEY_FILE: "/var/lib/guacamole/your_private_key.key"

この場合、CERTIFICATE_FILEは、中間証明書チェーンを含むPEMエンコード形式の証明書です。 PRIVATE_KEY_FILEは秘密鍵ファイルです。

また、上記のスニペットには、ローカルファイルシステムを目的のコンテナに割り当てるボリュームマウントがあることにご注意ください。文字列のC:\Users\Path\To\Certの部分のみを変更する必要があります。 Linux環境では、/path/to/certになります。

手順3:Dockerコンテナの起動

Windowsの場合、コマンドプロンプトを開きます。Linuxの場合、ターミナルシェルを開きます。手順2で保存したdocker-compose.ymlファイルの場所に移動します。

環境を起動するには、以下のコマンドを入力するだけです。

docker compose up -d

注意:バージョンによっては、「docker-compose」とハイフンを付ける必要があります。

以上で終わりです。 すべてが成功すると、指定したFQDNでKeeper Connection Managerのログイン画面を開くことができます。

重要な注意事項

  • サーバーにルーティングされる適切なドメイン名を設定していない場合は、とりあえずユーザーインターフェースにアクセスしてテストを開始するために、ローカルシステムのhostファイルを書き換えてください。

  • 独自のSSL証明書を使用している場合は、ワイルドカード証明書のご使用はお勧めしません。SSL秘密鍵はデバイスに保存することになるため、Keeper Connection Managerのエンドポイント用に明示的に作成された証明書の利用が最適です。

  • Windowsを使用している場合は、Windows Defenderファイアウォールを変更して、Dockerサービスにポート443を開放する必要があります。

  • docker compose downを実行すると、ユーザー、接続、履歴を含むコンテナ内のすべてのデータが削除されます。コンテナを停止するには、docker compose stopを使用します。

イメージ

各イメージの説明は以下のとおりです。

Keeper Connection Managerインスタンスが実行中になったので、guacadminとしてログインし、接続の設定を開始できます。 次の手順については、「Keeper Connection Managerを使用する」のドキュメントに従ってください。

このインストールガイドの次のいくつかのセクションでは、環境をカスタマイズまたは変更する予定がある場合の、具体的なDockerイメージごとの詳細情報を記載します。

Last updated