Azure Container Apps

Azureコンテナーアプリでのデプロイ

概要

本ページでは、KeeperオートメーターをAzure Container Appsサービスに公開するための手順を解説します。これにより、オートメーターサービスを簡単にクラウドでホストしていただけます。

Azure Government、GCC High、DoDなどの環境では、Azure Container Appsサービスがこれらのリージョンで利用できない可能性があるため、Azure App Services方式を使用します。

1. オートメーターConfigキーの作成

コマンドラインを開き、オペレーティングシステムに応じて次のいずれかの方法を使用してURLエンコード形式で256ビットAESキーを生成します。

キーの生成

openssl rand -base64 32

このコマンドによって生成される値を手順 3のために保存します。

2. コンテナーアプリの作成

Azureから新しいコンテナーアプリを作成します。

  • 新しいリソースグループを選択または作成します。

  • コンテナアプリ名をkeeperautatorまたは任意の名前に設定します。

  • サービスをホストしたい地域を選択します。

  • 新しいアプリ環境を作成するか、既存の環境を選択します。

  • [次へ]: [コンテナ] >をクリックします。

3. コンテナの詳細のセットアップ

コンテナーの手順では以下のように設定します。

  • [クイックスタートイメージを使用する]のチェックを外します

  • [Docker Hub または他のレジストリ]を選択します

  • [パブリック]を選択します

  • レジストリログインサーバーにdocker.ioを選択します

  • イメージを設定し、keeper/automator:latestとしてタグを付けます

  • CPUとメモリについては、0.5 CPUコアと1Gi メモリで十分ですが、新しいデバイスのログイン量に基づいて変更できます

  • 上記の手順1の値を使用してAUTOMATOR_CONFIG_KEYという環境変数を作成します

  • 8089の値を使用してAUTOMATOR_PORTという環境変数を作成します

  • noneの値でSSL_MODEという環境変数を作成します

  • [次へ]: バインド >をクリックします

  • [次へ]: イングレス > をクリックします

4. イングレスのセットアップ

イングレスセットアップ画面で以下を選択します。

  • イングレスを有効Enableにします

  • イングレスのトラフィックをAccepting traffic from anywhere にします(後ほど変更します)

  • イングレスタイプをHTTPにします

  • ターゲットポートを8089に設定します

5. コンテナーアプリの作成

[Review + Create]をクリックしてから[Create]をクリックします。

数分後、コンテナーアプリが作成され自動的に起動します。

[リソースに移動]をクリックするとコンテナー環境に移動します。

6. イングレス設定のカスタマイズ

Keeperオートメーターサービスへの通信を制限するには、画面左側の[Ingress]リンクをクリックします。

  • [Ingress]をクリックします。

  • [Allow traffic from IPs configured below, deny all other traffic]を選択します。

  • [Add]をクリックしてKeeperの2つのIPとテストに必要なIPをどれか追加します。

  • [Save]をクリックします。

ヘルスチェックの実行をご希望の場合は、ご自身のIPアドレスを追加します。ご自身のIPアドレスについては、https://checkip.amazonaws.comにてご確認になれます。

7. スケーリング、ヘルスプローブ、ボリュームマウントのセットアップ

Azureがゼロインスタンスにダウンスケールしないようにするには、インスタンスの最小数を1に設定することが重要となります。

[Application]の下の[コンテナー]セクションへ進みます。

上部の[Scale]セクションをクリックし、「Min replicas」と「Max replicas」を1に設定します。

  • [Container]タブをクリックします。

  • 下部の「keeperautomator」リンクをクリックします。

[Liveness probes]の箇所で以下のように設定します。

  • Enable liveness probesをチェック

  • Transport: HTTP

  • Path: /health

  • Port: 8089

  • Initial delay seconds: 5

  • Period seconds: 30

[Startup probes]の箇所で以下のように設定します。

  • Enable startup probesをチェック

  • Transport: HTTP

  • Path: /health

  • Port: 8089

  • Initial delay seconds: 5

  • Period seconds: 30

[Volume Mounts]のタブで以下のように設定します。

  • [Create new volume]をクリックします。

  • 「Ephemeral Storage」を選択します。

  • Volume nameをautomatordataにします。

  • Mount Pathを/usr/mybin/configにします。

