Microsoft Foundry「Priority Processing」がGA——プロビジョニング不要でSLA保証のAI推論を実現

Microsoft Foundry、遅延に敏感なAIワークロード向け「Priority Processing」を正式提供開始 Microsoftは、クラウドAI開発プラットフォーム「Microsoft Foundry(旧Azure AI Foundry)」において、Priority Processing(優先処理) 機能の一般提供(GA)を発表した。リアルタイム性が求められるAIアプリケーションのレスポンスタイムを大幅に改善する新機能だ。 プロビジョニング不要でSLA保証のパフォーマンス Priority Processingの最大の特徴は、プロビジョニング済みスループット(PTU)を事前確保しなくても、SLA(サービスレベルアグリーメント)に裏付けられたパフォーマンスが得られる点にある。 従来、AIモデルの安定した推論速度を確保するにはPTUの事前購入が必要だった。これはコストと計画の両面で企業にとって負担となっていた。Priority Processingはこの制約を取り除き、従量課金モデルのまま優先的なリソース割り当てを受けられる仕組みを提供する。 チャットbotからコパイロットまで——インタラクティブAI体験に最適 この機能が特に威力を発揮するのは、ユーザーがリアルタイムで操作するシナリオだ。具体的には以下のようなユースケースが想定される: カスタマーサポートチャットbot — 問い合わせへの即時応答 AIコーディングアシスタント — コード補完や提案のリアルタイム表示 コパイロット型アプリケーション — ドキュメント作成支援や検索拡張生成(RAG) 音声AIエージェント — 自然な会話フローを維持するための低レイテンシー処理 Adobe・Harveyなど先進企業がすでに導入 GA前のアーリーアクセス段階から、すでに複数の有力企業が本機能を採用している。クリエイティブソフトウェア大手のAdobeは、AIを活用したデザインツールの操作感改善に活用。リーガルテック企業のHarveyは、法律専門家向けAIアシスタントの応答性向上に役立てている。 両社とも「ユーザーが体感できるレベルでの応答速度改善が確認できた」とコメントしており、インタラクティブなAI体験の品質向上に直結する機能として評価されている。 日本企業への影響 国内でも、Azure OpenAI ServiceやMicrosoft Foundryを活用したAIソリューション導入が急速に広がっている。カスタマーサポートの自動化や社内向けコパイロット構築を進める企業にとって、追加のインフラ投資なしにエンドユーザー体験を向上できるPriority Processingは、ROI改善の観点からも注目に値する機能だ。 Microsoft Foundryのコンソールから即日有効化が可能で、既存のAzure OpenAI Serviceとの統合も容易とされている。 元記事: Announcing Priority Processing in Microsoft Foundry for Performance-Sensitive AI Workloads

March 23, 2026 · 1 min · 胡田昌彦

Azure MCPサーバー 1.0.0 正式リリース——AIエージェントとクラウドをつなぐ新時代の幕開け

AIエージェントがAzureを操る——MCP正式版がついに登場 Microsoftは2025年、Azure MCPサーバー 1.0.0 の安定版を正式リリースした。Model Context Protocol(MCP)を活用し、AIエージェントとAzureクラウドリソースをシームレスに接続するオープンソース実装だ。 MCPとは何か MCP(Model Context Protocol)は、AIエージェントが外部システムと通信するための共通プロトコルで、「エージェント界のUSB規格」とも呼ばれる。Anthropicが策定したこのプロトコルをAzureが公式実装したことで、GitHub Copilot Agent ModeやAzure AI Foundryをはじめとするさまざまなエージェントから、クラウドリソースを自然言語で操作できるようになる。 47以上のAzureサービスに対応 今回の正式版では、以下のカテゴリにわたる47以上のAzureサービスがサポートされている。 AIサービス: Azure AI Foundry、AI Search データベース: PostgreSQL、Azure Data Explorer(Kusto) メッセージング: Event Hubs、Service Bus コンピューティング: Function Apps インフラ: リソースグループ、Storage、App Configuration、Log Analytics 開発者体験の大幅な改善 プレビュー段階では170以上のツールが乱立していたが、今回の1.0では整理・統合が進み、発見しやすく・使いやすいツールセットに刷新された。Visual Studio Code、Visual Studio、IntelliJといった主要IDEとの統合も強化されており、日常の開発ワークフローにそのまま組み込める。 CI/CDパイプラインへの統合を想定し、Dockerイメージとしての提供とMicrosoft Container Registry(MCR)への掲載も行われた。コンテナ数行のコマンドでエージェントワークフローを立ち上げられる点は、DevOps現場での活用を大きく後押しするだろう。 実際の活用シナリオ 公式ブログでは「GitHub Copilotに『フォトギャラリーアプリをビルドしてデプロイして』と指示するだけで、Azure MCPサーバーがストレージ・コンテナ・監視・デプロイを自動でオーケストレーションする」というデモが紹介されている。自然言語でデータベースを照会したり、ストレージやログを管理したり、CLIコマンドの実行・デプロイの自動化まで、エージェントが一気通貫で担えるようになる。 日本の開発者への影響 Azureを利用する日本企業にとっても、この正式リリースは注目すべき転換点だ。GitHub Copilotとの深い統合により、Azure上のリソース管理をコーディング中にその場で完結できる。また、MCPは業界標準になりつつあるプロトコルであり、Azureに限らずマルチクラウド・ハイブリッド構成との接続にも将来的な応用が期待される。 オープンソースとして公開されているため、独自のMCPクライアントや社内エージェントフレームワークへの組み込みも容易だ。 ※出典: Announcing Azure MCP Server 1.0.0 Stable Release – A New Era for Agentic Workflows 元記事: Announcing Azure MCP Server 1.0.0 Stable Release – A New Era for Agentic Workflows ...

