Azure

Azure SDK for PythonでActivity Logsを取得する

AzureのPython SDKでActivity Logを取得する方法を調べました。 使うモジュールについて そもそもどのモジュールで取得するのかわからなかったのですが、以下のIssueにヒントがありました。 Is it possible to extract Activity Logs for a subscription as …

Microsoft認定の更新が凄く簡単になったのでAzure Solutions Architect Expertを更新してみた

このブログのサイドバーにあるように、大量のクラウド系の認定を保持しています。 ここまで来ると毎年のように何らかの認定が期限切れが起きるので、認定資格取得します。お金は会社から出るのですが、正直忙しいと辛いです。更に更新となると余計にモチベー…

新しくクラウドサービスを学ぶ時Infrastructure as Codeから始めてる話

背景 クラウドサービスのキャッチアップにおける課題 サービス間連携が多い 新機能追加のスピードが速い すぐ忘れる 勉強時にインフラコードを書くようにしてみた 以前のステップ 現在のステップ Infrastructure as Codeについて 使っているツール メリット …

AZ-220 Microsoft Azure IoT Developerに合格してきました

動機 勉強方法 Azure IoT関連サービスへの 所感 最後に久々のオンライン試験について 午前中に合格してきました。点数もまあ及第点かなと思います。 動機 実際の仕事ではAWS IoTやGreengrassを利用しているのですが、設計アプローチに幅を持たせたいと思い、…

2020年の仕事で使った技術を振り返る

2020年の仕事を振り返ってみようと思います。 書いて見返してみると、本当に技術のことばかりですね。仕事と言うより、技術好きのただの趣味みたいな感じなのでしょうがないか。 はじめに 今年仕事で使った技術 AWS Azure GCP Other 全てのプロジェクトにIaC…

Azure Data CatalogをMySQLと連携して機能や使い方を追ってみた

Azure Data Catalogについて書きます。 azure.microsoft.com データカタログって Azure Data Catalog 対応しているデータソース データカタログ準備 MySQLサンプルデータの準備 Azure Data Catalogにメタデータ発行用の登録ツールインストール MySQLコネクタ…

terraform-provider-azurermでエラーが出たときの調査ログ

Terraformのトラブルシューティングログです。 問題起きた時にどうやって原因を突き止めるのか、後で手順を誰かに説明する時のために書いておきます。 事象 TerraformのProviderのリポジトリを確認する ログを取得する APIを確認する Githubを検索 最終手段 …

ACR(Azure Container Registry)に保存されているイメージの世代管理をしたい

ACRのイメージが溜まるのが気になるので、古いモノ削除したいなと思って調べてみたら以下のMicrosoftの公式ページにまとまっていました。 ただ、記載があるのは、タイムスタンプである期間より古いものとか、タグの付いてないものを削除する手順でした。今回…

TerraformでLinux Azure VMにHeartbeatの死活監視を組み込む

