Azureコンテナーアプリ

Azure Container Appでのデプロイ

概要

本ガイドは、Keeper AutomatorをAzureコンテナーアプリサービスに公開するための詳細な手順となります。これにより、Automatorサービスを簡単にクラウドでホストしていただけます(注: 2024年1月現在、Azure GovernmentではAzure Container Appはご利用になれません)

(1) Automator Configキーの作成

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

キーの生成

openssl rand -base64 32

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

(2) Container Appの作成

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 Automatorサービスへの通信を制限するには、画面左側の [Ingress]リンクをクリックします。

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

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

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

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

Keeperテナント地域IP1IP2

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

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

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

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

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

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

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

  • とりあえずMinmaxを両方1に設定します。

  • 次に、[コンテナ]タブをクリックし、コンテナイメージ名をクリックします。

  • 右上の[正常性プローブ]タブをクリックします。

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

  • liveness probesを有効(Enable)にします。

  • Transport(トランスポート):HTTP

  • Path(パス): /health

  • Port(ポート): 8089

  • Initial delay seconds: 5

  • Period seconds: 30

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

  • startup probesを有効(Enable)にします。

  • Transport(トランスポート): HTTP

  • Path(パス): /health

  • Port(ポート): 8089

  • Initial delay seconds: 5

  • Period seconds: 30

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

  • [Ephemeral Storage]を選択します。

  • automatordataというボリューム名を追加します。

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

設定を完了します。

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

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

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

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

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

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

(9) Keeper Commanderにログイン

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

ご利用のワークステーションまたはサーバーにKeeper Commander CLIをインストールします。 バイナリインストーラーを含むインストール手順については以下をご覧ください。 https://docs.keeper.io/secrets-manager/commander-cli/commander-installation-setup Commanderをインストールした後、Commanderを起動するか既存の端末からkeeper shellと入力してセッションを開いてから、loginコマンドを使用してログインします。Automator をセットアップするには、Keeper 管理者として、または SSOノードを管理する権限を持つ管理者としてログインする必要があります。

$ 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の作成

automator createで始まる一連のコマンドを使用してAutomatorを作成します。

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公開キーで暗号化されたエンタープライズ秘密キーがAutomator に提供されます。

automator setup "My Automator"

新しい設定でAutomatorを初期化します。

automator init "My Automator"

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

automator enable "My Automator"

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

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

https://<server>/health

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

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

ユーザー体験のテスト

Keeper Automatorがデプロイされましたので、エンドユーザー体験のテストが可能です。ユーザーがSSO IDプロバイダーで認証した後は、承認を求めるプロンプトは必要ありません。

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

高度な機能

Azure Container Appsにはこの資料には含まれていない多くの高度な機能があります。以下はその一部となります。

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

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

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

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

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

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

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

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

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

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

ログ作成

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

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

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

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

  • Connectをクリックします。

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

高度な設定

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

最終更新