March 22, 2026 · 1 min · 胡田昌彦

レガシーDBからの脱却:Azure PostgreSQLでエンタープライズが60%コスト削減を実現

オンプレミスDBがボトルネックに——レガシー脱却の波 デジタル経済の加速とともに、企業のデータインフラが変革の岐路に立っている。長年にわたってエンタープライズシステムを支えてきたOracleをはじめとするオンプレミスデータベースは、ライセンス費用の高騰、スケーリングの限界、そして保守に必要な専門人材の確保難という三重苦に直面している。 Microsoftはこの課題に正面から向き合い、PostgreSQLを「最高性能かつエンタープライズ対応のオープンデータベースプラットフォーム」にするというビジョンを掲げ、複数年にわたる大規模投資を続けている。その集大成がAzure Database for PostgreSQLであり、2024年に新たに発表されたAzure HorizonDBだ。 Apollo Hospitalsの事例:医療DXを支えるDB移行 最も説得力のある成功事例が、アジア最大級の医療グループであるApollo Hospitals(インド)だ。74以上の病院、1万床超を擁するApolloにとって、院内情報システム(HIS)は文字通りの生命線。しかし、Oracle上に構築されたシステムはパフォーマンスのボトルネックが常態化し、スケーリングコストは持続不可能な水準に達していた。 ApolloはAzure Database for PostgreSQLへの全面移行を決断。Microsoftとクラウドパートナーとの密な連携のもと移行を完遂した結果、以下の成果を達成した。 トランザクションの90%が5秒以内に完了(臨床システムの応答性が劇的に向上) **稼働率99.95%**を達成し、病院業務の継続性を確保 デプロイ時間40%短縮により、新機能のリリースサイクルが加速 運用コスト60%削減、システム性能は3倍に向上 医療という一切のダウンタイムが許されない領域での成功は、エンタープライズ向けPostgreSQLの成熟を如実に示している。 移行の壁をAIで突破——OracleスキーマをPostgreSQLへ Oracle移行の最大の技術的障壁は、ストアドプロシージャや独自SQL構文の変換だ。大規模エンタープライズでは数千〜数万のオブジェクトが絡み合い、手作業での変換は現実的でない。 MicrosoftはAIアシスト移行ツールの整備にも注力しており、Oracleスキーマ・PL/SQLコードのPostgreSQL互換SQL(PL/pgSQL)への自動変換を支援する。日本企業においても、金融・製造・医療分野でOracleからの移行検討が増えており、こうしたツール整備は移行ハードルを大きく下げる可能性がある。 オープンソースとクラウドの融合が生む競争優位 PostgreSQLはもともとオープンソースであり、ベンダーロックインを避けながらエンタープライズ品質のデータベース環境を構築できる点が日本市場でも評価されている。Azure上でのマネージドサービスとして提供されることで、インフラ管理の負担をクラウドに委ねつつ、PostgreSQLのエコシステム(拡張機能・ツール群)を最大限に活用できる。 Microsoftが「レガシーからリーダーシップへ」というメッセージを前面に打ち出した今回の発表は、エンタープライズDB市場におけるOracleへの明確な対抗宣言とも読み取れる。コスト・性能・俊敏性の三点において、クラウドネイティブなPostgreSQLが実績を積み重ねつつある。 ※出典: From legacy to leadership: How PostgreSQL on Azure powers enterprise agility and innovation 元記事: From legacy to leadership: How PostgreSQL on Azure powers enterprise agility and innovation

March 22, 2026 · 1 min · 胡田昌彦

MicrosoftがNVIDIA GTCで発表——Azure AIインフラ強化とPhysical AI、Microsoft Foundryの新ソリューション