設定を完了します。

  • [保存]をクリックします。

  • [Create]をクリックして新しい設定を作成します。

  • 数分後に新しいコンテナーが起動します。

8. アプリケーションURLの取得

コンテナーアプリの概要の右側に、割り当てられた「アプリケーションURL」が表示されます。このURLをコピーして次の手順で使用します。

(例: https://craigautomator1.xyx-1234.azurecontainerapps.io)

9. Keeperコマンダーにログイン

オートメーター設定の最後の手順を行うのに、Keeperコマンダーが必要となります。どこからでも実行でき、サーバーにインストールする必要はありません。

$ keeper shell

My Vault> login admin@company.com

  _  __  
 | |/ /___ ___ _ __  ___ _ _ 
 | ' </ -_) -_) '_ \/ -_) '_|
 |_|\_\___\___| .__/\___|_|
 v16.x.xxx    |_|

 password manager & digital vault

Logging in to Keeper Commander
Enter password for admin@company.com
Password: ********************
Successfully authenticated with Master Password
Syncing...
Decrypted [58] record(s)

My Vault>

10. オートメーターの作成

automator createで始まる一連のコマンドを使用してオートメーターを作成します。

My Vault> automator create --name="My Automator" --node="Azure Cloud"

ノード名 (この場合はAzure Cloud) は、以下のように管理コンソールUIから取得します。

コマンドの出力には、IDプロバイダからのメタデータを含むAutomator設定が表示されます。

                    Automator ID: 1477468749950
                            Name: My Automator
                             URL: 
                         Enabled: No
                     Initialized: No
                          Skills: Device Approval

URLはまだ入力されていないことにご留意ください。手順8のアプリケーションURLとなります。

以下のようにautomator editコマンドを実行します。これによりURLとスキルが設定されます(teamteam_for_userdevice)。

automator edit --url https://<application URL> --skill=team --skill=team_for_user --skill=device "My Automator"

次にキーを交換します。オートメーター公開キーで暗号化されたエンタープライズ秘密キーがオートメーターに提供されます。

automator setup "My Automator"

新しい設定でオートメーターを初期化します。

automator init "My Automator"

サービスを有効にします。

automator enable "My Automator"

この時点で設定は完了となります。

外部ヘルスチェックには以下のURLをご使用になれます。

https://<server>/health

以下はcurlコマンドを使用した例です。

$ curl https://craigautomator1.xyz.azurecontainerapps.io/health
OK

ユーザー体験のテスト

Keeperオートメーターがデプロイされましたので、ユーザー体験をテストできます。ユーザーが SSO IDプロバイダで認証した後は、承認を求めるプロンプトが表示されなくなります。

最も簡単なテスト方法は、ブラウザでシークレットモードのウィンドウを開いてKeeperウェブボルトへアクセスし、SSOクラウドでログインすることとなります。デバイスの承認を求めるプロンプトは表示されません。

高度な機能

Azureコンテナーアプリにはこの資料には含まれていない多くの高度な機能があります。以下はその一部となります。

複数のコンテナーでのスケーリング

複数のコンテナでKeeperオートメーターサービスを実行したい場合は以下を行います。

  • [Scale and replicas]をクリックします。

  • [Edit and deploy]をクリックします。

  • [Scale]タブをクリックします。

  • コンテナーの最小数および最大数を選択します。最小数は少なくとも1にします。

  • [Create]をクリックします。

  • 1分後に新しいバージョンがデプロイされます。

  • コンテナーの数に応じて何度かautomator setup xxxを実行します (コンテナーにつき1回)。

  • コンテナーの数に応じて何度かautomator init xxxを実行します (コンテナーにつき1回)。

ログ作成

Keeperオートメーターのログは、「コンソール」または「ログストリーム」を使用して表示および監視できます。

たとえば、実行中のオートメーターサービスのログファイルを追跡するには以下のようにします。

  • コンソールをクリックします。

  • 「/bin/sh」を選択します。

  • Connectをクリックします。

  • プロンプトが表示されるとtail -f logs/keeper-automator.logと入力します。

高度な設定

環境変数をコンテナに渡してランタイム環境の機能を有効にしたり無効にしたりできます。変数およびその説明については、高度な設定ページをご覧ください。

最終更新