Azure Container Apps
Azureコンテナーアプリでのデプロイ
概要
本ページでは、KeeperオートメーターをAzure Container Appsサービスに公開するための手順を解説します。これにより、オートメーターサービスを簡単にクラウドでホストしていただけます。
Azure Government、GCC High、DoDなどの環境では、Azure Container Appsサービスがこれらのリージョンで利用できない可能性があるため、Azure App Services方式を使用します。
1. オートメーターConfigキーの作成
コマンドラインを開き、オペレーティングシステムに応じて次のいずれかの方法を使用してURLエンコード形式で256ビットAESキーを生成します。
キーの生成
このコマンドによって生成される値を手順 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コマンダーが必要となります。どこからでも実行でき、サーバーにインストールする必要はありません。
10. オートメーターの作成
automator create
で始まる一連のコマンドを使用してオートメーターを作成します。
ノード名 (この場合はAzure Cloud) は、以下のように管理コンソールUIから取得します。
コマンドの出力には、IDプロバイダからのメタデータを含むAutomator設定が表示されます。
URLはまだ入力されていないことにご留意ください。手順8のアプリケーションURLとなります。
以下のようにautomator editコマンドを実行します。これによりURLとスキルが設定されます(team
、 team_for_user
、device
)。
次にキーを交換します。オートメーター公開キーで暗号化されたエンタープライズ秘密キーがオートメーターに提供されます。
新しい設定でオートメーターを初期化します。
サービスを有効にします。
この時点で設定は完了となります。
外部ヘルスチェックには以下のURLをご使用になれます。
https://<server>/health
以下はcurl
コマンドを使用した例です。
ユーザー体験のテスト
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
と入力します。
高度な設定
環境変数をコンテナに渡してランタイム環境の機能を有効にしたり無効にしたりできます。変数およびその説明については、高度な設定ページをご覧ください。
最終更新