MicrosoftがNVIDIA GTCで大規模AI強化策を発表 Microsoftは、NVIDIAが主催する世界最大級のAI・GPU技術カンファレンス「NVIDIA GTC 2026」において、Microsoft Foundry、Azure AIインフラストラクチャ、そしてPhysical AI(フィジカルAI)に関する複数の新ソリューションを発表した。 NVIDIAとの協業をさらに深化 MicrosoftとNVIDIAは長年にわたり、ハードウェア・ソフトウェア・インフラを統合し、今日の重要なAIブレークスルーの多くを支えてきた。今回の発表は、この戦略的パートナーシップをさらに一歩進めるものとなる。 加速コンピューティング(Accelerated Computing)とクラウドスケールエンジニアリングを組み合わせることで、企業が必要とする高度なAI能力をスケーラブルに提供することが今回の取り組みの核心だ。 Microsoft Foundryの新展開 Microsoft Foundryは、企業がカスタムAIモデルを構築・展開するためのプラットフォームとして注目を集めている。GTCでは、NVIDIAのGPUアーキテクチャとの統合を強化した新ソリューションが披露され、モデルの学習から推論までをシームレスに実現する環境整備が進む。 日本でもAIシステムの内製化や独自モデル開発への関心が高まっており、Microsoft Foundryのような基盤プラットフォームの動向は、エンタープライズITの観点から注視すべき存在となっている。 Azure AIインフラの拡張 AzureにおけるAIインフラ強化も今回の発表の柱の一つだ。大規模言語モデル(LLM)や生成AI(Generative AI)ワークロードに対応するため、NVIDIAの最新GPU基盤とAzureクラウドの組み合わせによる処理能力の向上が図られる。 これはAIの「民主化」というトレンドに沿ったもので、大企業だけでなく中規模の組織でも高性能なAIインフラを利用しやすくなることが期待される。 Physical AIへの注力 特に注目されるのがPhysical AI分野への進出だ。Physical AIとは、ロボティクス・自動運転・製造ラインの自動化など、物理的な世界に作用するAIシステムを指す。NVIDIAが推進するOmniverse基盤と組み合わせることで、産業用AIの実装がさらに加速するとみられる。 製造業や物流業が強い日本においても、Physical AIの普及は業界構造を大きく変える可能性を秘めており、Azureとの連携動向は継続的に追いかける価値がある。 まとめ MicrosoftのNVIDIA GTCにおける一連の発表は、単なる製品アップデートにとどまらず、AIインフラ全体のエコシステムを再定義しようとする大きな意思表示といえる。Microsoft AzureとNVIDIAの協業がどこまで深まるか、今後の展開から目が離せない。 ※出典: Microsoft at NVIDIA GTC: New solutions for Microsoft Foundry, Azure AI infrastructure and Physical AI 元記事: Microsoft at NVIDIA GTC: New solutions for Microsoft Foundry, Azure AI infrastructure and Physical AI

March 22, 2026 · 1 min · 胡田昌彦

MicrosoftがエージェントAI時代に向けてデータベース基盤を統合——Azure SQLにAI機能を直接統合

MicrosoftがエージェントAI時代のデータ基盤を再定義 Microsoftは2026年3月18日、FabCon(Fabric Conference)およびSQLCon 2026に合わせて、Azure SQLを核とした統合データプラットフォームの最新戦略を発表した。オンプレミスのSQL Serverからクラウド上のAzure SQLまで、一貫した「Microsoft SQL基盤」の上でエージェントAI(Agentic AI)を実現する取り組みだ。 エージェントAIとデータの融合 「エージェントAI」とは、単に問い合わせに答えるだけでなく、自律的にタスクを計画・実行するAIシステムのこと。このようなAIが実用的に機能するためには、信頼性の高いデータへのリアルタイムアクセスが不可欠となる。 Microsoftのアプローチは、AIとデータベースを別々のレイヤーとして扱うのではなく、データベース体験の中にAI機能を直接組み込むという点が特徴的だ。Azure SQLにベクトル検索やAI推論機能を統合することで、アプリケーション側での複雑なデータ処理パイプラインを省略できる。 Microsoft Fabricとの統合が鍵 今回の発表の背景には、昨年来加速しているMicrosoft Fabric(統合データ分析プラットフォーム)との連携強化がある。Azure SQL、Cosmos DB、Azure Database for PostgreSQL/MySQLなどMicrosoft傘下のデータベースが「単一のデータ資産(Unified Data Estate)」として扱えるようになり、エージェントAIがシームレスにデータをまたいで活用できる環境が整いつつある。 日本企業においても、SAP、Oracle等のオンプレミスシステムからAzureへの移行を進める中で、既存のSQL Server資産をそのままクラウドに持ち込みつつAI機能を追加できる点は大きなメリットとなるだろう。 実務への影響 この方向性が意味するのは、アプリ開発者がLangChainや独自のベクトルDBを別途構築しなくても、使い慣れたSQLの延長線上でRAG(Retrieval-Augmented Generation)やエージェント機能を実装できるようになるということだ。 MicrosoftはAzure AI ServicesやCopilot Studioとの連携も深めており、データベース層からアプリケーション層まで一気通貫でAIを活用できるエコシステムの構築を着実に進めている。 ※出典: Advancing agentic AI with Microsoft databases across a unified data estate 元記事: Advancing agentic AI with Microsoft databases across a unified data estate

March 22, 2026 · 1 min · 胡田昌彦

Jumpstart HCIBox

Azure Arc + Azure Stack HCIを簡単にAzure上で試せる「Jumpstart HCIBox」を実際に展開して試してみました。自動化がとっても素敵です! https://youtu.be/n0vRy0_trTQ

December 28, 2022 · 1 min · 胡田昌彦

Azure Storage Mover

https://learn.microsoft.com/ja-jp/azure/storage-mover/service-overview Azure Storage MoverはオンプレミスからAzureのストレージへの移行サービスだそうです。エージェントを任意の場所のVMにインストールした上で、クラウドサービスを使ってデータを移行するとのこと。 現時点ではまだNFS 共有から Azure BLOB コンテナーへの移行しか対象になっていないようですが、これからどんどんサポート対象を追加するそうです。 やっぱりSMBのファイル共有に対応してほしいところですね!

December 26, 2022 · 1 min · 胡田昌彦

AVD Insightsの複数ホストプール対応がパブリックプレビュー

