次の方法で共有


Azure Container Apps にデータ API ビルダーをデプロイする

デプロイ ガイドのシーケンス内の現在の場所 ('Publish') の図。

次の場所を含む展開ガイドのシーケンスの図: 概要、計画、準備、発行、監視、および最適化。 [発行] の場所は現在強調表示されています。

[前提条件]

構成ファイルをビルドする

まず、既存のデータベースに接続するデータ API ビルダー (DAB) 構成ファイルをビルドします。 このファイルは、後で最終的なコンテナーで使用されます。

  1. 構成ファイルを格納する空のディレクトリをローカル コンピューターに作成します。

  2. dab initを使用して、新しい基本構成ファイルを初期化します。 初期化では、少なくとも次の設定を使用します。

    設定 価値
    データベースの種類 サポートされているデータベースの種類を選択します。
    接続文字列 @env()関数を使用して、DATABASE_CONNECTION_STRING環境変数を参照します。
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    重要

    一部のデータベースの種類では、初期化時に追加の構成設定が必要になります。

  3. 構成に少なくとも 1 つのデータベース エンティティを追加します。 エンティティを構成するには、 dab add コマンドを使用します。 匿名ユーザーのすべてのアクセス許可を許可するように各エンティティを構成します。 エンティティに対してdab addを好きなだけ何度でも繰り返せます。

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. dab-config.json ファイルの内容を開いて確認します。 このファイルは、このガイドの後半で使用します。

Azure Files でのホスト構成

