Microsoft Azure
C# のプログラムで Azure Resource Manager のテンプレート関数が使いたかった。具体的には guid を。Azure.Deployments.Expression パッケージを使って実現できた。 www.nuget.org guid 関数を呼び出して、deterministic な GUID を生成するサンプルは次の…
Azure.ResourceManager.Sql を使って、SQL Database の長期バックアップも設定できる。 www.nuget.org 毎月 1 回目のフルバックアップを 2 ヶ月保有するように変更するサンプルは次の通り。 using Azure.Identity; using Azure.ResourceManager; using Azure…
Azure.ResourceManager.Sql を使って、SQL Database の PITR を設定できる。 www.nuget.org PITR の保有期間を 14 日間に変更するサンプルは次の通り。 using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Sql; using Azure.R…
Azure.ResourceManager.Authorization を使えばできた。 www.nuget.org リソースの共同作成者を割り当ててみたサンプル。 using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Authorization; …
Azure.ResourceManager.Dns パッケージを使って DNS ゾーンを操作できる。 www.nuget.org A レコードを追加するサンプルコードは次の通り。既存のパブリックIPアドレスリソースのエイリアスにしている。 using Azure; using Azure.Identity; using Azure.Res…
Azure.ResourceManager.Network パッケージを使う。 www.nuget.org パブリック IP アドレスが無ければ作成するサンプル。 using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Network; using …
Azure.Security.KeyVault.Secrets を使えば、Microsoft Azure Key Vault にシークレットを登録できた。 www.nuget.org 以下サンプルコード。シークレットの取得もやってる。 using Azure.Identity; using Azure.Security.KeyVault.Secrets; var client = new…
Microsoft Graph SDK を使う。Azure SDK ではなかった。 www.nuget.org アプリが既に存在するか検索し、なければ登録するコードは次の通り。 using Azure.Identity; using Microsoft.Graph; using Microsoft.Graph.Applications.Item.AddPassword; using Mic…
Windows ノードプールは自動スケールアウトを有効にしてみた。 resource "azurerm_resource_group" "example" { name = "rg-example-dev" location = "japaneast" } resource "azurerm_kubernetes_cluster" "example" { name = "aks-example-dev" resource_g…
AKS で動かしている Windows コンテナ内では、一応アプリが標準出力にカスタムログを書き込んでいる。 AKS のクラスタを作成したら Container Insights が有効になっていたので、保存場所になっている Log Analytics ワークスペースを見てみたら、ContainerL…
C# で KubernetesClient を使って AKS のクラスタを操作するとき、認証情報はローカルに保存されたものを使っていたけど、本番ではそうはいかない。 AKS では認可に Azure RBAC が使えるので、例えば Azure AD でアプリを登録し、Azure RBAC で AKS のクラス…
Azure SDK for .NET の Azure.Monitor.Query 使えば、Container Insights が収集した AKS のコンテナのメトリックを取得できた。 www.nuget.org LogsQueryClient で Log Analytics ワークスペースに対して Kusto クエリを実行。 using Azure.Identity; using…
Azure.ResourceManager.Sql を使って、Azure SQL Server のファイアウォール規則を操作できた。 www.nuget.org using Azure; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Sql; const string SubscriptionId = "<サブス…
Microsoft Azure のリソースのメトリックを取得したかった。Azure SQL Database のとか。 Azure SDK for .NET の Azure.Monitor.Query 使えば、任意のリソースのメトリックを取得できた。 www.nuget.org using Azure.Identity; using Azure.Monitor.Query; u…
はじめに Azure Kubernetes Service(AKS) をプログラムから操作する必要があり、 KubernetesClient を使えばリソースの作成や更新ができそうだったので試してみた。 www.nuget.org github.com 認証情報を取得 操作対象は AKS なので、まずは認証情報を取得し…
Microsoft Azure 仮想ネットワークゲートウェイのポイント対サイトで使うルート証明書を、 C# で Azure SDK を使って登録してみた。 www.nuget.org 公開証明書データを渡すときに使う BinaryData が曲者だった。 公開証明書データの文字列中の改行文字を削除…
AzureRM provider 3.0 以降では、Azure App Service の Web Apps(Windows) を作成するときのリソースが azurem_windows_web_app に変わったけど、マネージド証明書を使う方法はさほど変わっていなかった。 provider "azurerm" { features {} } resource "azu…
Azure ポータルの仮想マシンの概要ページに表示されているような情報を、C# で SDK 使って取得してみた。 www.nuget.org www.nuget.org といっても全部取得するのは調査に時間がかかるので、ひとまず必要なやつだけ。ズバッと1回の呼び出しで取得できなかっ…
Microsoft Azure の仮想ネットワークに VPN の P2S で繋ぐとき、クライアントのアドレスプールをあらかじめポータルで設定しておくけど、REST API や SDK でもアドレスプールを変更できる。 www.nuget.org ポータルではアドレスプールなのに対し、REST API …
Microsoft Azure の仮想ネットワークに VPN の P2S で繋ぐとき、Azure VPN Client を使うことになる。Azure VPN Client はポータルでダウンロードすれば事足りるけど、REST API や SDK でもダウンロードできる。 www.nuget.org 実際には、Azure VPN Client …
ネットワークインタフェースに関連付けているネットワークセキュリティグループの付け替えも、Azure.ResourceManager.Network を使えばできた。 www.nuget.org using Azure; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManage…
C# で Microsoft Azure のネットワークセキュリティグループの操作を行うのは、Azure.ResourceManager.Network を使えばできた。 www.nuget.org ネットワークセキュリティグループのセキュリティ規則を CRUD してみたサンプルは次の通り。 using Azure; usin…
C# で Azure.ResourceManager.Compute を使って、スナップショットからマネージドディスクを作成できた。あと列挙・更新・削除も。 www.nuget.org 以下、.NET 6 でのサンプル。 using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceM…
C# で Azure.ResourceManager.Compute を使えば、マネージドディスクからスナップショットを作成・取得・更新・削除できた。 www.nuget.org using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManage…
Azure.ResourceManager.Compute を使って、Azure 仮想マシンのデータディスクもアタッチやデタッチができる。 www.nuget.org OSディスクのときと違って、データディスクは ID の変更ができないので、データディスクのアタッチとでタッチを行うことで、データ…
Azure.ResourceManager.Compute を使って、Azure 仮想マシンの OS ディスクをスワップできた。 www.nuget.org using Azure; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Compute; using Azure.ResourceManager.Compute…
Azure.ResourceManager.Compute を使えば、C# で仮想マシンの停止・開始・再起動ができる。 www.nuget.org 認証には Azure.Identity を使う。 www.nuget.org アプリに組み込んで使うことを想定しているので、Azure AD でアプリを登録しておく。 Microsoft Az…
Microsoft Azure の仮想マシンで動かしている WCF サービスでも、テレメトリを Azure Application Insights に送りたくて、方法を調べたら次のがヒットした。 github.com ただ、こいつは正式リリースされてないし、そもそも開発終わってだいぶ経過してる。WC…
Azure SQL Database で使える CREATE DATABASE AS COPY OF は、裏で geo レプリケーションが行われている。その geo レプリケーションが完了する前に、ソースのデータベースをリネームしようとすると、下記の例外が発生する。 The operation cannot be perfo…
sys.database_servic_objectives という、Azure SQL Database (の SQL Server)にあるシステムビューを見れば分かる。後は sys.databases と JOIN すれば OK。 SELECT * FROM sys.databases AS d INNER JOIN sys.database_servic_objectives AS o ON d.databa…