Announcing the Public Preview of AVD Insights at Scale https://techcommunity.microsoft.com/t5/azure-virtual-desktop-blog/announcing-the-public-preview-of-avd-insights-at-scale/ba-p/3685387 AVD Insitesで複数のホストプールをまとめてみられる機能がパブリックプレビューで登場しています。特に何もしなくても使えるようです。便利になりますね。

December 25, 2022 · 1 min · 胡田昌彦

Azure Virtual Desktop のホストプール展開のアベイラビリティゾーン対応がGA

Announcing general availability of support for Azure availability zones in the host pool deployment https://techcommunity.microsoft.com/t5/azure-virtual-desktop-blog/announcing-general-availability-of-support-for-azure/ba-p/3636262Azure Virtual Desktop のホストプール展開のアベイラビリティゾーン対応がGAになってますね。 可用性が高まって良いことです。

December 25, 2022 · 1 min · 胡田昌彦

【動画】更新今週のAzure更新情報

毎週土曜日に一週間分のAzure更新情報を簡単にさらっと確認するという内容でYouTube の動画を更新してます。 https://youtu.be/BItLUJiTJ4w 今週は個人的に1番気になったのは下記のプレビューです。 https://azure.microsoft.com/ja-jp/updates/public-preview-azure-arc-enabled-azure-container-apps/ Azure Arcで接続、管理したオンプレや他クラウドのKubernetesサーバーでAzure Container Appsを動かせるという話ですね。とてもハイブリッドな感じで素敵です。 まだマネージドIDには対応していないようですが対応してくれるのも時間の問題でしょう。おそらく。

December 24, 2022 · 1 min · 胡田昌彦

AzureへのAzure Pipelinesを使ったアプリ(functions)とインフラ(Bicepメイン)のCICD / PullRequestをトリガーに独立環境を展開する

現在業務でAzureをプラットフォームにしたシステムの開発をしています。.netのコードがありそれがAzure functionsに展開されて動いている感じです。「何を作るか」「どうやって作るか」などかなりの部分を私がコントロール可能な状況にさせてもらってるので、色々とやりたいことが実現出来て素敵な感じです。 そんな中、アプリ開発はチームメンバーに任せて、私は主にインフラ周りのコードなどを書いてます。これまで個人でボッチ開発しかまともにしたことが無かったのでgitでbranchの扱いとか、commit履歴のコントロールとか色々と勉強になっております。 そして、開発基盤にAzure DevOpsを使っております。GitレポジトリもAzure Repos, パイプラインもAzure Pipelinesを使っています。 そこで、PullRequestの生成をトリガーに完全に独立した環境を構築してそこで事前確認ができる環境を作ってみました。レポジトリが1つなら簡単だったのですが、アプリケーションのレポジトリとインフラ展開のレポジトリを分割している状況であまり直接的な例が見つけられずかなり苦労してしまいました。多分丸4日くらいかかりました…。 次回以降簡単に実装できるように記録しておきたいと思います。 なお、私はまだまともなAzure Pipelines歴は3ヶ月くらいなので効率的じゃない部分多いかと思います。アドバイスありましたらコメントいただけると嬉しいです。 レポジトリ構成 AppRepo - .netのアプリケーションのコードが書かれている- InfraRepo - インフラ展開周りのコードが書かれている できるようにしたこと アプリもインフラも更新があったら最新のコードでメインの環境が更新される- アプリもインフラもPullRequestがあったらPullRequestに対応した独立環境が作成される。PullRequestに使われたBranchに更新があったらその更新も反映される。これによりmainブランチにマージする前にAzureの環境上で実際の動作を確認できる。 もうちょっと詳しいできるようにしたこと AppRepoのmainレポジトリに更新があったら自動でビルド&テスト。ビルド&テストがOKなら最新のインフラのコードとともにメイン環境に展開(更新)。- InfraRepoのmainレポジトリに更新があったら自動で最新のアプリのビルドとともにメイン環境に展開(更新)。- AppRepoにPullRequestがあったらPullRequestのbranchの最新のアプリのコードで自動でビルド&テスト。ビルド&テストがOKなら最新のインフラのコードとともにPullRequestのIDから作成した新規のリソースグループに最新のインフラのコードとともに展開(新規作成)。- PullRequestのbranchに更新があったらその最新のコードで自動で自動でビルド&テスト。ビルド&テストがOKなら最新のインフラのコードとともにPullRequestのIDから作成したリソースグループの環境をインフラもアプリも更新(更新)。- InfraRepoにPullRequestがあったらPullReqestのbranchの最新のインフラのコードでPullRequestのIDから作成した新規のリソースグループにmainブランチの最新のアプリのコードとともに展開(新規作成)。 実装アイデアおよび苦労した点 PipelineはAppRepoにパイプライン1つ、InfraRepoにパイプライン1つという形で実装しました。ほかにも良いやり方がある気がしましたが、色々と悩んだ末…。- Pipelineが起動された時、特にインフラ側のPipelineが起動された時にそれがどういうパターンで起動されたのかを判別させる部分で苦労しました。下記4パターンがあります。具体的な判別のさせ方はPipelineの中身のコードの方で解説します。1. AppRepoのPipelineが直接起動されたか、mainブランチの更新で起動されてビルドに成功した結果としてInfraRepoのパイプラインが起動された場合- 2. AppRepoのPipelineがPullRequestで起動された結果ビルドに成功し、その結果としてInfraRepoのパイプラインが起動された場合- 3. InfraRepoのパイプラインが直接あるいはmainブランチの更新によって起動された場合- 4. InfraRepoのパイプラインがPullRequestにより起動された場合- Azure PipelinesのPipeline間で情報を連携する良い方法がわからなくて苦労しました。結局ビルド結果やほかの方法での受け渡し方がわからなかったのでPullRequestのIDを書いたテキストも一緒にZipで固めてArtifactsとして発行し、インフラ展開側のPipelineでダウンロードして利用しました。(※PullRequestIDの受け渡しはもっと良い方法が明らかにある気がしています。) 具体的なやり方 AppRepoのPipeline n t v s a r a t m i b b p r - e - - # - - # - e g a r a i p : g t a i - t e a n v s t d i t d i P s c t d i 発 p d a e c n n h x b a a : a i n a i n u c o a i n 行 u i r $ r h c c m s c - l m l s s p c p a s s p c p a l r n s s p r i a a r b s t ( : : h l a : l e e u k p u o r r k p u o r r l i d k p u o n r r e l p i D e u i u R s : e : l t m o g : l t m o g R p i : l t o c c c p i l f a t s d n d E : : a s m j u a s m j u e t t a s t l h h l s a a t r : e e A v D y : a e m D y : a e m q : i A y : F u i i a h y c e u : : D m " o N n c e o N n c e u o r N o d v v c : N t : e M I w t a d t n t a d t n e e n c a l e e e e a : y E m i N m : s t N m : s t s c : h m d R T F E $ m y . a n e e : s e e : s t h i e e o y i x ( e d y m g d t : " : t : ' : I o e v : r o p l i B : r y d e o C b C t D q e O t e e s u o M w o B u o T e も " ( F " r F : : t i C p M s r u i r e s 保 $ v i A F o i l r d - e i l o e s t - 存 ( a l r i l z $ n d e d l C l d u C t ' * c し s r e c l d i ( g . a ) a L d " . t L T o て y i s h e e p B A A t . t I c p I e n お s a @ i : r u r r e $ e @ a s u @ s f く t b 2 v : i c t ( s 2 n p t 2 t i e l e " l h i f R t d r . g m e $ f d i f u e " o $ c u . s F ( a . v a n v R j ( s r p [ i S l A e c c : e ' S p a u ' l y s r : t t r s y r t l B e s e t S i ) t s o i l u s t i t t o o t j o R i " e f r a n r e ' n e l m a u g e m q d . c e i a . R u . D t n p D e e R e S g p e l s e f t D f e t a a a i a a a . s u g r r u s p o l i e t l e u n t n c i t ' l ' W g t f W l ] o D o a o R , r i r c r e k r y t k q ' i e ) i u P n c / n e u g t $ g s l D o ( D t l i r B i I R r y u r d e e ) i e ) q c / l c " u t $ d t e o ( . o > s r B B r t y u u y $ ' ) i i ) ( ) / l l / S p d d p y u . I u s b B d b t l u ) l e i i . i m s l z s . h d i h D _ I p _ e o d o f u ) u a t . t u p z p l u i u t t p t W " o r - k c i o n n g f D i i g r u e r c a t t o i r o y n ) / R p e u l b e l a i s s e h _ o u t p u t / p u l l r e q u e s t I D . t x t ほとんど素直にビルド、テストしたうえでArtifactを発行しているだけですが下記の部分で「PullRequestで起動された場合にはPullRequestのIDをpullrequestID.txtというテキストファイルに書いて一緒に発行されるようにしています。 ...