次に、Azure Files 内で作成されたファイル共有に構成ファイルをアップロードします。 このファイル共有は最終的にボリュームとして最終的なコンテナーにマウントされます。

  1. Azure portal にサインインします (https://portal.azure.com)。

  2. 新しいリソース グループを作成します。 このガイドでは、このリソース グループをすべての新しいリソースに利用します。

    Azure portal の [リソース グループの作成] ページの [基本] タブのスクリーンショット。

    ヒント

    リソース グループ に msdocs-dab-aca という名前を付けすることをお勧めします。 このガイドのすべてのスクリーンショットでは、この名前を使用します。

  3. Azure Storage アカウントを作成します。 これらの設定を使用して、アカウントを構成します。

    設定 価値
    リソース グループ 前に作成したリソース グループを選択する
    Storage account name (ストレージ アカウント名) グローバルに一意の名前を入力する
    リージョン Azure リージョンを選択する
    パフォーマンス [Standard] を選択します。
    冗長性 [ローカル冗長ストレージ (LRS)] を選択します
    ストレージ アカウント キーのアクセスを有効にする 有効を選択します

    Azure portal の [ストレージ アカウントの作成] ページの [詳細設定] タブのスクリーンショット。

  4. Azure portal で新しいストレージ アカウントに移動します。

  5. リソース メニューの [データ ストレージ] セクションで [ファイル共有] を選択します。 次に、コマンド バーから [ファイル共有 ] を選択して、ストレージ アカウントに新しい共有を作成します。 新しいファイル共有を構成するには、次の設定を使用します。

    設定 価値
    名前 config を入力します
    アクセス層 ホット を選択する
    バックアップを有効にする [選択しない]

    Azure portal の **[ファイル共有] リソース メニューとコマンド バー オプションのスクリーンショット。

  6. dab-config.json とその他の必要なファイルを共有にアップロードします。 コマンド バーの [アップロード ] オプションを使用して、[ ファイルのアップロード ] ダイアログを開きます。 両方のファイルを選択し、[ アップロード] を選択します。

    Azure portal の **[ファイルのアップロード]** ダイアログのスクリーンショット。

  7. リソース メニューの [セキュリティ + ネットワーク] セクションで [アクセス キー] を選択します。 次に、このページの ストレージ アカウント名キー 値を記録します。 これらの値は、このガイドの後半で使用します。

    Azure portal のストレージ アカウント内の [アクセス キー] ページのスクリーンショット。

ベース コンテナー アプリを作成する

次に、Azure Container Apps を使用して Azure にコンテナーを作成します。 このコンテナーは、構成なしでデータ API ビルダー イメージをホストします。

  1. Azure Container Apps リソースを作成します。 アプリ リソースを作成するプロセスの一環として、環境を作成する必要があります。 これらの設定を使用して、両方のリソースを構成します。

    リソース 設定 価値
    環境 環境名 グローバルに一意の名前を入力する
    環境 環境の種類 従量課金のみ を選択
    環境 ログの送信先 [ログを保存しない] を選択する
    アプリ リソース グループ 前に作成したリソース グループを選択する
    アプリ Storage account name (ストレージ アカウント名) グローバルに一意の名前を入力する
    アプリ リージョン ストレージ アカウントと同じリージョンを選択する
    アプリ クイック スタートイメージを使用する [選択しない]
    アプリ イメージ ソース [Docker Hub またはその他のレジストリ] を選択します。
    アプリ 画像の種類 [Public] を選択します
    アプリ レジストリ ログイン サーバー mcr.microsoft.com を入力します
    アプリ イメージとタグ azure-databases/data-api-builder:latest を入力します
    アプリ 環境変数 - 名前 DATABASE_CONNECTION_STRING を入力します
    アプリ 環境変数 - 値 データベースの接続文字列を入力します。
    アプリ Ingress [有効] が選択されていることを確認する
    アプリ イングレス トラフィック [どこからでもトラフィックを受け入れる] を選択する
    アプリ クライアント証明書モード [無視] を選択する
    アプリ イングレスの種類 [HTTP] を選択します
    アプリ ターゲット ポート 5000 を入力します

    Azure portal の [コンテナー アプリの作成] ページの [コンテナー] タブのスクリーンショット。

    Azure portal の [コンテナー アプリ環境の作成] ページの [基本] タブのスクリーンショット。

    ヒント

    承認キーを含まない接続文字列を使用することをお勧めします。 代わりに、マネージド ID とロールベースのアクセス制御を使用して、データベースとホスト間のアクセスを管理します。 詳細については、 マネージド ID を使用する Azure サービスに関するページを参照してください。

  2. Azure portal で新しいコンテナー アプリに移動します。

  3. [要点] セクションの [アプリケーション URL] フィールドを使用して、コンテナー アプリの Web サイトを参照します。 DAB コンテナーが実行されており、状態が 正常であることを示す応答を確認します。

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    バージョン番号と名前は、現在のバージョンの Data API ビルダーによって異なります。 この時点では、どの API エンドポイントにも移動できません。 これらのエンドポイントは、DAB 構成ファイルをマウントすると使用できるようになります。

構成ファイルをマウントする

最後に、構成ファイルを Azure Files 共有からコンテナー アプリにマウントします。 この手順により、Data API ビルダーは構成ファイルを使用してデータベースに接続できます。

  1. Azure portal を使用して、このガイドで前に作成したコンテナー環境に移動します。

  2. リソース メニューの [設定] セクションで Azure ファイルを選択します。 次に、コマンド バーから [追加] を選択して、既存のファイル共有をコンテナー環境に追加します。 新しいファイル共有を構成するには、次の設定を使用します。 次に、新しいファイル共有構成を 保存します

    設定 価値
    名前 config-share を入力します
    Storage account name (ストレージ アカウント名) このガイドで前に記録したストレージ アカウントの名前。
    ストレージ アカウント キー このガイドで前に記録したストレージ アカウントのキー。
    ファイル共有 config を入力します
    アクセス モード 読み取り専用 を選択する

    Azure portal 内のリソース メニューの [Azure Files] オプションのスクリーンショット。

  3. Azure portal でコンテナー アプリにもう一度移動します。

  4. リソース メニューの [アプリケーション] セクションで [リビジョンとレプリカ] を選択します。 次に、コマンド バーから [新しいリビジョンの作成] を選択して、コンテナー アプリの新しいリビジョンを構成するプロセスを開始します。

  5. [ボリューム] セクションに移動し、[追加] オプションを選択します。 新しいボリュームを構成するには、次の設定を使用します。 ボリュームを構成したら、コンテナーリビジョンにボリュームを追加します。

    設定 価値
    ボリュームの種類 Azure ファイル ボリュームを選択する
    名前 config-volume を入力します
    ファイル共有 config を入力します

    Azure portal の [新しいボリュームの作成] セクションのスクリーンショット。

  6. [コンテナー] セクションに移動し、現在のコンテナーを 1 つ選択し、[編集] オプションを選択します。 次の設定を使用して、コンテナーの 2 つのマウントを構成します。 変更内容を保存します。

    設定 価値
    ボリューム名 config-volume を入力します
    マウント パス /App/dab-config.json を入力します
    サブ パス dab-config.json を入力します
    設定 価値
    ボリューム名 config-volume を入力します
    マウント パス /App/schema.graphql を入力します
    サブ パス schema.graphql を入力します

    Azure portal の [ボリューム マウントの追加] セクションのスクリーンショット。

  7. [ 作成] を選択して、指定したボリューム マウントで新しいリビジョンを作成します。 リビジョンのデプロイが完了するのを待ちます。

  8. [要点] セクションの [アプリケーション URL] フィールドを使用して、コンテナー アプリの Web サイトをもう一度参照します。 応答が DAB コンテナーが 正常であることを示していることを確認します。

  9. 現在実行中のアプリケーションの /api/swagger パスに移動します。 Swagger UI を使用して、いずれかのエンティティに対して HTTP GET 要求を発行します。

リソースをクリーンアップする

サンプル アプリケーションまたはリソースが不要になったら、対応するデプロイとすべてのリソースを削除します。

  1. Azure portal を使用して リソース グループ に移動します。

  2. コマンド バーで、[削除] を選択します

次のステップ