次の方法で共有


チュートリアル: AKS アプリを Azure SQL Database (プレビュー) に接続する

このチュートリアルでは、AKS にデプロイされたアプリケーションを、サービス コネクタを使用して Azure SQL Database に接続する方法を学習します。 次のタスクを実行します。

  • Azure SQL Database リソースを作成する
  • サービス コネクタを使用して、AKS クラスターとデータベースの間に接続を作成する。
  • コンテナーを更新する
  • アプリケーション コードを更新する
  • Azure リソースをクリーンアップする。

警告

Microsoft では、使用可能な最も安全な認証フローを使用することをお勧めします。 この手順で説明されている認証フローでは、アプリケーションで非常に高い信頼度が要求されるため、他のフローには存在しないリスクが伴います。 このフローは、マネージド ID など、より安全なフローが実行可能ではない場合にのみ使用してください。 マネージド ID を使用するチュートリアルを参照してください。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます
  • AKS にデプロイされたアプリケーション。
    • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

    • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

      • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

      • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

      • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

Azure SQL Database の作成

  1. az group create コマンドを使用して、このチュートリアルで作成する Azure リソースを格納するためのリソース グループを作成します。

    az group create \
        --name $RESOURCE_GROUP \
        --location eastus
    
  2. 指示に従って、前の手順で作成したリソース グループに Azure SQL Database を作成します。 このチュートリアル全体で使用するサーバー名、データベース名、データベース資格情報を書き留めておきます。

Service Connector を使用して AKS でサービス接続を作成する (プレビュー)

サービス コネクタと Kubernetes 構成リソース プロバイダーを登録する

az provider register コマンドを使用して、サービス コネクタと Kubernetes 構成リソース プロバイダーを登録します。

az provider register --namespace Microsoft.ServiceLinker
az provider register --namespace Microsoft.KubernetesConfiguration

ヒント

az provider show --namespace "Microsoft.ServiceLinker" --query registrationState および az provider show --namespace "Microsoft.KubernetesConfiguration" --query registrationState コマンドを使用して、これらのリソース プロバイダーが既に登録されているかどうかを確認できます。 出力が Registered の場合、サービス プロバイダーは既に登録されています。

新しいつながりの作成

Azure portal または Azure CLI で、AKS クラスターと SQL データベースの間にサービス接続を作成します。

  1. Azure portal で、ご使用の AKS クラスター リソースに移動します。

  2. [設定]>[サービス コネクタ (プレビュー)]>[作成] を選択します。

  3. [基本] タブで次の設定を構成します。

    • [Kubernetes 名前空間]: [既定] を選択します。
    • [サービスの種類]: [SQL Database] を選択します。
    • [接続名]: サービス コネクタによって提供される接続名を使用するか、独自の接続名を入力します。
    • [サブスクリプション]: Azure SQL Database サービスを含むサブスクリプションを選択します。
    • [SQL サーバー]: SQL サーバーを選択します。
    • [SQL データベース]: 使用する SQL データベースを選択します。
    • [クライアントの種類]: Python など、ターゲット サービスに接続するために使用するコード言語またはフレームワーク。

    AKS で SQL データベースへの新しい接続を作成するためのフォームを表示している Azure portal のスクリーンショット。

  4. [次へ: 認証] を選択します。 [認証] タブで、データベース ユーザー名とパスワードを入力します。

  5. [次へ: ネットワーク]>[次へ: 確認と作成]>[作成] を選択します。

  6. デプロイが成功すると、新しい接続に関する情報が [サービス コネクタ] ペインに表示されます。

コンテナーを更新する

AKS クラスターとデータベースの間に接続を作成したら、接続シークレットを取得してコンテナーにデプロイする必要があります。

  1. Azure portal で、AKS クラスター リソースに移動し、[サービス コネクタ (プレビュー)] を選択します。

  2. 新しく作成された接続を選択して、[YAML スニペット] を選択します。 このアクションにより、サービス コネクタによって生成されたサンプル YAML ファイルを表示するパネルが開きます。

  3. 接続シークレットをコンテナーの環境変数として設定するには、次の 2 つのオプションがあります。

    • 提供されている YAML サンプル コード スニペットを使用して、デプロイを直接作成します。 スニペットには、環境変数として挿入されるシークレット オブジェクトを示す強調表示されたセクションが含まれています。 [適用] を選択してこの方法を続行します。

      AKS で SQL データベースへの新しい接続を作成するためのサンプル YAML スニペットを表示している Azure portal のスクリーンショット。

    • または、[リソースの種類] で、[Kubernetes ワークロード] を選択し、既存の Kubernetes ワークロードを選択します。 このアクションにより、選択したワークロードの環境変数として、新しい接続のシークレット オブジェクトが設定されます。 ワークロードを選択した後、[適用] を選択します。

      AKS で SQL データベースへの新しい接続を作成するための Kubernetes スニペットを表示している Azure portal のスクリーンショット。

アプリケーション コードを更新する

最後の手順として、こちらの手順に従って、環境変数を使用するようにアプリケーション コードを更新します。

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

このチュートリアルに従う場合、作成したリソースが必要なくなったら、Azure リソース グループを削除することで削除できます。

az group delete コマンドを使用して、リソース グループを削除します。

az group delete --resource-group $RESOURCE_GROUP

サービス コネクタの概念と、それを使って AKS を Azure サービスに接続する方法について詳しくは、次の記事をご覧ください。