July 17, 2022 · 19 min · 胡田昌彦

Youtubeの動画をTwitterで紹介する by Azure Functions

自分のYoutubeチャンネルにアップロードした動画も283(2022/2/28時点)となりました。全く日の目を見られない動画も多数…。 動画を掘り起こして適切な人の目に触れさせることはYoutube自身がやってくれているので私が何かしても別に意味はない…のではありますが、せっかくなので自分のTwitterのフォロワー向けに定期的に紹介することをしたいなと思いました。 そこで、Azure Functionsのタイマートリガーで定期的に下記の処理を実行させることにしてみました。 Youtubeの特定チャンネルのアップロード動画の一覧を取得- 動画一覧の中から1つの動画をランダムでピックアップ- 動画のタイトルとURLを含むtweetを行う ソースはここに置いてあります。 https://github.com/ebibibi/youtubemanagement/tree/main YoutubeのDataAPIは初めていじってみました。Webで公開して誰でも使える…という構造ではなく自分専用なのでOAuthではなくAPIキーを使う形で実装しました。 アプリケーションを登録する- APIキーを作成する- googleapisライブラリを使う- Channels:listにてforUsernameを指定してリスト一覧を取得→UploadsのリストのIDを取得- PlaylistItems:listにて動画の情報を50件づつ最後まで取得 という感じにしてみました。

February 28, 2022 · 1 min · 胡田昌彦

Azure PolicyでOpsRampエージェントをインストールする その4 – 修復タスクを使って自動インストール