タイトルの件、検索してもあまり見つからなかったので書き残しておきます。 いきなりTerraformの定義です。ドキュメントを元に作ってます。 www.terraform.io variable "azure_subscription_id" {} variable "azure_tenant_id" {} variable "mail_address" {…

AKSやVMで複数マネージドIDに紐付けるとIdentity not foundとなり認証できなくなる件

結論 事象 事象の深掘り 原因を調査 Addon設定前 Addon設定後 最後に 参考URL 結論 複数のマネージドIDを紐付けている時には、認証時にどのマネージドIDを利用するか指定する必要があります。 こう書くと当たり前の話ですが・・ハマりました。 以下の例ではA…

Azure PipelinesでAKSプライベートクラスタにデプロイを行う

AKSはAPIサーバーへの通信をプライベートに限定するプライベートクラスタを構築することが可能です。 ただしDevOpsでCI/CD組もうとすると通常のAKSクラスタだと簡単に統合できたところが、プライベートクラスタだと上手くいきません。(API叩けないので当然で…

Azure Kubernetes ServiceのPod上でkubectlコマンドをマネージドID認証して実行

AKSでもマネージドIDが使えるようになったことで、KubernetesのPodから定期ジョブなどでkubectlを実行したい時にAzure CLIで認証できるようになりました。 前提 コンテナイメージをビルド ENTRYPOINTのスクリプト イメージのビルド ACRにイメージをビルド Ku…

Azureリソースのマネージド ID(旧MSI)の権限をCURLでREST APIを実行して検証する

最近、AKSも対応したマネージド ID(旧MSI)です。これで認証情報をローカルに持たなくてもAPIが叩けるようになりました。 docs.microsoft.com 権限の検証はAzure CLIやSDKでも検証できますが、ここでは手っ取り早くcurlで検証する方法を記載します。 仮想マシ…

TerraformでAzure DevOpsをプロビジョニングする

タイトルの通り、Terraform使ってAzure DevOpsをプロビジョニングする方法です。 前提 組織登録 Personal Access Tokenの取得 Terraform定義準備 Terraformの定義の準備 Azure DevOps Providerのインストール Terraformの実行 スキーマの確認 前提 組織登録 …

KEDAを使ってServiceBus Queueに合わせてKubernetesジョブをスケールする

KEDAは「Kubernetes-based Event-Driven Autoscaling」の略で、イベントをトリガーとしてKubernetesのデプロイを管理することを目的としたCRD(Custom Resource Definitio)で、イベントを使ってpodを0~nにスケールイン・アウトできる機能です。 KEDA is a Ku…

Azure Kubernetes ServiceのPodからManaged identities(旧MSI)認証でKey Vaultの情報を取得する

Key Vaultに保存した情報をAKS上のPodから取得するような要件は良くあると思います。でもKey Vaultへの認証をどうしたものかと思っていました。Service Principal使えば良いのですが、AKSでもMSIを使えたら良いなと思い調べていたところ、以下の情報がドキュ…

Azure Kubernetes Serviceデプロイしたらvirtual-nodeが機能しなかったので対応メモ

virtual-nodeアドオンは、Azure Container InstancesをAKS(Azure Kubernetes Service)の仮想ノードとして利用できる便利な機能です。 azure.microsoft.com Azureのウィザードで作成している分には問題無く動いていたのですが、環境構築をTerraform化した際に…

「しくみがわかるKubernetes~Azureで動かしながら学ぶコンセプトと実践知識」を読んだ

今度、Kubernetes使うので、復習としてこちらの書籍読みました。 しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識作者:阿佐 志保,真壁 徹発売日: 2019/01/23メディア: 単行本(ソフトカバー) 構成 目次は以下でした。 第1部 導入編 …

MinikubeでACR(Azure Container Registry)を使う

MinikubeからACRにアップロードしたコンテナイメージを利用する方法です。 変数設定 ACRの準備 Service Principalの作成と認証情報取得 Minikubeに認証情報の登録 その他 認証情報を更新する Dockerでログインしてみる 設定の確認 参考URL 変数設定 Azureに…

AZ-400 Microsoft Azure DevOps Solutions に合格してきた

プロジェクトの隙間で少し時間ができたのでAZ-203と併せて取得してきました。これでMicrosoft Certified: Azure DevOps Engineer Expert認定を取得できました。 ロードマップ上はここに当たります。AzureはExpertが二つあるのですが、その片割れです。 引用…

AZ-203 Developing Solutions for Microsoft Azureを合格してきた

AZ-203を合格してきました。これでMicrosoft Certified Azure Developer Associateらしいです。 実は目的はAZ-400なのですが、その前提条件になっているので受けてきました。Azureは上位認定受けるのに複数試験受けないといけないので、結構疲れます。 勉強…

PythonでAzure SQL databaseにJDBC接続してみる

利用するモジュール SQL Server用のJDBC Driverダウンロード Pythonコード 既知のエラー 関連 利用するモジュール JDBCを使うためにこちらのモジュールを利用します。 github.com $ pip install JayDeBeApi SQL Server用のJDBC Driverダウンロード SQL Serve…

Azure Table StorageのデータをCloud Dataflowを使ってBigQueryに挿入する

Azure Table StorageのデータをCloud Dataflow (Apache Beam)から扱ってみたのでメモ。 対象のAzure Table Storage 対象としたTable Storageの中身です。mytable という名前にしました。このデータをDataflowを使ってBigQueryに挿入してみます。 準備 デー…

Azure Table Storageをpandas+pyarrowでParquet変換してBLOB側にアップロード

BeeX Advent Calendar 2019の12/6の記事です。空いてたので滑り込みです。 Azure Table Storageですが、対応しているツールも少なく、なかなか扱いずらいので、Pandasに読み込んで、Parquet形式に変更する方法を調べました。 対象 対象としたTable Storageの…

Apache AirflowでAzure BLOB Storageのオブジェクトを監視してワークフローをトリガする

AirflowにはAzureのパッケージが存在しています。 pip install 'apache-airflow[azure]' その辺りを使って、Azure Blob Storageへオブジェクトがアップロードしたことを検知して、ワークフローを流したいと思いました。 モジュールとしては以下のモジュール…

AZ-301取ってAzure Solutions Architect Expert 認定取りました

Azure Solutions Architect Expertを取得してきました。 試験 前提試験 AZ-300 と AZ-301 Azure Solutions Architect Expertの認定には、以下の2試験の合格が必要です。 AZ-300:Microsoft Azure Architect Technologies AZ-301:Microsoft Azure Architect D…

AZ-300 Microsoft Azure Architect Technologies を合格してきた

このブログ始めた頃(4~5年前)は、主に仕事ではAzureを使っていたのですが、暫くご無沙汰でした。 最近だと去年ChatBot作るため、Azure Bot Serviceを使いたくてAzure使っていたくらい。 最近マルチクラウドの案件が増えてきたため、AWSとGCPに合わせてAzur…

GCPとAzureをSite-to-SiteでVPN接続してみた(CLI作業)

GCPからAzureにサイト間VPNを接続した手順です。 以下にあるように、2019/10/18時点では、GCPとAzureのBGP接続はサポートされていないようなので、ルートベースのVPNを設定手順です。 VPN interoperability guides | Cloud VPN | Google Cloud 全体像 このフ…

LUISが日本語の日付に対応していないので正規表現で引くことにした

LUISで日付認識させようとして、上手く行かないので一旦正規表現で対応したという話です。2018/11/15時点の内容なので、将来的には対応されると信じています。対応状況はこちらを見るとわかると思います。 LUISがDatetimeを認識しない 正規表現で対応するこ…

Application Insightsのログ検索(Log Analytics)でJSONを展開する方法

Application Insightsのログ検索(Log Analytics)はKusto Query Languageという言語のようです。 Application Insightsのログ検索機能ですが、SDK使えば簡単にログ情報を構造化して保存できて、後で検索もしやすいです。使えるようになれば、凄い便利なのに調…