369 Views
June 19, 24
スライド概要
第2回 JAZUG for Womenの発表スライド
[アーカイブ動画]https://www.youtube.com/watch?v=TXoWRsw4ogs&t=5252s
・Visual Studioの接続済みサービスでできること
・Visual Studioの接続済みサービスでAzureリソースと接続する
・Azure Service Connectorで簡単にAzure SQL Databaseと接続する
・Azure mobile appについて
バックエンドエンジニア。 主にC#, Azure, Terraform, Github Actionsをいじっています。
Visual Studio の「接続済みサービ ス」をちゃんと調べてみる 第2回 JAZUG for Women 2024/03/08 長瀬 マキ(@yuma_prog) \ミモザッ/
自己紹介 ● ● ● ● CosmosDBチームをリードしている Mark Brownさん にいただいたステッカー配布中! (福岡の方も入手チャンスが …) 長瀬マキ(X:@yuma_prog) 文系出身バックエンドエンジニア AzureやC#をよくいじっています Azureわいがや会 主催
3/12: インフラ初心者がドメイン取得からApp Serviceへの 証明書設置まで行うのをわいがや応援する会 Azureわいがや会 ● ● 3/28: Terraform経験者がTerraform Cloudを1時間で習 得できるのかわいがや眺める会 各自でもくもくするのではなく、全員で一つのことをわいがや学ぶゆるっとした勉 強会 一人のドライバーを全員でナビゲートして進める人数過剰版モブプロ テーマ ● ● Azureに関連する気がすればなんでもOK やりたいことやご質問があればXで @yuma_progまで! ○ テーマをいただければドライバー代行も可能
目次 1. 2. 3. 4. 5. 6. 「接続済みサービス」とは 「接続済みサービス」でできること Azure Storageとの接続を追加すると何が起きる? Azure Service Connectorとは Azure SQL Databaseと接続してみる おまけ:Azureのモバイルアプリについて
「接続済みサービス」とは \コンニチハ/
「接続済みサービス」とは ● ● Azureリソースを開発するときに使えるVisual Studio の便利機能 アプリケーション内から直接Azureリソースや外部API、DBなどに接続し、機能を 統合できる Visual Studio を使用した Azure 開発 - Visual Studio (Windows) | Microsoft Learn
Visual Studio使ってないから恩恵がな いと思った方… \アンシンシテネッ/
Visual Studioを使えば使えます! \ドヤッ/
Visual Studioがなくても使える 便利機能の話もします \ヨカッタ/
「接続済みサービス」でできること \キミナラデキルッ/
何ができるの? ● これらとの接続が簡単に! ○ ○ ○ ○ ○ ○ ● Azure サービス OpenAPI エンドポイント gRPC (リモート プロシージャ コール) エンドポイント Windows Communication Foundation (WCF) エンドポイント データベースとデータ プロバイダー Power Platform Microsoft 365サービスへのアクセス権の付与 ○ Microsoft Graph を使用してM365のユーザー情報( OutlookのメールやMicrosoft Entra IDの 情報など)を使用するアプリケーションを開発する時便利そう! Visual Studio で Microsoft Graph APIを使用して Microsoft 365 サービスを構成する - Microsoft Graph | Microsoft Learn ASP.NET Web API (プレビュー ) のキャンバス アプリ フロント エンドを作成します - Power Platform | Microsoft Learn
何ができるの? ● これらとの接続が簡単に! ○ ○ ○ ○ ○ ○ ● Azure サービス OpenAPI エンドポイント gRPC (リモート プロシージャ コール) エンドポイント Windows Communication Foundation (WCF) エンドポイント データベースとデータ プロバイダー Power Platform Microsoft 365サービスへのアクセス権の付与 ○ Microsoft Graph を使用してM365のユーザー情報( OutlookのメールやMicrosoft Entra IDの 情報など)を使用するアプリケーションを開発する時便利そう! Visual Studio で Microsoft Graph APIを使用して Microsoft 365 サービスを構成する - Microsoft Graph | Microsoft Learn ASP.NET Web API (プレビュー ) のキャンバス アプリ フロント エンドを作成します - Power Platform | Microsoft Learn
どんなAzureサービスと接続できる? ● ● ● ● ● ● ● ● ● ● ● Azure App Configuration Azure App Insights Azure App Service Azure Functions Azure ストレージ Azure SignalR Service Azure Key Vault Azure SQL Database Azure Cache for Redis Azure Cosmos DB Microsoft ID プラットフォーム Azure サービス、 gRPC、OpenAPI などへの接続 - Visual Studio (Windows) | Microsoft Learn
何ができるの? ● これらとの接続が簡単に! ○ ○ ○ ○ ○ ○ ● Azure サービス OpenAPI エンドポイント gRPC (リモート プロシージャ コール) エンドポイント Windows Communication Foundation (WCF) エンドポイント データベースとデータ プロバイダー Power Platform Microsoft 365サービスへのアクセス権の付与 ○ Microsoft Graph を使用してM365のユーザー情報( OutlookのメールやMicrosoft Entra IDの 情報など)を使用するアプリケーションを開発する時便利そう! Visual Studio で Microsoft Graph APIを使用して Microsoft 365 サービスを構成する - Microsoft Graph | Microsoft Learn ASP.NET Web API (プレビュー ) のキャンバス アプリ フロント エンドを作成します - Power Platform | Microsoft Learn
どのくらい簡単に接続できるか(Azure Storage編)
エミュレーターとの接続もここで設定できる
既存リソースを選択 or 接続したいリソースの新規作成
接続文字列は自動で取得してくれている
Azure Storageとの接続 を追加すると何が起きる?
Storage Accountの接続を追加すると・・・ ● 「接続文字列の値の保存先」で選択した場所に接続文字列を保存 ○ ● ● ● ● 今回はユーザーシークレット( Sercrets.json)に接続文字列追加 依存関係の接続とネットワーク設定を構成するのに役立つ Azure Service Connector リソースを作成 必要なNuGetパッケージをプロジェクトにインストール Storage Accountの場合はBlobServiceClientとQueueServiceClientを作成す るコードが追加 Propertise/serviceDependencies.jsonに依存関係追加 Service Connector とは | Microsoft Learn
Storage Accountの接続を追加すると・・・ ● 「接続文字列の値の保存先」で選択した場所に接続文字列を保存 ○ ● ● ● ● 今回はユーザーシークレット( Sercrets.json)に接続文字列追加 依存関係の接続とネットワーク設定を構成するのに役立つ Azure Service Connector リソースを作成 必要なNuGetパッケージをプロジェクトにインストール Storage Accountの場合はBlobServiceClientとQueueServiceClientを作成す るコードが追加 Properties/serviceDependencies.jsonに依存関係追加 Service Connector とは | Microsoft Learn
Azure Service Connectorとは \azureキタッ‼/
Service Connectorとは Visual Studio関係ない! ● Azureサービス間の接続を簡単に作成・管理するためのAzure拡張リソースプロ バイダー ○ ○ リソースプロバイダー ■ Azure サービスの機能を有効化する REST 操作のセット ■ ex) Key Vault →Microsoft.KeyVault /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/ {resourceProviderNamespace}/{resourceType}/{resourceName} ■ Service Connectorのリソースプロバイダー名はMicrosoft.ServiceLinker リソース プロバイダーとリソースの種類 - Azure Resource Manager | Microsoft Learn Service Connector FAQ | Microsoft Learn
Service Connectorの挙動 ● ● ● Azure portal で[Service Connector] タブを開くとServiceLinker リソース プロバイ ダーがサブスクリプションに自動的に登録される サブスクリプション・テナントを跨いでサービスを接続できる 接続先ではなく、接続元サービスで接続が管理される ○ ● ポータルかAzure CLIで操作できる 接続リソースは接続元サービスと同じリージョン内に作成される(規定では) リソース プロバイダーとリソースの種類 - Azure Resource Manager | Microsoft Learn Service Connector FAQ | Microsoft Learn
サービス接続時に作成でやってくれること ● ネットワークとファイアウォールの設定を構成 ○ ● ● 接続情報の構成 認証情報の構成 ○ ○ ● ファイアウォール、サービス エンドポイント、プライベート エンドポイント 接続元と接続先リソースで利用できる全認証の種類をサポート ■ システム割り当てマネージド ID、ユーザー割り当てマネージド ID、接続文字列、サービス プリンシパル 例:認証の種類がユーザー割り当てマネージド ID のストレージの場合 ■ AZURE_CLIENT_ID、AZURE_TENANT_ID、AZURE_STORAGEACCOUNT_ENDPOINTを 接続元リソースに保存 障害が発生した場合の接続ロールバックの作成または更新
私が嬉しかったこと データベースとApp Serviceの接続でネット ワーク周りを考えなくていい!!
Azure SQL Databaseと接続してみる
PrivateなAzure SQL DatabaseにApp Serviceから 接続しようとすると Cannot open server 'サーバー名' requested by the login. Client with IP address 'IP アドレス' is not allowed to access the server. →SQL Serverのファイアウォール設定にApp ServiceのIPアドレスを追加する必要が ある
Service Connectorを利用すれば ● ● ファイアウォール設定や接続文字列設定をまとめてやってくれる Visual Studio を使っていれば!発行時に自動で設定される .NET と Microsoft.Data.SqlClient ライブラリを使って Azure SQL Database に接続し、クエリを実行する - Azure SQL Database | Microsoft Learn Azure SQL Database に接続を追加する - Visual Studio (Windows) | Microsoft Learn
Visual Studio 便利だね! \vsサイコウッ‼/
おまけ
Azureのモバイルアプリ ご存じですか
Azure mobile app ● ● ● ● Azure リソースとサービスを監視/管理できるツール リソースの状態、パフォーマンス、正常性の表示 仮想マシン、Web アプリ、データベースの起動と停止 アプリから Azure Cloud Shell にアクセスして、リソースに関するプッシュ通知や アラートを取得することも Azure mobile app とは? - Azure portal | Microsoft Learn
何が嬉しいのか
課金アラートの通知がスマホに! ● ● 検証用環境、気づいたら課金額が大変なことに…という経験ありませんか? 予算を決めてコストアラートを設定→スマホに通知! ○ ● 気づかぬうちに予算が消えている現象を回避できます Azure Cost Management のコストのアラートで使用量と支出を監視する - Microsoft Cost Management | Microsoft Learn
Azure mobile app 便利だね!