この記事はシリーズの4番目の記事です。まだほかの記事を読んでない方は先に読むことをお勧めします! https://cloud.ebisuda.net/2022/02/21/azure-policy%e3%81%a7opsramp%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b-%e3%81%9d%e3%81%ae%ef%bc%91-opsram/ 今回は、「修復タスク」を使って、OpsRampエージェントが入っていないと判断されたVMに対してエージェントを自動インストールさせちゃいます! …、とはいえ、前回のポリシー適用時に、修復タスクも作成してありますので、全自動です(笑 自動的に、評価され、しばらくすると完了となりました。 どのノードに対して適用されたのかもわかります。Azure Stack HCI OSのノードも対象になっていますね。 ですが、ポリシーへの準拠状況としてはまだ準拠していないものがほとんどです。反映にはそれなりに時間がかかります。のんびりと待ちます。 ここで、1日以上時間をおきました。ですが、結局適用されたのは2台のみでした…。おかしいですね。 適用され、きちんと準拠している状態と出ているサーバーはOpsRampのコンソールからも確認できました。 準拠してくれない原因を調べたところ、例えばVMが停止したままだったり、Azure Arcで接続が切れていたりなどきちんと稼働してAzureと通信が取れていないVMであることがわかりました。Azureポリシーのコンプライアンスの状態の画面からだとパッと見ではそこまでわかりませんね…。 とはいえ、1台づつリソースを簡単に確認することはできます。 この状態では、コンプライアンスに準拠した状態にならないのは当たり前ですね…。 このようなオフラインのままのVMを一括でリストアップするようなことはAzure MonitorやResource Graphあたりを使ってやれば簡単にできそうですね。また別の機会に記事にしたいと思います。 というわけで、100%になっておらずちょっと気持ちが悪いところもありますが、オリジナルのAzure Policyのポリシーを作成し、それを展開することでOpsRampエージェントをVMに導入し、管理しているテナントに紐づけることを自動化することができました。さらに、コンプライアンスの状態も継続的に確認できます。これなら誤ってエージェントをアンインストールしたような状況でも再度エージェントがインストールされますし、管理化に入っていないVMを簡単に追跡できますね。 また、見てきたようにAzure Arcを使ってAzure外のVMも対象にすることができます。今回は触れていませんがAzure LightHouseと連携させて、顧客のテナントに対してポリシーを適用することも可能です。色々と夢がひろがりますね!

February 24, 2022 · 1 min · 胡田昌彦

Azure PolicyでOpsRampエージェントをインストールする その3 - Azure Policyの割り当てと状況可視化

この記事はシリーズの3つ目の記事です!前回までの記事を未読の方はそちらを先に読んでいただくことを推奨します! https://cloud.ebisuda.net/2022/02/21/azure-policy%e3%81%a7opsramp%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b-%e3%81%9d%e3%81%ae%ef%bc%91-opsram/ https://cloud.ebisuda.net/2022/02/22/azure-policy%e3%81%a7opsramp%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b-%e3%81%9d%e3%81%ae2-azure-policy/ では、前回まででAzure Policyを公開できていますのでそれを割り当てていきたいと思います。 ポリシーの割り当て では、テスト的にサブスクリプション全体に対してポリシーを割り当ててエージェントが入っているもの、入っていないものがきちんと可視化されることを確認します。 せっかくですのでAzure Arcのサーバーも対象可能とします。これでAzure内のVMのみならずどこにあるVMでも実機でも対象にすることができます。 修復タスクも実行可能なようにします。ポリシー割り当て自体がマネージドIDを持ち、その権限でVMを修正することになります。素敵な仕組みですね。 反映にはしばらく時間がかかりますので、待ちます。 しばらく時間を置くと、すでに展開済みのVMが準拠していないということが検出されました。 これで、OpsRampエージェントが入っていないVMをすぐに見つける事が可能となりました!とっても便利ですね。 次は、エージェントが入っていないVMに対して修復アクションを実行してエージェントをインストールすることができるようにしていきたいと思います!

February 23, 2022 · 1 min · 胡田昌彦

Azure PolicyでOpsRampエージェントをインストールする その2 - Azure Policy用のゲスト構成パッケージの作成と公開

この記事は前回の続きです。前回の記事を未読の方は前回の記事から読んでいただくことを推奨します! https://cloud.ebisuda.net/2022/02/21/azure-policy%e3%81%a7opsramp%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b-%e3%81%9d%e3%81%ae%ef%bc%91-opsram/ ゲスト構成用パッケージを作成する 前回までで動作確認できてますのでゲスト構成用パッケージを作成していきます。 まず、ゲスト構成用のモジュールをインストールします。 I n s t a l l - M o d u l e - N a m e G u e s t C o n f i g u r a t i o n 次に、ゲスト構成パッケージを作成します。 N e w - - - - - N C T F G a o y o u m n p r e e f e c s i e t ' g A C O u u o p r d n s a i f R t t i a i A g m o n u p n d r A S a g e t e t i n / o t I ` n I n P n s a s t c t a k a l a l l g l O e ' p s ` ` R a m p C l i e n t / l o c a l h o s t . m o f ' ` 作成に成功するとZipファイルが生成されます。 ...

February 22, 2022 · 9 min · 胡田昌彦

Azure PolicyでOpsRampエージェントをインストールする その1 - OpsRampエージェントをPowerShell DSCでインストールする

