Azureコンテナーアプリでのデプロイ
本ページでは、KeeperオートメーターをAzure Container Appsサービスに公開するための手順を解説します。これにより、オートメーターサービスを簡単にクラウドでホストしていただけます。
Azure Government、GCC High、DoDなどの環境では、Azure Container Appsサービスがこれらのリージョンで利用できない可能性があるため、Azure App Services方式を使用します。
コマンドラインを開き、オペレーティングシステムに応じて次のいずれかの方法を使用してURLエンコード形式で256ビットAESキーを生成します。
このコマンドによって生成される値を手順 3のために保存します。
Azureから新しいコンテナーアプリを作成します。
新しいリソースグループを選択または作成します。
コンテナアプリ名をkeeperautatorまたは任意の名前に設定します。
サービスをホストしたい地域を選択します。
新しいアプリ環境を作成するか、既存の環境を選択します。
[次へ]: [コンテナ] >をクリックします。
コンテナーの手順では以下のように設定します。
[クイックスタートイメージを使用する]のチェックを外します
[Docker Hub または他のレジストリ]を選択します
[パブリック]を選択します
レジストリログインサーバーにdocker.io
を選択します
イメージを設定し、keeper/automator:latest
としてタグを付けます
CPUとメモリについては、0.5 CPUコアと1Gi メモリで十分ですが、新しいデバイスのログイン量に基づいて変更できます
上記の手順1の値を使用してAUTOMATOR_CONFIG_KEY
という環境変数を作成します
8089の値を使用してAUTOMATOR_PORT
という環境変数を作成します
noneの値でSSL_MODE
という環境変数を作成します
[次へ]: バインド >をクリックします
[次へ]: イングレス > をクリックします
イングレスセットアップ画面で以下を選択します。
イングレスを有効(
Enable
)
にします
イングレスのトラフィックをAccepting traffic from anywhere
にします(後ほど変更します)
イングレスタイプをHTTP
にします
ターゲットポートを8089
に設定します
[Review + Create]をクリックしてから[Create]をクリックします。
数分後、コンテナーアプリが作成され自動的に起動します。
[リソースに移動]をクリックするとコンテナー環境に移動します。
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にてご確認になれます。
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]をクリックして新しい設定を作成します。
数分後に新しいコンテナーが起動します。
コンテナーアプリの概要の右側に、割り当てられた「アプリケーションURL」が表示されます。このURLをコピーして次の手順で使用します。
(例: https://craigautomator1.xyx-1234.azurecontainerapps.io)
オートメーター設定の最後の手順を行うのに、Keeperコマンダーが必要となります。どこからでも実行でき、サーバーにインストールする必要はありません。
ご利用のワークステーションまたはサーバーにKeeperコマンダーCLIをインストールします。 バイナリインストーラーを含むインストール手順についてはこちらのページをご覧ください。
コマンダーをインストールした後、コマンダーを起動するか既存の端末からkeeper shell
と入力してセッションを開いてから、login
コマンドを使用してログインします。オートメーターをセットアップするには、Keeper管理者として、または SSOノードを管理する権限を持つ管理者としてログインする必要があります。
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
と入力します。
環境変数をコンテナに渡してランタイム環境の機能を有効にしたり無効にしたりできます。変数およびその説明については、高度な設定ページをご覧ください。
Keeperテナント地域 | IP1 | IP2 |
---|---|---|
US
54.208.20.102/32
34.203.159.189/32
US GovCloud
18.252.135.74/32
18.253.212.59/32
EU
52.210.163.45/32
54.246.185.95/32
AU
3.106.40.41/32
54.206.208.132/32
CA
35.182.216.11/32
15.223.136.134/32
JP
54.150.11.204/32
52.68.53.105/32