この記事では、Azure Arc 対応データサービスを Azure portal から直接接続モードでデプロイする方法について説明します。
間接接続モードでデプロイするには、「クイックスタート: Azure Arc をデプロイする - データ サービスを有効にする - 間接接続モード - Azure CLI」を参照してください。
この記事の手順を完了すると、次のものが作成されます。
- Arc 対応の Azure Kubernetes クラスター。
- 直接接続モードのデータコントローラー。
- Azure Arc によって有効化された SQL Managed Instance のインスタンス。
- Visual Studio Code を使用したインスタンスへの接続。
Azure Arc を使用すると、オンプレミス、エッジ、およびパブリック クラウドで Kubernetes を介して Azure データ サービスを実行できます。 Azure Arc を使用して SQL Managed Instance をデプロイします。Azure Arc を使用する利点には、一定のサービス パッチ、エラスティック スケール、セルフサービス プロビジョニング、統合管理、切断モードのサポートが含まれます。
クライアント ツールのインストール
まず、コンピューターに必要な クライアント ツール をインストールします。 この記事の手順を完了するには、次のツールを使用します。
- Visual Studio Code のための MSSQL 拡張機能
- Kubernetes CLI
- Azure CLI
- Azure CLI 用の
arcdata拡張機能。
さらに、クラスターを Azure に接続するには、次の追加の拡張機能が必要です。
- connectedk8s
- k8s-extension
Kubernetes クラスターにアクセスする
クライアントツールをインストールしたら、Kubernetes クラスターにアクセスする必要があります。
az aks create で Kubernetes クラスターを作成するか、次の手順に従って Azure portal でクラスターを作成することができます。
クラスターの作成
Kubernetes クラスターを短時間で作成するには、Azure Kubernetes Services (AKS) を使用します。
- Azure Portal にログインします。
- ポータルの上部にある [リソースの検索] フィールドに「 Kubernetes」と入力し、 Kubernetes サービスを選択します。 Azure では、Kubernetes サービスを利用できます。
- [作成>Kubernetes クラスターの作成] を選択します。
- [ 基本] において、
- サブスクリプションを指定します。
- リソースグループを作成するか、既存のリソースグループを指定します。
- クラスターのプリセット構成については、使用できるオプションを確認し、ワークロードに合わせて選びます。 開発/テストの概念実証には、 Dev/Test を使用します。 vCPU が少なくとも 4 個の構成を選びます。
- クラスター名を指定します。
- リージョンを指定します。
- [ 可用性ゾーン] で、選択したすべてのゾーンを削除します。 ゾーンを指定することはできません。
- Kubernetes のバージョンを確認します。 サポートされている最小バージョンについては、「 Azure Arc 対応データサービスのデプロイを計画する」を参照してください。
- [ ノード サイズ] で、 サイズ設定のガイダンスに基づいてクラスターのノード サイズを選択します。
- [スケール方法] で、[手動] を選択します。
- [Review + create]\(レビュー + 作成\) をクリックします。
- Create をクリックしてください。
Azure によって Kubernetes クラスターが作成されます。
クラスターが完了すると、Azure はポータルを更新して、完了した状態を表示します。
クラスターに接続する
クラスターを作成した後、Azure CLI を使用してクラスターに接続します。
Azureにログインします(まだログインしていない場合)。
az login接続する手順に従います。
クラスターに接続するための資格情報を取得します。
この記事のスクリプトでは、山かっこを使用して、
< ... >スクリプトを実行する前に置き換える必要がある値を識別します。 山かっこは含めないでください。az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>ポータルでクラスターを作成したときに定義したリソースグループとクラスター名を使用します。
Azure CLI によって次の出力が返されます。
Merged "<cluster name>" as current context in C:<current path>\.kube\configクラスターが実行されていることを確認します。 次のコマンドを使用します。
kubectl get nodesコマンドは、実行中のノードの一覧を返します。
NAME STATUS ROLES AGE VERSION aks-agentpool-37241625-vmss000000 Ready agent 3h10m v1.20.9 aks-agentpool-37241625-vmss000001 Ready agent 3h10m v1.20.9 aks-agentpool-37241625-vmss000002 Ready agent 3h9m v1.20.9
Arc 対応 Kubernetes クラスター
クラスターが実行されているので、クラスターを Azure に接続します。 クラスターを Azure に接続するときは、Azure Arc に対して有効にします。クラスターを Azure に接続すると、クラスターを表示および管理できます。 さらに、Arc 対応データ サービスなどの追加サービスを Azure portal から直接クラスターにデプロイできます。
az connectedk8s connect を使用してクラスターを Azure に接続します。
az connectedk8s connect --resource-group <resource group> --name <cluster name>
Connect コマンドが正常に完了したら、Azure portal で shadow オブジェクトを表示できます。 Shadow オブジェクトは、Azure Arc 対応クラスターの表現です。
Azure portal で、リソースグループを見つけます。 リソースグループを検索する方法の 1 つは、ポータルで [検索] にリソースグループ名を入力することです。 ポータルの [検索] ボックスの下に、リソースグループへのリンクが表示されます。 [リソース グループ] リンクをクリックします。
リソース グループの [ 概要 ] で、Kubernetes クラスターとシャドウ オブジェクトを確認できます。 次の図を参照してください。
Shadow リソースは、上の画像のリソースの種類 Kubernetes - Azure Arc です。 もう 1 つのリソースは Kubernetes サービス クラスターです。 両方のリソースに同じ名前が付いています。
データ コントローラーを作成する
次の手順では、Azure portal を使用して、直接接続モードでデータコントローラーを作成します。 クラスターの作成に使用したものと同じサブスクリプションとリソースグループを使用します。
ポータルで、前のステップのリソースグループを見つけます。
Azure portal の検索バーで、「Azure Arc data controllers」を検索し、[+ 作成] を選択します
[Azure Arc 対応 Kubernetes クラスター (直接接続モード)] を選びます。 [次へ: データ コントローラーの詳細] を選択します。
データコントローラーの名前を指定します。
カスタムの場所 (名前) を指定します。
この例では AKS クラスターを使用するため、 Kubernetes 構成テンプレートでは azure-arc-aks-premium-storage を指定します。
[サービスの種類] で [ロードバランサー] を選択します。
メトリックとログサービスのユーザー名とパスワードを設定します。
パスワードは少なくとも 8 文字で、次の 4 つのカテゴリのうち 3 つのカテゴリの文字が含まれている必要があります。ラテン文字の大文字、ラテン文字の小文字、数字、英数字以外の文字。
ポータルの指示に従って、仕様を完了し、データコントローラーをデプロイします。
データコントローラーを表示するには、次のコマンドを実行します。
kubectl get datacontrollers -A
デプロイの監視
次のコマンドを使用して、データ コントローラーの作成を監視することもできます。
kubectl get datacontroller --namespace <namespace>
このコマンドは、データ コントローラーの状態を返します。 たとえば、次の結果は、デプロイが進行中であることを示しています。
NAME STATE
<namespace> DeployingMonitoring
データ コントローラーの状態が 'READY' になったら、この手順が完了します。 例えば次が挙げられます。
NAME STATE
<namespace> Ready
Azure Arc によって有効化された SQL Managed Instance をデプロイする
- ポータルで、リソース グループを探します。
- リソース グループで、[ 作成] を選択します。
- マネージド インスタンスを入力します。 このAzure portalは、一致する名前のリソースの種類を返します。
- [Azure SQL Managed Instance - Azure Arc] を選択します。
- Create をクリックしてください。
- リソース グループとカスタムの場所を指定します。 前の手順で設定したのと同じ値を使用します。
- LoadBalancer サービスの種類を設定します。
- マネージド インスタンス管理者アカウントの資格情報 (ログインとパスワード) を指定します。
- [確認と作成] をクリックします。
- Create をクリックしてください。
Azure では、マネージド インスタンスが、Azure Arc Kubernetes クラスター上に作成されます。
インスタンスが作成されたことを確認するには、次のように実行します。
kubectl get sqlmi -n <namespace>
マネージド インスタンス名前空間の状態が 'READY' になったら、この手順が完了します。 例えば次が挙げられます。
NAME STATE
<namespace> Ready
Visual Studio Code を使用して接続する
Visual Studio Code に接続するには、「 Azure Arc で有効になっている SQL Managed Instance への接続」を参照してください。