以前、AnsibleでのOpsRampエージェントインストールをやりましたが、今回はPowerShell DSCです。 将来的にOpsRampエージェントのインストールをAzure Policyを使って「管理下のVM(Azure上のVMでもオンプレのVMでもすべて)にはOpsRampエージェントをインストールし、その状態を保つ」ということを実現したく、今回はその前準備的な感じです。 DSC自体はマルチプラットフォーム対応ですが、まずはWindowsを対象に進めます。 OpsRampエージェントをhttpsでアクセスできる場所へに配置する 今回はMSI版をダウンロードして利用しようと思います。(※exe版でも同じです) 将来的にAzureからの管理を考えているので、インストーラーはAzure上のストレージアカウントに配置しておきます。 当初SASを生成して利用しようとしましたが、SASだとDSCからきちんとMSIパッケージだと認識してもらえなかったので、直接URLを指定してダウンロードできるように、匿名の読み取りアクセスを許可しました。 このとき、exeにしてしまうと、OpsRampのテナントに接続するための情報も含まれてしまうのでこのやり方をするならMSIパッケージの方が良いですね。 手元のWindowsPCにDSCを適用する ここから先はPowerShellコンソールで操作をします。Windows PowerShellではなくPowerShell Coreでやった方がいいのではと思います。(※これはよくわかっていません。将来的にAzure Policyでマルチプラットフォームを見越しているので、おそらく。でも今回はインストーラーがWindows専用ですから気にしなくていいのかもしれません。) まずモジュールをインストールします。 I # n s D t o a c l s l の - 記 M 事 o で d は u ス l コ e ー プ - 指 N 定 a は m 無 e い で P す S が D 、 s 私 c は R A e l s l o U u s r e c r e s s に 入 - れ S た c 方 o が p よ e い の A で l は l と U 思 s っ e て r い s ま す - V e r b o s e - F o r c e つぎに、PowerShellでConfigurationを定義します。Functionを定義するような感じですね。 ...

February 21, 2022 · 5 min · 胡田昌彦

AzureでWebAppsとSQL Databaseを使った簡単なWebアプリケーションを作成してデータベース接続について学ぶ

Youtubeの動画作成リクエストをもらったので作成しました。 Microsoftが公開しているチュートリアルに沿ってアプリケーションを動かしながらどのようにWebアプリケーションからデータベースに接続をしているのかという点を説明しています。 https://youtu.be/kqx2ds1NBhA 一番単純に接続する方法としては接続文字列をアプリケーションのコードに生で書いてしまうことでしょうが、さすがにそれは筋が悪すぎるので、チュートリアルでは接続文字列内にIDとパスワードを記載しそれを利用して接続する形態になっています。 次のステップとしてはKeyvaultの利用、あるいはマネージドIDの利用ということになります。 https://www.youtube.com/watch?v=tAfwj_HH02E

October 21, 2021 · 1 min · 胡田昌彦

Azure SQL DBへのプログラムからのアクセス

Azure SQL DBの認証にAzure ADを利用している場合にプログラムからアクセスしたいとします。 Azure AD認証を行う方法は色々とあるのですが、Azure ADにアプリケーションを登録するところから始めると色々と面倒だったりもしますよね、管理者が登録を禁止してたりとか…。 そんな時に一番簡単にできるのはMicrosoft.Data.SqlClientを使ってインタラクティブにAAD認証する方法だと思います。これならアプリケーションのAADへの登録すら必要ありません。 u u n { } s s a i i m n n e g g s c { } p l S M a a y i c s s c e s s { } t r t e o A P a m s z r t ; o u o i s u } f r g c t s t e r r i . S a i n D Q m o n g c a L i g o t D d ( n a B C S n . A M o q . S u a n l O q t i n C p l h n e o e C e ( c n n l n s t n ( i t t i e ) e i r o c ; n c i n t t a n S i ; t g t o i [ r n o ] i n n c a g o r n g = n s ) @ = " S n e e r w v e S r q = l x C x o x n s n q e l c s t e i r o v n e ( r C n o a n m n e e x c x t x i . o d n a S t t a r b i a n s g e ) . ) w i { n d o w s . n e t ; A u t h e n t i c a t i o n = A c t i v e D i r e c t o r y I n t e r a c t i v e ; D a t a b a s e = t e s t d b ; " ; これだけでOKです。 ...

September 27, 2021 · 2 min · 胡田昌彦

テナントを超えたコラボレーションの方法とゲストの管理について / Microsoftのクラウドサービスを使うならこれだけは知っておかないとまずいこと その2

以前の記事に続いてMicrosoftのクラウドサービスを使うならこれだけは知っておかないとまずいこと その2です。前提としてAzure Active Directoryと「テナント」の関係を理解している必要がありますので前回のエントリが未読の方はそちらから先に読んでいただけると嬉しいです。 https://cloud.ebisuda.net/2021/09/23/azure-ad%e3%81%a8%e3%80%8c%e3%83%86%e3%83%8a%e3%83%b3%e3%83%88%e3%80%8d%e3%81%ae%e8%a9%b1-microsoft%e3%81%ae%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%82%92%e4%bd%bf/ 今回は前回の内容を踏まえた上で、「テナントをまたいだ外部組織とのコラボレーション」の仕組みについての解説です。自テナントのAzure Active Directoryにユーザーを作成するのではなく、ゲストとして招待し、さらにそのゲストのライフサイクル管理もきちんとしましょうねというお話です。 このエントリの内容はYoutubeの動画にもしていますので、動画の方がお好みの方は動画でご覧ください。 https://www.youtube.com/watch?v=lpatFbZnJyg テナントにはAzure ADが1つ テナントにはAzrue ADが1つです。Azure AD内にユーザーがあり、そのユーザーに対して各種サービスにアクセス権を付与することも可能です。 これは組織の外部も同様です。下図は2つの組織がそれぞれ独立している様子だと思ってください。 テナントをまたいだコラボレーション この時にAさんとBさんが一緒に作業したいことってありますよね。 AさんとBさんが同じTeamsのグループメンバーとしてチャットをしたりファイルを共有したり会議をしたりしたいわけです。でも、別々の異なるテナントに存在するAさんとBさんなのでこのままではコラボレーションできません。権限はテナントにあるAzure AD内に存在しているユーザーにしか出すことはできないのです。 コラボレーションするための良くない方法 コラボレーションをするための1つの方法として「新規にユーザーを自テナント内に作成する」という方法があります。下の図のような状況にする方法です。 この例ではAさんと同じAzure ADに、Bさんを新規にユーザーとして作成しています。こうしてしまえば確かにAさんとBさんはコラボレーションできるようにはなるわけですが、色々と良くないこともあります。 (左のテナントの)Bさんのために有償のライセンスを別途割り当てる必要がある。- Bさんは2つのアカウントの両方にきちんと異なるパスワードを設定する等適切に管理する必要がある。- Bさんはアカウントを切り替えるときには、サインアウトやサインインを繰り返す必要がある。 個人的にもこの構成は極力避けるべきと思います。 推奨構成:ゲストとして招待 推奨する構成は「ゲストとして招待する」です。これはAzure B2Bという名前がついています。 外部組織のユーザーもAzure ADであれば「ゲストとして招待」することができるのです。これは事実上「ゲストユーザーアカウントを自テナント内に作成する」というような感じです。招待された側は1つのアカウントで複数のテナントにアクセスすることが可能となります。 これはM365系でもそうですし、Azureでも同じです。 Active Directoryの時代にはこのような「他のテナントのユーザーに権限を出す」というようなことをするのはかなりハードルが高かったですし、完全に外部組織となれば不可能に近いところもありました。ですが、クラウド時代になってユーザーのメールアドレスだけ入力すれば簡単に外部のユーザーを招待して権限を付与することができるようになりました。これはものすごい技術革新です。 どれだけ簡単にできるのかは、実際のデモを見てもらうとわかりやすいです。是非動画でご覧ください。 https://www.youtube.com/embed/lpatFbZnJyg?start=313 ゲストの「ライフサイクル管理」も必要 良いことづくめのゲスト招待ではありますが、これによってオンプレミスのActive Directoryの時には存在しなかった「ゲストのライフサイクル管理」というタスクが発生します。 目的に沿うようにゲストを招待しつつ、ゲストのライフサイクル管理を行うのも招待元テナント管理者の仕事になります。 だれがゲストを招待するのか?(設定によってコントロール可能)- ゲストはどこに対して権限を持つのか?- いつ、ゲストは権限を無くすのか?- いつ、ゲストアカウントは削除されるのか? Azure ADのエンタイトルメント管理の機能などを用いてゲストユーザーを管理することが理想的です。 https://docs.microsoft.com/ja-jp/azure/active-directory/governance/entitlement-management-external-users まとめ テナント内のサービスにはテナント内のAzure ADに存在しているユーザーしか権限を出すことができない- Azure ADにはゲストを招待する機能がある(Azure B2B)- 招待することも招待されることも可能- 自組織のユーザーやグループと同じように、ゲストのライフサイクル管理が必須 オンプレミス時代のActive Direcotryにはできなかった「外部のユーザーを招待する」という機能をうまく使って企業間のコラボレーションを実現しましょう!

September 27, 2021 · 1 min · 胡田昌彦

AADのグループにAzure SQL DBへのアクセス権を付与する方法

記録する機会があったのでブログにも記録しておきます。 Azure Active Directory管理者の設定 前提条件としてSQL ServerにてAzure Active Directory管理者を設定します。SQL DB自体ではなく、そのDBを稼働させているSQL Server側での設定です。 管理者として指定したAAD上の組織アカウントでSQL Serverにアクセスします。今回はAzure Data Studioを利用しました。 きちんとアクセスできることを確認します。ここではじかれる場合には条件付きアクセスの条件を満たしていないことなどが考えられます。条件付きアクセスの内容も確認してください。 きちんとAADのユーザーでアクセスできることが確認できました。 Azure ADグループの準備 次にAzure AD上にグループを作成し、その中にユーザーをメンバーとして追加しておきます。今回はsqldbaccessというグループにadmin@hccjp.orgというユーザーを追加しました。(アカウントの選択が適当でごめんなさい。) 権限を付与する前に、まずは、アクセスができないことを確認しておきます。 Login failed for user ‘’. と怒られました。AADで認証し、トークンは取得できている状態ですが、権限がなく認可されない場合にはこのようなメッセージが出るのですね。 SQL DBへの権限付与 今回はtestdbというテスト用のDBに権限を出していきます。まずはAAD上のグループに対応するユーザーを作成します。 C R E A T E U S E R F R O M E X T E R N A L P R O V I D E R ; ...

September 23, 2021 · 1 min · 胡田昌彦

AI・テクノロジーの情報を発信しています

YouTube

AI・テクノロジーの最新トレンドを動画で配信中

note

技術コラム・深掘り記事を公開中