NOBTAの気ままにITブログ Azure全般 / SQL Serverに関する情報を発信していきます。 2024-05-04T22:15:52+09:00 nobtak Hatena::Blog hatenablog://blog/26006613497352692 NOBTAの気ままにITブログ hatenablog://entry/13574176438044014036 2024-05-04T23:51:19+09:00 2024-05-04T23:46:16+09:00 リモート ワークの広がりに伴い、DaaS (Desktop as a Service) ソリューションの導入を検討されている方も多いのではないかと思います。 Azure、AWS、Google Cloud、OCI の各種クラウドサービスにおいても、 VMware サービス (VMware Horizon Cloud on Microsoft Azure, VMware Cloud on AWS, Google Cloud VMware Engine, Oracle Cloud VMware Solution) Citrix サービス (Citrix Virtual Apps and Deskto… <p>リモート ワークの広がりに伴い、DaaS (Desktop as a Service) ソリューションの導入を検討されている方も多いのではないかと思います。</p> <p>Azure、AWS、Google Cloud、OCI の各種クラウドサービスにおいても、</p> <ul> <li><strong>VMware サービス (VMware Horizon Cloud on Microsoft Azure, VMware Cloud on AWS, </strong><strong>Google Cloud VMware Engine, Oracle Cloud VMware Solution) </strong></li> <li><strong>Citrix サービス (Citrix Virtual Apps and Desktops for Azure, Citrix Virtual Apps and Desktops サービス on AWS)</strong></li> </ul> <p>などの DaaSを展開しています。</p> <p>今回は、Azure で提供されている DaaS の一つである <strong>Azure Virtual Desktop (AVD) </strong>を構築する方法について、自分の整理も兼ねて、まとめてみようと思います。</p> <p> </p> <p><strong>【構築完成イメージ】</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504225800.png" width="982" height="498" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><span style="color: #286f2c;">&lt;構成&gt;</span></p> <ul> <li>Entra Connect による Active Directory - Entra ID 間の同期</li> <li>Entra ID - Entra Domain Services 間の同期</li> <li>Windows 10/11 マルチセッション</li> <li>ユーザープロファイルの保管先は Azure ファイル共有 (FSLogix 利用)</li> </ul> <p><span style="color: #000000;"><strong>※ 検証目的のため、Active Directory および Entra Connect サーバーを Azure 仮想マシン上に構築しています。</strong></span></p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-Virtual-Desktop-AVD-のメリット">Azure Virtual Desktop (AVD) のメリット</a></li> <li><a href="#Azure-Virtual-Desktop-AVD-構築">Azure Virtual Desktop (AVD) 構築</a><ul> <li><a href="#事前準備">事前準備</a><ul> <li><a href="#Azure-無償有償-サブスクリプション">Azure 無償/有償 サブスクリプション</a></li> <li><a href="#Microsoft-365-無償有償-サブスクリプション">Microsoft 365 無償/有償 サブスクリプション</a></li> <li><a href="#Microsoft-Entra-ID-カスタムドメイン設定">Microsoft Entra ID カスタムドメイン設定</a></li> </ul> </li> <li><a href="#構築">構築</a><ul> <li><a href="#Entra-Connect-同期設定">Entra Connect 同期設定</a></li> <li><a href="#Entra-Domain-Services-構築">Entra Domain Services 構築</a></li> <li><a href="#Azure-Virtual-Desktop-AVD-用イメージの作成手順">Azure Virtual Desktop (AVD) 用イメージの作成手順</a></li> <li><a href="#Azure-Virtual-Desktop-AVD-ホストプール作成手順">Azure Virtual Desktop (AVD) ホストプール作成手順</a></li> <li><a href="#デスク-トップ-アプリケーション-グループへ接続ユーザーの登録">デスク トップ アプリケーション グループへ接続ユーザーの登録</a></li> <li><a href="#Azure-Virtual-Desktop-AVD-接続手順">Azure Virtual Desktop (AVD) 接続手順</a></li> </ul> </li> <li><a href="#セキュリティ設定">セキュリティ設定</a><ul> <li><a href="#Azure-Virtual-Desktop-AVD-のセキュリティ設定">Azure Virtual Desktop (AVD) のセキュリティ設定</a></li> </ul> </li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h3 id="Azure-Virtual-Desktop-AVD-のメリット">Azure Virtual Desktop (AVD) のメリット</h3> <p><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Azure Virtual Desktop (AVD) とは、マイクロソフトが提供している仮想デスクトップ (VDI : Virtual Desktop Infrastructure) サービスであり、本サービスをクラウドで提供しているため、DaaS (Desktop as a Service) の一つとなります。</span> </p> <p> </p> <p><span style="font-size: 17px;"><strong><span style="color: #1464b3; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">【メリット】</span></strong></span></p> <ul style="box-sizing: border-box; margin: 0px 0px 1em 1.5em; padding: 0px; line-height: 1.7; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"> <li style="box-sizing: border-box;"> <strong style="box-sizing: border-box; font-weight: bolder;">Windows 10/11 Enterprise マルチセッション機能</strong></li> <li style="box-sizing: border-box;"><strong style="box-sizing: border-box; font-weight: bolder;"> Windows 7 ESU(Extended Security Updates:拡張セキュリティ更新プログラム)の無償提供</strong></li> <li style="box-sizing: border-box;"><strong style="box-sizing: border-box; font-weight: bolder;"> Microsoft 365 E3/E5、Windows 10/11 Enterprise E3/E5 などのライセンスを保持している場合、すぐにAVDを使用可能</strong></li> <li style="box-sizing: border-box;"><strong style="box-sizing: border-box; font-weight: bolder;"> AVD上で動作する仮想マシンと Microsoft 365 は マイクロソフトのバックボーンネットワークで通信が行われるため、高速にアクセスが可能</strong></li> </ul> <p>※ 特に「<strong>Windows 10/11 Enterprise マルチセッション機能</strong>」は、DaaS の中で唯一、Azure Virtual Desktop ホストプール上に展開された Windows 10/11 (仮想マシン) を、複数ユーザーで共有することが可能となり、複数ユーザーで1台の仮想マシンを共有させることで、コンピュート費用を削減できるもようです。</p> <p>また、 <strong>Citrix Virtual Apps and Desktops for Azure </strong>では、AVD ワークロードを制御する「<strong>AVD コントロール プレーン</strong>」機能を保有し、更に以下のメリットを享受することができるもようです。</p> <p> </p> <p><strong><span style="color: #1464b3;">【メリット (Citrix Virtual Apps and Desktops for Azure)】</span></strong></p> <ul> <li><strong>Auto Scale 機能による適正仮想マシン起動数制御 (VMコスト軽減)</strong></li> <li><strong>HDX(high definition experience)テクノロジーによる画面転送パフォーマンスの最適化 (アウトバウンドトラフィックの軽減)</strong></li> <li><strong>完全な閉域接続の実現<br /><span style="color: #286f2c;">※ AVDの場合、AVD コントロール プレーン との通信でパブリック ネットワークへの通信が必要となります。</span></strong></li> <li><strong>ロケーションに応じた最適な接続</strong></li> <li><strong>マスターイメージの更新機能</strong></li> </ul> <p> </p> <h3 id="Azure-Virtual-Desktop-AVD-構築">Azure Virtual Desktop (AVD) 構築</h3> <h4 id="事前準備"><strong><span style="color: #0000cc;">事前準備</span></strong></h4> <p>Azure Virtual Desktop (AVD) を今回の構成で構築するために、以下を準備します。</p> <h5 id="Azure-無償有償-サブスクリプション"><strong>Azure 無償/有償 サブスクリプション</strong></h5> <p>Azure サブスクリプションを保持していない場合は、以下の URL から Azure 無償 サブスクリプションを発行します。</p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fazure.microsoft.com%2Fja-jp%2Ffree%2F%3FWT.mc_id%3DDP-MVP-5004154" title="Azure の無料アカウントを今すぐ作成する | Microsoft Azure" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <h5 id="Microsoft-365-無償有償-サブスクリプション"><strong>Microsoft 365 無償/有償 サブスクリプション</strong></h5> <p>本手順では「Microsoft 365 Business Premium」の試用版を使用します。<br /><br /><strong>※「Microsoft 365 Business Premium」の試用版ライセンスの発行方法については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fwvd01" title="Microsoft 365 Business Premium 試用版ライセンスの発行方法について - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <h5 id="Microsoft-Entra-ID-カスタムドメイン設定"><strong><strong>Microsoft Entra ID カスタムドメイン設定<br /></strong></strong></h5> <p>Active Directory と Microsoft Entra ID (旧 Azure AD) 間を同期するため、今回は Active Directory (Azure 仮想マシン上にデプロイ) で構築したドメイン名と同じドメインを用意し、Microsoft Entra ID のカスタムドメインとして設定します。</p> <p>独自ドメインは、「<strong>お名前.com</strong>」,「<strong>Freenom</strong>」などから取得できますが、今回は、Azure ポータル -「<strong>App Service ドメイン</strong>」から独自ドメインを取得することにします。<br /><br /><strong>※ Microsoft Entra ID カスタム ドメインの詳細な設定方法については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Feid01" title="【保存版】Microsoft Entra ID カスタム ドメイン 設定手順 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><strong>[補足]</strong></p> <p>「<strong>App Service ドメイン</strong>」以外から独自ドメインを取得した場合、Azure DNS でカスタム ドメインをホストするために、ドメイン レジストラー (ドメインの購入元) に対してドメインの委任作業を実施する必要があります。<br /><br />※<strong> 詳細なドメイン委任作業の設定方法については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fdns%2Fdns-delegate-domain-azure-dns%3FWT.mc_id%3DDP-MVP-5004154" title="チュートリアル:Azure DNS でドメインをホストする" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><br /><cite class="hatena-citation"><a href="https://learn.microsoft.com/ja-jp/azure/dns/dns-delegate-domain-azure-dns?WT.mc_id=DP-MVP-5004154"> </a></cite></p> <h4 id="構築"><strong><span style="color: #0000cc;">構築</span></strong></h4> <h5 id="Entra-Connect-同期設定">Entra Connect 同期設定</h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504231641.png" width="1098" height="586" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>Entra Connect を使用することで、オンプレミス Active Directory と Entra ID 間でアカウントの同期をすることが可能となり、オンプレミス Active Directoryと同じアカウントを使用して、SaaS、PaaS、Azure Virtual Desktop (AVD) へアクセスすることができるようになります。</p> <p>また、オンプレミス環境 と Azure間を ExpressRoute, VPN などで結ぶことで、Entra Connect - Entra ID 間の同期処理をプライベート通信で実施することが可能になります。</p> <p><br /><strong>※ 詳細な Entra Connect の設定手順については、以下 URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Favd04" title="Azure AD Connect v2.0 設定手順 (オンプレミス Active Directory - Azure AD 間の同期) - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"></iframe></p> <p> </p> <h5 id="Entra-Domain-Services-構築">Entra Domain Services 構築</h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504232510.png" width="1083" height="586" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>Entra Domain Services (旧 Azure AD DS) では、Windows Server Active Directory と完全に互換性のあるマネージド ドメイン サービス (ドメイン参加、グループ ポリシー、LDAP、Kerberos 認証、NTLM 認証など) が提供されます。<br />今回は、Azure Virtual Desktop (AVD) のホストプールの仮想マシン (Windows 10/11) をドメインに参加させるために、Entra Domain Services を構築します。<br /><br /></p> <p><strong>※ 詳細な Azure AD DS の作成手順については、以下の URL を参照。<br /></strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fentra%2Fidentity%2Fdomain-services%2Ftutorial-create-instance%3FWT.mc_id%3DDP-MVP-5004154" title="チュートリアル: Microsoft Entra Domain Services マネージド ドメインを作成する - Microsoft Entra ID" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <h5 id="Azure-Virtual-Desktop-AVD-用イメージの作成手順">Azure Virtual Desktop (AVD) 用イメージの作成手順</h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504232830.png" width="1076" height="572" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>※ <strong>AVD用イメージの詳細な作成方法については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Favd05" title="Azure Virtual Desktop (AVD) 用イメージの作成手順 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"></iframe></p> <p> </p> <h5 id="Azure-Virtual-Desktop-AVD-ホストプール作成手順">Azure Virtual Desktop (AVD) ホストプール作成手順</h5> <p><strong><span style="color: #0000cc;">[事前作業]</span></strong></p> <p><strong>1) Azure Virtual Desktop (AVD) ホストプールの仮想マシンが Entra Domain Services (旧 Azure AD DS) のドメインに参加できるよう、AVD ホストプールの仮想マシンがデプロイされる仮想ネットワークの「<span style="color: #1464b3;">DNS サーバー</span>」設定を、Entra Domain Services で使用される IP アドレス (プライベート IP アドレス) に変更。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219042725.png" alt="f:id:nobtak:20211219042725p:plain" width="503" height="383" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) AVD ホストプールの仮想マシンがデプロイされる仮想ネットワークのサブネットから Entra Domain Services で使用されるサブネットに対してアクセスができるよう、ネットワーク セキュリティ グループ (NSG) などを適切に設定。</strong></p> <p><strong>※ </strong>AVD ホストプールの仮想マシンがデプロイされる仮想ネットワークのサブネットに仮想マシンをデプロイし、Entra Domain Services のドメインに参加がすることができるか、事前に検証することをお勧めします。<br /><br /></p> <p><strong>※ 参考URL</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fentra%2Fidentity%2Fdomain-services%2Ftroubleshoot-domain-join%3FWT.mc_id%3DDP-MVP-5004154" title="Microsoft Entra Domain Services でのドメイン参加のトラブルシューティング - Microsoft Entra ID" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><strong><span style="color: #0000cc;">[Azure Virtual Desktop ホストプール 作成手順]</span></strong></p> <p><strong>1) Azure ポータルに接続し、「Azure Virtual Desktop」を選択します。 </strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219031241.png" alt="f:id:nobtak:20211219031241p:plain" width="515" height="179" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) 「概要」-「ホスト プールの作成」を選択します。 </strong> </p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219031402.png" alt="f:id:nobtak:20211219031402p:plain" width="752" height="180" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 必要項目を入力後、「次へ : 仮想マシン」を選択します。 </strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20220921/20220921175559.png" width="717" height="742" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>※ Azure Virtual Desktop ホストプール パラメータの詳細は、以下の URLを参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fentra%2Fidentity%2Fdomain-services%2Ftroubleshoot-domain-join%3FWT.mc_id%3DDP-MVP-5004154" title="Microsoft Entra Domain Services でのドメイン参加のトラブルシューティング - Microsoft Entra ID" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><strong>※ 2024年5月時点では、サービス メタ データについても「東倭国」を指定可能になっています。 </strong></p> <p> </p> <p><strong>4-1) 「仮想マシンの追加」:「はい」を選択し、「名前のプレフィック」などの必要項目を入力します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219032810.png" alt="f:id:nobtak:20211219032810p:plain" width="647" height="499" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>※ 「<strong>名前のプレフィックス</strong>」に「avdhostje」と指定した場合、指定した「VM数」に応じて、ホストプール上に「avdhostje-0/avdhostje-1」といった仮想マシンが作成されます。</p> <p> </p> <p><strong>4-2) 「イメージの種類」:「ギャラリー」を選択し、「すべてのイメージを表示」から、「マイ アイテム」-「マイ イメージ」から、AVD用に作成した Windows 10/11 イメージを選択します。 また、「VM 数」(ホスト プール用に作成する VMの数) などの必要項目を入力します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219033647.png" alt="f:id:nobtak:20211219033647p:plain" width="635" height="314" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219033933.png" alt="f:id:nobtak:20211219033933p:plain" width="536" height="214" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4-3) 「仮想ネットワーク」に ドメイン コントローラ と通信可能な仮想ネットワークを指定後、「参加するディレクトリを選択する」:「Active Directory」、「AD ドメイン 参加 UPN/パスワード」に、ドメイン コントローラの管理者アカウントの資格情報、およびパスワードを入力後、「次へ:ワークスペース」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219035429.png" alt="f:id:nobtak:20211219035429p:plain" width="646" height="686" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>※ 今回は、Entra Domain Services (旧 Azure AD DS) を使用するため、 「参加するディレクトリを選択する」:「Active Directory」を選択し、「AD ドメイン 参加 UPN/パスワード」に、Azure AD DC 管理者グループに属しているアカウント、およびパスワードを指定します。</strong></p> <p><strong>※「参加するディレクトリを選択する」に「Azure Active Directory」を選択することも可能になっています。</strong></p> <p> </p> <p><strong>5) 「デスクトップ アプリ グループの登録」:「はい」を選択し、「宛先のワークスペース」に任意の名前で登録後、「確認と作成」-「作成」を選択し、ホスト プールを作成します。 </strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211219/20211219040612.png" alt="f:id:nobtak:20211219040612p:plain" width="650" height="320" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>[補足]</strong></p> <p>AVD用仮想マシンを Entra Domain Services ドメインに参加するフェーズ (<strong>joindomain</strong>) が失敗する場合は、「<strong><span style="color: #0000cc;">事前作業</span></strong>」で正しく設定できているかを確認すると良いかと思います。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220191045.png" alt="f:id:nobtak:20211220191045p:plain" width="699" height="178" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="デスク-トップ-アプリケーション-グループへ接続ユーザーの登録">デスク トップ アプリケーション グループへ接続ユーザーの登録</h5> <p>Azure Virtual Desktop (AVD) 環境に接続するためには、デスクトップ アプリケーション グループで接続を許可するユーザーを登録する必要があります。</p> <p>以下に、デスクトップ アプリケーション グループで接続を許可するユーザーを登録する方法を記載します。</p> <p> </p> <p><strong>1) Azure ポータルから「Azure Virtual Desktop」を選択後、「管理」:「アプリケーション グループ」より、作成されたアプリケーション グループを選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220193417.png" alt="f:id:nobtak:20211220193417p:plain" width="576" height="267" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>2) 「管理」:「割り当て」-「+追加」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220193711.png" alt="f:id:nobtak:20211220193711p:plain" width="529" height="374" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) Azure Virtual Desktop (AVD) 環境への接続を許可する「ユーザー/グループ」を選択し、「選択」を選択し、割り当てが完了したことを確認します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220194012.png" alt="f:id:nobtak:20211220194012p:plain" width="495" height="466" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="Azure-Virtual-Desktop-AVD-接続手順">Azure Virtual Desktop (AVD) 接続手順</h5> <p>Azure Virtual Desktop (AVD) 環境へ接続する方法として、大きく以下の2通りの方法があります。</p> <ul> <li><strong>Web クライアントからの接続</strong></li> <li><strong>デスクトップ クライアントからの接続</strong></li> </ul> <p>今回は、「<strong>Web クライアントからの接続</strong>」により、Azure Virtual Desktop (AVD) 環境へオンプレミスの環境から接続してみようと思います。</p> <p> </p> <p><strong>1) AVD Web クライアント 「</strong><a href="https://client.wvd.microsoft.com/arm/webclient/index.html" target="_blank">https://client.wvd.microsoft.com/arm/webclient/index.html</a><strong>」にアクセスし、ライセンスが付与され、接続が許可されている Entra ID アカウントでログインします。</strong></p> <p> </p> <p><strong>2) 「SessionDesktop」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220194656.png" alt="f:id:nobtak:20211220194656p:plain" width="482" height="220" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 「ローカル リソースへアクセス」より許可するリソースを選択後、「許可」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220194816.png" alt="f:id:nobtak:20211220194816p:plain" width="512" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 「ローカル リソースへアクセス」より許可するリソースを選択後、「許可」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220194951.png" alt="f:id:nobtak:20211220194951p:plain" width="515" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>5) AVD仮想マシンにログインできたことを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211220/20211220195747.png" alt="f:id:nobtak:20211220195747p:plain" width="1063" height="652" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>※ Entra Domain Services のグループ ポリシーを利用し、ポリシーを適用することも可能であるため、必要に応じて設定を実施されると良いかと思います。</strong><br /><br /></p> <p><strong>[参考 URL]</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fvirtual-desktop%2Fusers%2Fconnect-windows%3FWT.mc_id%3DDP-MVP-5004154%26tabs%3Dsubscribe" title="Windows 用リモート デスクトップ クライアントを使用して Azure Virtual Desktop に接続する - Azure Virtual Desktop" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fvirtual-desktop%2Fusers%2Fconnect-web%3FWT.mc_id%3DDP-MVP-5004154" title="リモート デスクトップ Web クライアントを使用して Azure Virtual Desktop に接続する - Azure" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <h4 id="セキュリティ設定"><strong><span style="color: #0000cc;">セキュリティ設定</span></strong></h4> <h5 id="Azure-Virtual-Desktop-AVD-のセキュリティ設定">Azure Virtual Desktop (AVD) のセキュリティ設定</h5> <p>Azure Virtual Desktop (AVD) を既定の状態で利用した場合、ファイル転送ができたり、クリップボードの情報をリモートデスクトップ越しにコピーできたりと、セキュアな構成になっていません。</p> <p>Azure Virtual Desktop (AVD) をよりセキュアに構成するため、「クリップボード」および「ファイル転送」などを禁止することもできます。</p> <p><strong><br />※「クリップボード」および「ファイル転送」などを禁止する詳細な手順については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Favd08" title="Azure Virtual Desktop (AVD) のセキュリティ設定 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <h3 id="まとめ">まとめ</h3> <p>今回は、Azureで提供されている <strong>Azure Virtual Desktop (AVD)</strong> を構築し、Web クライアントを使用して、オンプレミス環境からAVD仮想マシンに接続する手順についてまとめてみました。</p> <p>今後は、AVDのもう少し細かいパラメータなどについても確認していこうと思います。</p> <p> </p> <p><strong>※ 2024年5月 更新</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189103722143 2024-05-04T22:15:52+09:00 2024-05-04T22:15:52+09:00 Microsoft Entra ID (以下 Entra ID) のテナントを新規作成した場合、"<ドメイン名>.onmicrosoft.com" という初期ドメイン名が付与されます。 初期ドメイン名を削除することはできませんが、任意のドメインを カスタム ドメインとして Entra ID に登録することができます。 【ユースケース : 例】 企業で取得している任意のドメイン名でユーザーを管理したい。 Microsoft 365 (Teams, Exchange Online, SharePoint) で任意のドメイン名でアクセスさせたい。 オンプレミス上の Active Directory … <p>Microsoft Entra ID (以下 Entra ID) のテナントを新規作成した場合、"<strong>&lt;ドメイン名&gt;.onmicrosoft.com</strong>" という初期ドメイン名が付与されます。</p> <p>初期ドメイン名を削除することはできませんが、任意のドメインを カスタム ドメインとして Entra ID に登録することができます。</p> <p><br /><strong>【ユースケース : 例】</strong></p> <ul> <li>企業で取得している任意のドメイン名でユーザーを管理したい。</li> <li>Microsoft 365 (Teams, Exchange Online, SharePoint) で任意のドメイン名でアクセスさせたい。</li> <li>オンプレミス上の Active Directory (以下 AD) と Entra ID 間を Microsoft Entra Connect (旧 Azure AD Connect) を使用して簡易に同期したい。</li> <li>SAML認証により、他のSaaSサービスへの SSO (シングル サインオン) を実現したい。</li> </ul> <p> </p> <ul class="table-of-contents"> <li><a href="#Entra-ID-カスタム-ドメイン用ドメインの取得">Entra ID カスタム ドメイン用ドメインの取得</a></li> <li><a href="#Entra-ID-カスタム-ドメインの設定手順">Entra ID カスタム ドメインの設定手順</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Entra-ID-カスタム-ドメイン用ドメインの取得">Entra ID カスタム ドメイン用ドメインの取得</h4> <p>独自のドメインの取得は、「お名前.com」などから有償で購入したり、「Freenom」などのサイトから無償で取得することが可能です。</p> <p>※ 基本的に企業で利用するドメイン (.com/.co.jp など) は有償での購入になるかと思います。</p> <p>Entra ID、Azure 環境で利用する場合、「<strong>App</strong><strong> Service ドメイン</strong>」からも独自のドメインを購入することができます。</p> <p>今回は、「<strong>App</strong><strong> Service ドメイン</strong>」から独自のドメインを取得する方法について紹介したいと思います。</p> <p> </p> <p><strong>【補足】</strong></p> <p>App Service ドメインで取得できるドメインは、<strong>com、net、co.uk、org、nl、in、biz、org.uk、co.in</strong>  の何れかのみとなります。</p> <p> </p> <p> </p> <p><strong>1) Azure ポータルに接続し、「App Service ドメイン」を選択します。<br /></strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504205706.png" width="523" height="273" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) 「+作成」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211211/20211211025625.png" alt="f:id:nobtak:20211211025625p:plain" width="395" height="101" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 「ドメインの検索」に取得したいドメイン名を入力後、選択可能なドメイン名を選択し、「次: 連絡先情報」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211211/20211211025948.png" alt="f:id:nobtak:20211211025948p:plain" width="719" height="752" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 「個人情報」、「電話番号と住所」などの必要事項を入力後、「確認および作成」を選択後、「作成」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211211/20211211030609.png" alt="f:id:nobtak:20211211030609p:plain" width="734" height="752" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>※ ドメイン取得後、自動的に DNS ゾーンが作成され、 Azure DNS でドメインの委任作業が自動的に完了します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20211211/20211211031128.png" alt="f:id:nobtak:20211211031128p:plain" width="366" height="268" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>[補足]</strong></p> <p>「<strong>App Service ドメイン</strong>」以外からドメインを購入した場合、もしくは、既存のドメインを Entra ID の カスタム ドメインとして使用するためには、ドメインの委任作業を実施する必要があります。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fdns%2Fdns-delegate-domain-azure-dns%3FWT.mc_id%3DDP-MVP-5004154" title="チュートリアル:Azure DNS でドメインをホストする" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="Entra-ID-カスタム-ドメインの設定手順">Entra ID カスタム ドメインの設定手順</h4> <p><strong>1)  Microsoft Entra 管理センターにログインします。</strong></p> <p><a href="https://entra.microsoft.com/#home" target="_blank">Microsoft Entra admin center</a></p> <p><br /><strong>2) ID - 設定 - ドメイン名 を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504212008.png" width="262" height="478" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>3) 「+ カスタム ドメインの追加」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504212220.png" width="609" height="194" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 取得した独自ドメインを 「カスタム ドメイン名」欄に入力後、「ドメインの追加」を選択します。 </strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504213621.png" width="292" height="443" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>5) 「レコードの種類」:「TXT」、「宛先または参照先のアドレス」欄の値を控えます。 </strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504213845.png" width="566" height="496" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>6) 「DNS ゾーン」を選択します。</strong></p> <p>※ Azure DNS を利用していない場合は、6) から 9) の手順をスキップし、 独自ドメイン購入元のドメイン レジストラーに TXT または MX レコードを作成し、5) で確認した情報を追加します。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210102/20210102052717.png" alt="f:id:nobtak:20210102052717p:plain" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>7)  該当の DNS ゾーン を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210102/20210102050206.png" alt="f:id:nobtak:20210102050206p:plain" title="" class="hatena-fotolife" itemprop="image" width="344" /></p> <p> </p> <p><strong>8)  「+ レコード セット」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210102/20210102050410.png" alt="f:id:nobtak:20210102050410p:plain" title="" class="hatena-fotolife" itemprop="image" width="428" /></p> <p> </p> <p><strong>9)  5) で確認した値を入力後、「OK」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210102/20210102050812.png" alt="f:id:nobtak:20210102050812p:plain" title="" class="hatena-fotolife" itemprop="image" width="357" /></p> <p> </p> <p><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">10) 再度、Microsoft Entra 管理センターに戻り、ID - 設定 - ドメイン名 を選択します。</strong></p> <p><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">11) 「未確認」状態となっているドメイン名を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504215928.png" width="958" height="446" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">12) 「確認」を選択し、状態が「確認済み」に正しく変更されることを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504220125.png" width="557" height="521" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">13) <strong>「プライマリにする」を選択し、追加したカスタム ドメインをプライマリに変更します。 </strong></strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240504/20240504220622.png" width="679" height="460" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回、Azure ポータル -「App Service ドメイン」から取得した独自ドメインを Entra ID のカスタムドメインに設定する方法についてまとめてみました。</p> <p>独自ドメインは、「お名前.com」,「Freenom」などからも 安価/無料 で取得 (.tk, .ml など) することが可能です。</p> <p>企業で利用するドメインは、基本的に有償のドメインを取得することになるかと思いますが、Entra ID カスタム ドメインの検証目的でドメインを取得したい場合には、無料のドメインを取得して利用しても良いのではないかと思います。</p> <p>「App Service ドメイン」から独自ドメインを取得した場合、簡易に Entra ID カスタム ドメイン設定が可能となりますが、"co.jp" などのドメインを取得できないため、「App Service ドメイン」で取得できないドメイン名を取得する必要がある場合は、別の方法でドメインを取得する必要がある点に注意が必要となります。</p> <p> </p> <p><strong>※ 2024年5月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189094459198 2024-04-24T01:45:52+09:00 2024-04-24T01:45:52+09:00 前回、「Microsoft Fabric」の基本的な概念についてまとめてみました。 今回は、Microsoft Fabric を利用するうえで必要となるライセンスに関する内容を、自分の整理も兼ねて、まとめてみようと思います。 ※ ライセンス購入前に、ライセンスに関する正確な内容については、ライセンス購買先ベンダー、Microsoft ライセンス窓口に確認ください。 Microsoft Fabric を利用するうえで必要となるライセンス 容量ライセンス ユーザー毎のライセンス まとめ Microsoft Fabric を利用するうえで必要となるライセンス Microsoft Fabric を利用… <p>前回、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">「Microsoft Fabric」の基本的な概念について</span><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">まとめてみました。</span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab05" title="【第5回】基本から始める Microsoft Fabric【基本概念】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は、Microsoft Fabric を利用するうえで必要となるライセンスに関する内容を、自分の整理も兼ねて、まとめてみようと思います。</p> <p><span style="color: #0000cc;"><strong>※ ライセンス購入前に、ライセンスに関する正確な内容については、ライセンス購買先ベンダー、Microsoft ライセンス窓口に確認ください。</strong></span></p> <p> </p> <ul class="table-of-contents"> <li><a href="#Microsoft-Fabric-を利用するうえで必要となるライセンス">Microsoft Fabric を利用するうえで必要となるライセンス</a><ul> <li><a href="#容量ライセンス">容量ライセンス</a></li> <li><a href="#ユーザー毎のライセンス">ユーザー毎のライセンス</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-を利用するうえで必要となるライセンス">Microsoft Fabric を利用するうえで必要となるライセンス</h4> <p>Microsoft Fabric を利用するためには、大きく2つのライセンスが必要になります。</p> <ul> <li><strong>容量ライセンス</strong></li> <li><strong>ユーザー毎のライセンス</strong></li> </ul> <p> </p> <h5 id="容量ライセンス">容量ライセンス</h5> <p>Stock Keeping Unit (SKU) 単位でサイズ (F2 ~ F2048) が指定されており、Microsoft Fabric ワークスペースに割り当てることで、リソースプール (Microsoft Fabric コンピューティング プール) を利用することが可能となります。</p> <p>複数の Microsoft Fabric ワークスペースに1つの容量ライセンス (SKU) を割り当てることも、各ワークスペース単位で容量ライセンス (SKU) を割り当てることができます。</p> <p>そのため、複数の容量ライセンスを所有することができます。</p> <p>注意点として、SKUのサイズにより利用できない機能 (<strong><span style="color: #ff5252;">Microsoft Fabric Copilot 機能 : SKU F64 以上のみ利用可能</span></strong>) が存在するため、利用したい機能が選択した SKU のサイズで利用が可能となるか確認ください。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240330/20240330102936.png" width="650" height="355" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <blockquote> <p><strong>引用 : </strong><a href="https://learn.microsoft.com/ja-jp/fabric/enterprise/licenses?wt.mc_id=DP-MVP-5004154#capacity-license" target="_blank">Microsoft Fabric の概念 - Microsoft Fabric | Microsoft Learn</a></p> </blockquote> <p> </p> <p>また、Microsoft Fabric には 2種類の SKU が存在し、何れの SKU でも Microsoft Fabric を利用することができます。</p> <ul> <li><strong><span style="color: #0000cc;">Azure SKU</span></strong><br /><strong>【特徴】</strong><br />・従量課金制 (時間のコミットメント無し)<br />・Azure ポータルから容量をスケールアップ/ダウン可能<br />・課金は秒単位で行われ、最小課金時間は1分<br /><br /></li> <li><strong><span style="color: #0000cc;">Microsoft 365 SKU<br /></span>【特徴】</strong><br />・月単位、年単位の課金<br />・従量課金制よりも割安<br /><span style="color: #d32f2f;"><strong>※ 但し、各 Microsoft Fabricのワークロードはサーバーレスとして動作するため、24時間365日のほとんどの時間帯で稼働していない場合、従量課金制のほうが割安になる可能性がある。</strong></span><br /><br /></li> </ul> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Ffabric%2Fenterprise%2Fbuy-subscription%3Fwt.mc_id%3DDP-MVP-5004154" title="Microsoft Fabric サブスクリプションを購入する - Microsoft Fabric" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="ユーザー毎のライセンス">ユーザー毎のライセンス</h5> <p>Microsoft Fabric を利用するユーザーが Microsoft Fabric ワークスペースで作業するために必要となるライセンス。</p> <p>ユーザー毎に以下の何れかのライセンスが必要になります。</p> <ul> <li><strong>Power BI Pro</strong></li> <li><strong>Premium Per User (PPU)</strong></li> </ul> <p> </p> <p><strong><span style="color: #0000cc;">【補足】</span></strong></p> <ul> <li>Power BI Pro ライセンスは Microsoft 365 E5 ライセンスに含まれているため、既にライセンスを保持していないか、ライセンスを購入する前に確認したほうが良い。</li> <li>Power BI Pro、Premium Per User (PPU) を保持しているユーザーのみ、Microsoft Fabric ワークスペースのコンテンツを共有することが可能。</li> <li>Microsoft Fabric 無料ユーザーが 共有された Microsoft Fabric ワークスペースのコンテンツを参照することは可能。 <strong><span style="color: #ff5252;">但し、Microsoft Fabric 容量ライセンス (SKU F64 以上) が割り当てられた Microsoft Fabric ワークスペース に限定される。<br /><span style="color: #000000;">※ つまり、Microsoft Fabric 容量ライセンス (SKU F64) 未満が割り当てられ、かつ、共有された Microsoft Fabric ワークスペースのコンテンツを参照するためには、参照側のユーザーにも Power BI Pro もしくは、Premium Per User (PPU) ライセンスが必要になる。</span></span></strong></li> </ul> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Ffabric%2Fenterprise%2Flicenses%3Fwt.mc_id%3DDP-MVP-5004154%23workspace" title="Microsoft Fabric の概念 - Microsoft Fabric" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、Microsoft Fabric を利用するうえで必要となるライセンスに関する内容についてまとめてみました。</p> <p>コストという意味では、今回紹介しました「<strong>容量ライセンス</strong>」、「<strong>ユーザー毎のライセンス</strong>」の他に、<strong>分析用のデータなどを保持するストレージ</strong> (<strong>One Lake</strong>) の費用 (従量課金 : 保存されたデータ量 x 保持期間 (時間) で算出) が必要になります。</p> <p>なお、ライセンスの正確な内容については、ライセンスの購買元 もしくは Microsoft ライセンス窓口になどに確認を実施してもらえればと思います。</p> <p> </p> <p><strong>※ 2024年4月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189095202676 2024-04-01T16:27:39+09:00 2024-04-01T16:27:39+09:00 前回、「Microsoft Fabric」を利用するメリット (後編) として、Microsoft Fabric の更なるメリットについてまとめてみました。 今回は、Microsoft Fabric の基本概念について、自分の整理も兼ねて、まとめてみようと思います。 Microsoft Fabric 基本概念 テナント 容量 ワークスペース まとめ Microsoft Fabric 基本概念 テナント Microsoft Fabric は Microsoft Entra ID テナント (旧 Azure AD) にデプロイされます。 また、Microsoft Entra ID 上には ユーザー… <p>前回、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">「Microsoft Fabric」を利用するメリット (後編) として、Microsoft Fabric の更なるメリットについて</span><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">まとめてみました。</span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab04" title="【第4回】基本から始める Microsoft Fabric【メリット 後半】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は、Microsoft Fabric の基本概念について、自分の整理も兼ねて、まとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Microsoft-Fabric-基本概念">Microsoft Fabric 基本概念</a><ul> <li><a href="#テナント">テナント</a></li> <li><a href="#容量">容量</a></li> <li><a href="#ワークスペース">ワークスペース</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-基本概念">Microsoft Fabric 基本概念</h4> <h5 id="テナント">テナント</h5> <p>Microsoft Fabric は Microsoft Entra ID テナント (旧 Azure AD) にデプロイされます。 また、Microsoft Entra ID 上には ユーザー、グループ などのオブジェクトが存在し、Microsoft Fabric 管理ポータルへのログイン認証などで利用されます。</p> <p>そして、Microsoft Entra ID には、特定の場所からのみアクセスを許可する条件付きアクセス機能、シングル サインオン、多要素認証(MFA)機能などの機能があり、簡易に セキュアな Microsoft Fabric 管理ポータルへのログインを実現することができます。</p> <p><span style="color: #000000;"><strong>※ Microsoft Entra ID で 条件付きアクセス機能、シングル サインオン、多要素認証(MFA)機能 を利用する必要がある場合、ユーザー毎に <span style="box-sizing: border-box; font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #f2f2f2;">Microsoft Entra ID P1 以上のライセンスを購入する必要があります。<br />※ Microsoft Entra ID P1/P2 ライセンスは、Microsoft 365 E3/E5 などのライセンスに含まれています。そのため、<span style="box-sizing: border-box; font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #f2f2f2;">Microsoft Entra ID ライセンス購入前に、既に該当のライセンスを保有していないか確認することをお薦めします。</span></span></strong></span></p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.microsoft.com%2Fja-jp%2Fsecurity%2Fbusiness%2Fidentity-access%2Fmicrosoft-entra-id%3Fwt.mc_id%3DDP-MVP-5004154" title="Microsoft Entra ID (旧称 Azure Active Directory) | Microsoft Security" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="容量">容量</h5> <ul> <li>Microsoft Fabric 容量はテナントに紐づいた、Microsoft Fabirc アイテムなどで使用可能なリソース プール (Microsoft Fabric コンピュート プール) となります。</li> <li>容量のサイズ (SKU) により、使用可能な計算能力の量が決定されます。</li> <li>一つの容量に複数のワークスペースを割り当てて使用することが可能となります。</li> </ul> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Ffabric%2Fenterprise%2Flicenses%23capacity-license%3Fwt.mc_id%3DDP-MVP-5004154" title="Microsoft Fabric の概念 - Microsoft Fabric" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="ワークスペース">ワークスペース</h5> <ul> <li>ワークスペースは、レイクハウス、ノートブック、セマンティック モデル、レポート などの Microsoft Fabric アイテムを作成する場所になります。<br /><br /><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240401/20240401160416.png" width="511" height="356" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /><br /><br /></li> <li>ワークスペース および Microsoft Fabric アイテム毎にアクセス制御を設定することができます。</li> <li>ワークスペース上の Microsoft Fabric アイテムは、該当ワークスペースに割り当てた「容量」のリソース (Microsoft Fabric コンピュート プール) を利用して実行されます。</li> <li>ワークスペースには 個人利用を目的とした「<strong>マイ ワークスペース</strong>」と、各ユーザーと共有可能な「<strong>ワークスペース</strong>」が存在します。<br /><br /><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240401/20240401121858.png" width="271" height="397" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></li> </ul> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、Microsoft Fabric の基本概念について、まとめてみました。</p> <p>Microsoft Fabric は Microsoft Entra ID を利用した認証が可能であり、Microsoft Entra IDの機能を利用することで、セキュアなMicrosoft Fabric 管理ポータルへのログインを簡易に実現することができるので、活用されると良いかと思います。</p> <p>次回は、Microsoft Fabric を利用するうえで必要となるライセンスについて、まとめてみようと思います。</p> <p> </p> <p><strong>※ 2024年4月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189094417549 2024-03-29T15:41:54+09:00 2024-03-29T15:41:54+09:00 前回、「Microsoft Fabric」を利用するメリット (前半) について、Microsoft Fabric のメリットについてまとめてみました。 今回は更なるメリットについて、まとめてみようと思います。 ※ Microsoft Fabric に関するセミナーやエンジニアとの会話などで得た情報や実際に利用したみた経験をベースに、個人的にメリットと思われる点についてまとめています。 Microsoft Fabric メリット (後半) Azure AI Studio, Azure OpenAI, Azure Databricks などのその他 Azureサービスから安全に OneLake … <p>前回、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">「Microsoft Fabric」を利用するメリット (前半) について、Microsoft Fabric のメリットについて</span><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">まとめてみました。</span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab03" title="【第3回】基本から始める Microsoft Fabric【メリット 前半】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は更なるメリットについて、まとめてみようと思います。</p> <p><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">※ Microsoft Fabric に関するセミナーやエンジニアとの会話などで得た情報や実際に利用したみた経験をベースに、個人的にメリットと思われる点についてまとめています。</strong></p> <p> </p> <ul class="table-of-contents"> <li><a href="#Microsoft-Fabric-メリット-後半">Microsoft Fabric メリット (後半)</a><ul> <li><a href="#Azure-AI-Studio-Azure-OpenAI-Azure-Databricks-などのその他-Azureサービスから安全に-OneLake-上のデータにアクセスすることが可能">Azure AI Studio, Azure OpenAI, Azure Databricks などのその他 Azureサービスから安全に OneLake 上のデータにアクセスすることが可能</a></li> <li><a href="#Copilot-in-Microsoft-Fabric-により各ワークロードの作業の効率化が可能-コードの自動生成など">Copilot in Microsoft Fabric により各ワークロードの作業の効率化が可能 (コードの自動生成など)</a></li> <li><a href="#OneLake-を-生成AI-アプリケーションの-RAG-データソースとして利用可能">OneLake を 生成AI アプリケーションの RAG データソースとして利用可能</a></li> <li><a href="#Azure-AI-の各種サービス-Azure-OpenAIText-AnalyticsAzure-AI-Translator-など-の事前構築済み-AI-モデルを-Microsoft-Fabric-上-Notebook-など-で利用することが可能">Azure AI の各種サービス (Azure OpenAI、Text Analytics、Azure AI Translator など) の事前構築済み AI モデルを Microsoft Fabric 上 (Notebook など) で利用することが可能</a></li> </ul> </li> <li><a href="#Microsoft-Fabric-データ統合の全体像">Microsoft Fabric データ統合の全体像</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-メリット-後半">Microsoft Fabric メリット (後半)</h4> <h5 id="Azure-AI-Studio-Azure-OpenAI-Azure-Databricks-などのその他-Azureサービスから安全に-OneLake-上のデータにアクセスすることが可能">Azure AI Studio, Azure OpenAI, Azure Databricks などのその他 Azureサービスから安全に OneLake 上のデータにアクセスすることが可能</h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329141051.png" width="640" height="452" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong><span style="color: #d32f2f;">DFS (分散ファイルシステム)  API </span>により、<span style="color: #d32f2f;">Azure Databricks, Azure Data Lake Storage Gen2 互換性アプリ (Azure HDInsight など) , Azure AI Studio から OneLake 上のデータにアクセス</span>し、利用することが可能。<br /></strong></li> <li><strong>既存のデータ分析基盤も活用することが可能。</strong><br /><br /></li> <li><strong>Azure AI Studio を利用し、Microsoft Fabric OneLake に保存されたデータを利用した AI アプリケーション開発が可能。</strong></li> </ul> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329141533.png" width="647" height="447" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong><span style="color: #d32f2f;">Microsoft Graph Data Connect </span>により、<span style="color: #d32f2f;"><span style="color: #000000;">Microsoft 365 のデータ (洞察データなど) を Dalta – Parquet 形式 として OneLake に保存し、</span>Microsoft Fabric に統合されたワークロードおよび、Azure Databricks、Azure Data Lake Storage Gen2 互換性アプリ (Azure HDInsight など) などの DFS (分散ファイルシステム)  API からアクセス可能してデータ分析する</span>ことが可能。</strong></li> </ul> <p> </p> <h5 id="Copilot-in-Microsoft-Fabric-により各ワークロードの作業の効率化が可能-コードの自動生成など"><strong>Copilot in Microsoft Fabric </strong><strong>により各ワークロードの作業の効率化が可能 </strong><strong>(</strong><strong>コードの自動生成など</strong><strong>)</strong></h5> <p><strong>現時点にてプレビュー機能となっているが、以下のワークロードで Copilot を利用することができ、データ分析作業の効率化を図ることが可能。</strong></p> <ul> <li>Copilot for Data Science and Data Engineering</li> <li>Copilot for Data Factory</li> <li>Copilot for Power BI</li> <li>Copilot for Real-Time Analytics</li> </ul> <p><strong>【注意】</strong></p> <p><strong>Microsoft Fabic で Copilot 機能を利用したい場合は、<span style="color: #d32f2f;">有償 (試用版では利用できない)、かつ、SKU で F64 もしくは P1 Capacity 以上を選択する</span>必要があります。</strong></p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Ffabric%2Fget-started%2Fcopilot-fabric-overview%3Fwt.mc_id%3DDP-MVP-5004154" title="Fabric および Power BI の Copilot の概要 (プレビュー) - Microsoft Fabric" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="OneLake-を-生成AI-アプリケーションの-RAG-データソースとして利用可能">OneLake を 生成AI アプリケーションの RAG データソースとして利用可能</h5> <p><strong>Microsoft Fabric OneLake にデータを統合することで、RAG アプリケーション から 簡易に様々なデータに対してアクセスが可能。</strong></p> <p> </p> <h5 id="Azure-AI-の各種サービス-Azure-OpenAIText-AnalyticsAzure-AI-Translator-など-の事前構築済み-AI-モデルを-Microsoft-Fabric-上-Notebook-など-で利用することが可能"><strong>Azure AI </strong><strong>の各種サービス </strong><strong>(Azure OpenAI</strong><strong>、</strong><strong>Text Analytics</strong><strong>、</strong><strong>Azure AI Translator </strong><strong>など</strong><strong>) </strong><strong>の事前構築済み </strong><strong>AI </strong><strong>モデルを </strong><strong>Microsoft Fabric </strong><strong>上 </strong><strong>(Notebook </strong><strong>など</strong><strong>) </strong><strong>で利用することが可能 </strong></h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329144336.png" width="1200" height="417" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329144452.png" width="1200" height="443" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong><span style="color: #d32f2f;">事前構築済み AI モデルを Microsoft Fabric から簡易に利用する</span>ことが可能。</strong></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-データ統合の全体像">Microsoft Fabric データ統合の全体像</h4> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329144908.png" width="907" height="570" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br />Microsoft Fabric を中心としたデータ統合を実施することで、既存のデータ および 既存のデータ分析基盤を活用でき、かつ、効率的な AI 分析、RAG アプリケーションの開発ができるのも、Microsoft Fabric の魅力の一つかなと思います。</p> <p> </p> <h4 id="まとめ"><strong>まとめ</strong></h4> <p>今回は、「Microsoft Fabric」を利用するメリット (後半) について、まとめてみました。</p> <p>Microsoft Fabric を中心としたデータ統合を実施することで、既存のデータ および 既存のデータ分析基盤を活用でき、かつ、効率的な AI 分析、RAG アプリケーションの開発ができ、かつ、ショートカット/ミラーリング機能を活用することで データのサイロ化 対策にも有効な良い SaaS サービスだと思います。</p> <p>次回は、「Microsoft Fabric」を利用するうえの考慮点についてもまとめてみようと思います。</p> <p> </p> <p><strong>※ 2024年3月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189094400400 2024-03-29T12:03:00+09:00 2024-03-29T15:57:38+09:00 前回、「Microsoft Fabric」の試用版 (60日間) を利用する方法についてまとめてみました。 今回は、「Microsoft Fabric」を利用するメリット (前半) について、まとめてみようと思います。 ※ Microsoft Fabric に関するセミナーなどで得た情報や実際に利用したみた経験をベースに、個人的にメリットと思われる点についてまとめています。 Microsoft Fabric メリット (前半) 共通のインターフェースによるデータ分析が可能 Microsoft Fabric に統合されたワークロードで Microsoft Fabric コンピューティング プール… <p>前回、「Microsoft Fabric」の試用版 (60日間) を利用する方法についてまとめてみました。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab02" title="【第2回】基本から始める Microsoft Fabric【試用版申し込み】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は、「Microsoft Fabric」を利用するメリット (前半) について、まとめてみようと思います。</p> <p><strong>※ Microsoft Fabric に関するセミナーなどで得た情報や実際に利用したみた経験をベースに、個人的にメリットと思われる点についてまとめています。</strong></p> <p> </p> <ul class="table-of-contents"> <li><a href="#Microsoft-Fabric-メリット-前半">Microsoft Fabric メリット (前半)</a><ul> <li><a href="#共通のインターフェースによるデータ分析が可能">共通のインターフェースによるデータ分析が可能</a></li> <li><a href="#Microsoft-Fabric-に統合されたワークロードで-Microsoft-Fabric-コンピューティング-プールを共有して利用可能">Microsoft Fabric に統合されたワークロードで Microsoft Fabric コンピューティング プールを共有して利用可能</a></li> <li><a href="#OneLake-によるデータの統合が可能">OneLake によるデータの統合が可能</a></li> <li><a href="#OneLake-ショートカット機能によるデータアクセスが可能">OneLake ショートカット機能によるデータアクセスが可能</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-メリット-前半">Microsoft Fabric メリット (前半)</h4> <h5 id="共通のインターフェースによるデータ分析が可能"><strong>共通のインターフェースによるデータ分析が可能</strong></h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329110041.png" width="700" height="519" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong>データ サイエンティスト、データ アナリスト などの異なるロールのエンジニアが Microsoft Fabric <span style="color: #d32f2f;">共通のインターフェース上でデータの取得、加工、分析、視覚化</span>を実施することが可能。</strong><br /><br /></li> <li><strong>異なるロールのエンジニア間で<span style="color: #d32f2f;">効率的にデータのやり取り、データ内容/分析に関する相談</span>などを実施することが可能。</strong></li> </ul> <p> </p> <h5 id="Microsoft-Fabric-に統合されたワークロードで-Microsoft-Fabric-コンピューティング-プールを共有して利用可能">Microsoft Fabric に統合されたワークロードで Microsoft Fabric コンピューティング プールを共有して利用可能</h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329110430.png" width="618" height="316" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong>Microsoft Fabric に統合された<span style="color: #d32f2f;">各ワークロードはサーバーレスで動作</span>し、動作に必要なリソースは <span style="color: #d32f2f;">Microsoft Fabric コンピューティング プールから割り当てる</span>ことが可能。(最小分単位の従量課金 もしくは リソース予約)<br /><br /></strong></li> <li><strong>Microsoft Fabric に統合された各ワークロード毎にコンピューティング リソースを購入する必要がないため、コストの最適化が可能。</strong></li> </ul> <p> </p> <h5 id="OneLake-によるデータの統合が可能"><strong>OneLake</strong><strong> によるデータの統合</strong><strong>が可能</strong></h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329111041.png" width="641" height="374" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong>Microsoft Fabric OneLake は、<span style="color: #d32f2f;">OSS Delta Lake をベース</span>にしており、OneLake上に配置されたデータは <span style="color: #d32f2f;">Delta-Parquet (デルタ - パーケイ) 形式という単一の共有フォーマットで保存</span>される。<br /><br /></strong></li> <li><strong>データが OneLake に保存されると、インポート/エクスポートをすることなく、<span style="color: #d32f2f;">Microsoft Fabric に統合されたワークロード、および、Azure Databricks、Azure Data Lake Storage Gen2 互換性アプリ (Azure HDInsight など)  などからデータにアクセス</span>することが可能。</strong></li> </ul> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329112540.png" width="659" height="461" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong><span style="color: #d32f2f;">ミラーリング機能により Azure Cosmos DB, Azure SQL Database, Mongo DB, Snowflake から ほぼリアルタイムで OneLake にデータを Dalta – Parquet 形式でデータ同期</span>させることが可能。</strong> <br /><strong>※ 特に Snowflake がミラーリングのサポート対象になっている点が特徴的だと思います。</strong></li> <li><strong><span style="color: #d32f2f;">ミラーリングされた各データは同一データフォーマット (Dalta – Parquet 形式) で保存</span>されるため、<span style="color: #d32f2f;">OneLake上にある既存のデータとを簡易に結合して分析、視覚化させることが可能</span>。</strong><br /><strong>※ 異なるデータソースのデータを分析のために簡易にデータ結合を伴うデータ分析が実施できるのは嬉しい点だと思います。<br /><br /></strong></li> <li><strong>データ サイエンティスト, データ アナリストなどが<span style="color: #d32f2f;">ほぼリアルタイムのデータを利用した分析が可能。<br /><br /></span></strong></li> <li><strong>既存のデータを簡易に活用することが可能。</strong></li> </ul> <p> </p> <h5 id="OneLake-ショートカット機能によるデータアクセスが可能"><strong>OneLake</strong><strong> ショートカット機能によるデータアクセスが可能</strong></h5> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329114128.png" width="638" height="446" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ul> <li><strong><span style="color: #d32f2f;"><span style="color: #000000;">OneLake ショートカット機能を利用することで、</span>実データを OneLake にインポートする必要なく、Azure Data Lake Storage Gen2, Amazon S3, Dataverse, Google Storage に配置されたデータ(CSV, Parquet など) に直接アクセス</span>することが可能。</strong><br /><strong>※ Google Storage へのショートカットについては、現時点 (2024年3月時点) でプレビュー機能。</strong><br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240329/20240329114415.png" width="521" height="257" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li><strong>既存のデータを簡易に活用することが可能。</strong></li> </ul> <p> </p> <h4 id="まとめ"><strong>まとめ</strong></h4> <p>今回は、「Microsoft Fabric」を利用するメリット (前半) について、まとめてみました。</p> <p>メリット (前半)  だけでも、データのサイロ化を防ぎ、効率的なデータ分析、AI分析を実施するために Microsoft Fabric を利用するメリットがあると感じられた方はおられるのではないかと思います。</p> <p>次回は、「Microsoft Fabric」を利用するメリット (後編) で更なる Microsoft Fabric を利用するメリットについてまとめてみようと思います。<br /><br /><br /></p> <blockquote> <p>【第4回】基本から始める Microsoft Fabric【メリット 後半】へ</p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab04" title="【第4回】基本から始める Microsoft Fabric【メリット 後半】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2024年3月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189093735447 2024-03-26T18:27:15+09:00 2024-03-26T18:45:18+09:00 Azure Marketplace から SQL Server がインストール済みの Azure 仮想マシン (以下 SQLVM) をデプロイした場合、英語版の SQL Server がインストールされます。 本環境の SQL Server を倭国語化したい場合、以下【SQLVM上の SQL Server 倭国語化手順】のような手順を実施する必要があります。 SQLVM上で倭国語化された SQL Server を上位バージョン (例えば SQL Server 2019 -> SQL Server 2022) に インプレース アップグレード したい場合、どうすれば良いのかという質問をいただいた… <p>Azure Marketplace から SQL Server がインストール済みの Azure 仮想マシン (以下 SQLVM) をデプロイした場合、英語版の SQL Server がインストールされます。</p> <p>本環境の SQL Server を倭国語化したい場合、以下【<strong>SQLVM上の SQL Server 倭国語化手順</strong><strong>】</strong>のような手順を実施する必要があります。</p> <p>SQLVM上で倭国語化された SQL Server を上位バージョン (例えば SQL Server 2019 -&gt; SQL Server 2022) に インプレース アップグレード したい場合、どうすれば良いのかという質問をいただいたので、自分の整理も兼ねて、まとめてみようと思います。</p> <p> </p> <p><strong>【補足】</strong></p> <p>あくまで個人的な意見としては、SQL Server を上位バージョンにアップグレードする必要がある場合、インプレース アップグレード ではなく、上位バージョンの SQL Server がインストールされた 新しい SQLVM をデプロイし、既存SQLVMとの 並行稼働+データ同期 を構成、そして、切り替えのタイミングで アプリケーション側の接続文字列を新しい SQLVMに接続するように変更したほうが、ダウンタイムが少ない、かつ、何か問題が発生した場合に即座に切り戻しができるなど、柔軟な移行計画を立てることができるのではないかと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#SQLVM上の-SQL-Server-倭国語化手順">SQLVM上の SQL Server 倭国語化手順</a></li> <li><a href="#SQLVM上の-SQL-Server-インプレース-アップグレード手順">SQLVM上の SQL Server インプレース アップグレード手順</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="SQLVM上の-SQL-Server-倭国語化手順"><strong>SQLVM上の SQL Server 倭国語化手順</strong></h4> <ol> <li> SQLVM にインストールされている SQL Server および 関連コンポーネットをすべてアンインストールします。</li> <li> Windows OS のロケール設定を倭国語に変更します。</li> <li> 倭国語版の評価版 SQL Server (Evaluation Edition) をダウンロードし、SQLVM上の任意のパスに保存します。</li> <li> SQLVM 上で「<span style="color: #333333; font-family: SegoeUI, Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">C:\SQLServerFull\x64\DefaultSetup.ini</span>」をメモ帳などで開き、記載されている SQL Server のプロダクトキー(PID)を確認します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326170932.png" width="271" height="143" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li> 倭国語版の評価版 SQL Server (Evaluation Edition)をインストール時、4. で確認したプロダクトキーを利用して SQL Server をインストールします。</li> <li> SQL Server IaaS Agent 拡張機能の再登録を実施します。<br /><br /></li> </ol> <blockquote> <p>詳細な手順は、以下の公開情報を参照。</p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fsql-server-support-blog%2Fazure-%25E4%25BB%25AE%25E6%2583%25B3%25E3%2583%259E%25E3%2582%25B7%25E3%2583%25B3%25E4%25B8%258A%25E3%2581%25AB%25E4%25BD%259C%25E6%2588%2590%25E3%2581%2597%25E3%2581%259F-sql-server-%25E3%2581%25AE%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E%25E5%258C%2596%25E6%2589%258B%25E9%25A0%2586-windows-os-%25E7%2589%2588-sql-server%2Fba-p%2F2889006" title="Azure 仮想マシン上に作成した SQL Server の倭国語化手順(Windows OS 版 SQL Server 2019 / 2022 対応手順)" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="SQLVM上の-SQL-Server-インプレース-アップグレード手順"><strong>SQLVM上の SQL Server インプレース アップグレード手順</strong></h4> <p><strong>【前提】 </strong></p> <ul> <li>SQLVM 上にインストールされている SQL Server 2019 を SQL Server 2022 にアップグレード</li> <li>SQLVM 上にインストールされている SQL Server 2019 のエディションは Standard Edition</li> </ul> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326155051.png" width="692" height="319" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <ol> <li> Azure Marketplace から 上位バージョン (今回は SQL Server 2022 Standard Edition) がインストールされた SQLVM をデプロイします。<br /><strong>※ 既存SQLVM上にインストールされている SQL Server と同じエディションの上位バージョンを選択。</strong><br /><br /></li> <li> 1. でデプロイした SQLVM 上で「<span style="color: #333333; font-family: SegoeUI, Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">C:\SQLServerFull\x64\DefaultSetup.ini</span>」をメモ帳などで開き、記載されている SQL Server のプロダクトキー(PID)を確認します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326171058.png" width="234" height="91" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li> 既存の SQLVM 環境上に 倭国語版の評価版 SQL Server 2022 (Evaluation Edition) のセットアップ プログラム (SQL2022-SSEI-Eval.exe) をダウンロードし、任意のパスに保存します。 <blockquote> <p><strong>SQL Server 2022 評価版 (Evaluation Edition)</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.microsoft.com%2Fja-jp%2Fevalcenter%2Fdownload-sql-server-2022%3Fwt.mc_id%3DDP-MVP-5004154" title="SQL Server 2022 | Microsoft Evaluation Center" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote>   </li> <li> 3. でダウンロードした 倭国語版の評価版 SQL Server 2022 (Evaluation Edition) のセットアップ プログラム (SQL2022-SSEI-Eval.exe) を起動します。<br /><br /></li> <li> インストールの種類「カスタム」を選択し、メディアのダウンロードパスを指定後、「インストール」を押下します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326175131.png" width="430" height="339" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326175235.png" width="429" height="341" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li> 「インストール」-「以前のバージョンの SQL Server からアップグレード」を選択します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326175623.png" width="526" height="402" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /><br /><br /></p> </li> <li>「プロダクト キーを入力する」を選択し、2. で確認したプロダクト キーを入力後、「SQL Server ライセンスのみを持っている」にチェックし、「次へ」を選択します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326175928.png" width="571" height="499" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> </li> <li>「ライセンス条項と次に同意します」にチェックし、「次へ」を選択します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326180354.png" width="584" height="513" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li> アップグレード画面を進め、「インスタンスの選択」画面でアップグレードするインスタンスを選択し、「次へ」を選択します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326180751.png" width="590" height="517" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li> アップグレード画面を進め、「アップグレードの準備完了」画面で指定した内容が正しいことを確認後、「アップグレード」を選択し、SQL Server 2022 Standard Edition へのアップグレードを実行します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326181058.png" width="797" height="702" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> <li> 正常にアップグレード作業が完了し、SQL Server のバージョンが上がっていることを確認します。<br /><br /> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326182305.png" width="802" height="699" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240326/20240326182431.png" width="689" height="323" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> </li> </ol> <p>  <strong>※ 1.  で新規デプロイした SQLVM は必要に応じて削除します。</strong></p> <p> </p> <blockquote> <p>参考 URL</p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Fdatabase-engine%2Finstall-windows%2Fupgrade-sql-server-using-the-installation-wizard-setup%3Fwt.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16" title="アップグレード:インストール ウィザード (セットアップ) - SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <h4 id="まとめ"><strong><br />まとめ</strong></h4> <p>SQLVM上で倭国語化された SQL Server を上位バージョンに インプレース アップグレード する方法についてまとめてみました。</p> <p>上記でも記載しましたが、SQL Server を上位バージョンにアップグレードする必要がある場合、インプレース アップグレード ではなく、上位バージョンの SQL Server がインストールされた 新しい SQLVM をデプロイしデータベースを移行したほうが、ダウンタイムが少なく、安全に SQL Server のアップグレードを実施できるのではないかと思います。</p> <p> </p> <p><strong>※ 2024年3月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189087087491 2024-02-29T23:23:55+09:00 2024-02-29T23:23:55+09:00 Azure Data Studio 1.48 がリリースされました。 新機能としては、以下の機能が追加されたようです。今回は各新機能について確認してみようと思います。 【Azure Data Studio 1.48 新機能】 リストア ダイアログで Amazon S3 ストレージ URL 上に配置されたバックアップファイル からの データベース リストア をサポート クエリ エディタ タブに SPID (ユーザー プロセスのセッション ID) を含めるように変更 コマンドライン から Azure Data Studio を起動する際、接続先を指定できるように変更 「データベースの作成」ダイアロ… <p>Azure Data Studio 1.48 がリリースされました。</p> <p>新機能としては、以下の機能が追加されたようです。今回は各新機能について確認してみようと思います。</p> <p> </p> <p><strong><span style="color: #0000cc;">【Azure Data Studio 1.48 新機能】</span></strong></p> <ul> <li> <p>リストア ダイアログで Amazon S3 ストレージ URL 上に配置されたバックアップファイル からの データベース リストア をサポート</p> </li> <li>クエリ エディタ タブに SPID (ユーザー プロセスのセッション ID) を含めるように変更</li> <li> コマンドライン から Azure Data Studio を起動する際、接続先を指定できるように変更</li> <li>「データベースの作成」ダイアログから データベース を作成する際、Ledger を有効できるように改良</li> </ul> <p> </p> <ul class="table-of-contents"> <li><a href="#リストア-ダイアログで-Amazon-S3-ストレージ-URL-上に配置されたバックアップファイル-からの-データベース-リストア-をサポート">リストア ダイアログで Amazon S3 ストレージ URL 上に配置されたバックアップファイル からの データベース リストア をサポート</a></li> <li><a href="#クエリ-エディタ-タブに-SPID-ユーザー-プロセスのセッション-ID-を含めるように変更">クエリ エディタ タブに SPID (ユーザー プロセスのセッション ID) を含めるように変更</a></li> <li><a href="#コマンドライン-から-Azure-Data-Studio-を起動する際接続先を指定できるように変更">コマンドライン から Azure Data Studio を起動する際、接続先を指定できるように変更</a></li> <li><a href="#データベースの作成ダイアログから-データベース-を作成する際Ledger-を有効できるように改良">「データベースの作成」ダイアログから データベース を作成する際、Ledger を有効できるように改良</a></li> </ul> <p> </p> <h4 id="リストア-ダイアログで-Amazon-S3-ストレージ-URL-上に配置されたバックアップファイル-からの-データベース-リストア-をサポート"><strong>リストア ダイアログで Amazon S3 ストレージ URL 上に配置されたバックアップファイル からの データベース リストア をサポート</strong></h4> <p><strong>1) Amazon S3 バケットに SQL Server データベースのバックアップファイル「testdb.bak」をアップロードします。</strong></p> <p> </p> <p><strong>2) AWS 管理コンソール側で 該当のAmazon S3 バケットに参照可能なアクセス権限が付与された IAM ユーザー (IAM グループ) を作成し、IAM ユーザーの アクセス キー、シークレット キー を取得します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229200749.png" width="565" height="411" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) Azure Data Studio (1.48 以降) を起動後、データベース - 右クリック - データベースの復元 (プレビュー) を選択します。</strong></p> <p>※ 今回は、ローカル環境の SQL Server 2022 既定のインスタンス に接続しています。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229205500.png" width="360" height="283" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 全般 タブ - 復元元 -「S3 URL」を選択後、バックアップ ファイルのパス「…」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229205535.png" width="526" height="295" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>5) バックアップ ファイルが保存された Amazon S3 バケットのエンドポイント、該当 バケットにアクセス可能な IAM ユーザーの 秘密鍵、アクセスキーを入力後、「資格情報の追加」を押下し、バックアップ ファイルが保存されたバケットを選択後、「追加」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229205334.png" width="492" height="721" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>6) ターゲット データベース 欄に データベース名 を入力後、「復元」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229210916.png" width="552" height="548" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>[補足]</strong></p> <p>倭国語訳が誤っていますが、ファイル タブ、オプション タブ (現在は「ファイル」となっている) は SQL Server Management Studio 同様に設定が可能になっているようです。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229211513.png" width="624" height="313" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229211558.png" width="506" height="428" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>また、残念ながら 本日時点 (2024/2/29) では、復元ボタンをクリック後、以下のエラーが発生し、データベースの復元作業が失敗してしまいました。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229213439.png" width="633" height="137" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>そのため、本日時点 (2024/2/29)で確認できた事象について、以下のフィードバックサイトにフィードバックを実施してみました。</p> <p><a href="https://github.com/microsoft/azuredatastudio/issues/25450" target="_blank">https://github.com/microsoft/azuredatastudio/issues/25450</a></p> <p><a href="https://github.com/microsoft/azuredatastudio/issues/25451" target="_blank">https://github.com/microsoft/azuredatastudio/issues/25451</a></p> <p> </p> <h4 id="クエリ-エディタ-タブに-SPID-ユーザー-プロセスのセッション-ID-を含めるように変更">クエリ エディタ タブに SPID (ユーザー プロセスのセッション ID) を含めるように変更</h4> <p>クエリ エディタ タブに SPID (ユーザー プロセスのセッション ID) が含まれるようになっています。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229224854.png" width="481" height="125" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="コマンドライン-から-Azure-Data-Studio-を起動する際接続先を指定できるように変更">コマンドライン から Azure Data Studio を起動する際、接続先を指定できるように変更</h4> <p>コマンドラインのヘルプはまだ実装されていないようですが、Azure Data Studio の実行モジュール (azuredatastudio.exe) に 「<strong>--command connect -- server &lt;接続先SQL Server インスタンス&gt;</strong>」引数を指定することで、Azure Data Studio の接続先を指定して Azure Data Studio を起動することができました。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229231015.png" width="671" height="157" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>※ 「<strong>--user &lt;SQLログイン名&gt; --command connect -- server &lt;接続先SQL Server インスタンス&gt;</strong>」と指定することで、SQL Server ログインを利用した接続も可能でした。</p> <p> </p> <h4 id="データベースの作成ダイアログから-データベース-を作成する際Ledger-を有効できるように改良">「データベースの作成」ダイアログから データベース を作成する際、Ledger を有効できるように改良</h4> <p>Azure Data Studio から データベースの新規作成を選択すると、「台帳データベース (Ledger)」を有効化するオプションが追加されています。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240229/20240229225633.png" width="493" height="446" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>※ 2024年2月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189086573300 2024-02-28T13:37:55+09:00 2024-03-29T12:09:15+09:00 前回、「Microsoft Fabric」の概要についてまとめてみました。 現在「Microsoft Fabric」は 試用版 (60日間) として自由に動作検証などを実施することが可能になっています。 今回は、「Microsoft Fabric」を試用版として利用する方法について、まとめてみようと思います。 Microsoft Fabric 試用版を利用する前提条件 Microsoft Fabric 試用版を利用する方法 Microsoft Fabric を学ぶために参考になる Microsoft Learn まとめ Microsoft Fabric 試用版を利用する前提条件 Power B… <p>前回、「Microsoft Fabric」の概要についてまとめてみました。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab01" title="【第1回】基本から始める Microsoft Fabric【概要】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>現在「Microsoft Fabric」は 試用版 (60日間) として自由に動作検証などを実施することが可能になっています。</p> <p>今回は、「Microsoft Fabric」を試用版として利用する方法について、まとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Microsoft-Fabric-試用版を利用する前提条件">Microsoft Fabric 試用版を利用する前提条件</a></li> <li><a href="#Microsoft-Fabric-試用版を利用する方法">Microsoft Fabric 試用版を利用する方法</a></li> <li><a href="#Microsoft-Fabric-を学ぶために参考になる-Microsoft-Learn">Microsoft Fabric を学ぶために参考になる Microsoft Learn</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-試用版を利用する前提条件"><strong>Microsoft Fabric 試用版を利用する前提条件</strong></h4> <ul> <li>Power BI ライセンス (無料版でもOK)</li> </ul> <p>※ 「Microsoft Fabric 試用版を利用する方法」では、Power BI ライセンス (無償版) をセットアップする手順を含めています。</p> <p> </p> <p> </p> <h4 id="Microsoft-Fabric-試用版を利用する方法"><strong>Microsoft Fabric 試用版を利用する方法</strong></h4> <p><strong>1) 以下の URL にアクセスします。</strong></p> <p><a href="https://app.fabric.microsoft.com/home?experience=fabric" target="_blank">https://app.fabric.microsoft.com/home?experience=fabric</a></p> <p> </p> <p><strong>2) 試用版を利用したいアカウント (組織アカウント) を入力し、「次へ」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227174126.png" width="1009" height="490" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>※ 組織アカウントの作成方法については、以下の Microsoft サポートブログが参考になるかと思います。</strong></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fjpazasms.github.io%2Fblog%2FAzureSubscriptionManagement%2F20181108a%2F" title="Microsoft アカウントと組織アカウントについて" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"><a href="https://jpazasms.github.io/blog/AzureSubscriptionManagement/20181108a/">jpazasms.github.io</a></cite></p> </blockquote> <p> </p> <p><strong>3) アカウント作成に紐づける予定のメールアドレスが正しいことを確認後、「続ける」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227175753.png" width="824" height="442" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4)「国または地域」欄、「勤務先の電話番号」欄を入力後、「作業の開始」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227180022.png" width="703" height="821" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>5)「作業の開始」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227180327.png" width="759" height="480" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>6) Microsoft Fabric 管理ポータルが表示されたことを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227181904.png" width="1200" height="582" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>6) Microsoft Fabric 管理ポータル 右上の「アカウント」- 左クリック -「無料体験する」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227182053.png" width="333" height="369" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>7) 「無料体験する」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227182234.png" width="761" height="208" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>8) 「了解しました」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240227/20240227182318.png" width="470" height="174" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="Microsoft-Fabric-を学ぶために参考になる-Microsoft-Learn"><strong>Microsoft Fabric を学ぶために参考になる Microsoft Learn</strong></h4> <p>Microsoft Fabric に対応した試験「<strong>DP-600 : Microsoft Fabric を使用した分析ソリューションの実装</strong>」のコレクションに登録された Microsoft Learn を学ぶことで、Microsoft Fabric を深く知ることができると思いますのでお勧めです。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fcredentials%2Fcertifications%2Fexams%2Fdp-600%2F%3Fwt.mc_id%3DDP-MVP-5004154" title="試験 DP-600: Microsoft Fabric を使用した分析ソリューションの実装 (ベータ) - Certifications" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"><a href="https://learn.microsoft.com/ja-jp/credentials/certifications/exams/dp-600/?wt.mc_id=DP-MVP-5004154">learn.microsoft.com</a></cite></p> </blockquote> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240228/20240228133037.png" width="719" height="705" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ"><strong>まとめ</strong></h4> <p>今回は、Microsoft Fabric を試用版として利用する方法 および Microsoft Fabric を学ぶうえで参考になりそうな Microsoft Learn コンテンツを紹介しました。</p> <p>次回以降で、Microsoft Fabric の メリット、OneLake についてもう少し詳しく整理してみようと思います。<br /><br /><br /></p> <blockquote> <p><strong>【第3回】基本から始める Microsoft Fabric【メリット 前半】へ</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab03" title="【第3回】基本から始める Microsoft Fabric【メリット 前半】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2024年2月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189086001267 2024-02-26T23:50:16+09:00 2024-02-28T13:50:49+09:00 Azure AI (Azure OpenAI)、Microsoft 365 とも統合されたデータ統合プラットフォーム (SaaS) の Microsoft Fabric の概要に関する内容 <p>Azure 分析基盤サービスとして以下のような様々なサービスが存在します。</p> <ul> <li>Microsoft Fabric</li> <li>Azure Databricks</li> <li>Azure Synapse Analytics</li> <li>HDInsight</li> <li>Azure Stream Analytics</li> <li>Azure Data Lake Analytics</li> </ul> <p>今回は、その中の一つである「Microsoft Fabric」について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Microsoft-Fabric-とは">Microsoft Fabric とは</a></li> <li><a href="#統合された各ワークロードについて">統合された各ワークロードについて</a></li> <li><a href="#Microsoft-Fabric-メリット">Microsoft Fabric メリット</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Microsoft-Fabric-とは"><strong>Microsoft Fabric とは</strong></h4> <p>Microsoft Fabric は、データ活用、分析に必要となる複数のワークロードを一つにまとめた <strong>統合データプラットフォーム (SaaS)</strong> となります。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226194409.png" width="1134" height="598" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="統合された各ワークロードについて"><strong>統合された各ワークロードについて</strong></h4> <p>Microsoft Fabric では、現時点(2024年2月時点)において、7個のワークロードが統合されています。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234723.png" width="612" height="157" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234743.png" width="612" height="158" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234802.png" width="613" height="156" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234822.png" width="615" height="157" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234839.png" width="609" height="157" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234900.png" width="609" height="156" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240226/20240226234919.png" width="606" height="171" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><br /></p> <h4 id="Microsoft-Fabric-メリット"><strong>Microsoft Fabric メリット</strong></h4> <p>Microsoft Fabric は以下の点でメリットがあるのではないかと思います。</p> <ul> <li><strong>共通のインターフェースによるデータ分析が可能</strong><br />・データエンジニア、データサイエンティスト、データアナリスト、データ スチュワードなどの異なるロールのエンジニアが共通のインターフェーズ上でデータの取得、加工、分析、視覚化を実施することが可能となり、効率的に各エンジニア間のやり取りを進めることが可能。<br /><br /></li> <li><strong>各ワークロードで Microsoft Fabric の コンピューティング プール を共有して利用が可能 (最小分単位の従量課金もしくは予約)<br /><br /></strong></li> <li><strong>OneLake によるデータ統合が可能<br /></strong>・統合されたすべてのワークロードは、OneLake 上に配置されたデータを共有して利用可能。<br />・Microsoft 365 とも統合されており、Microsoft 365 上のデータ (洞察データなど) をシームレスに取得可能。<br />・ミラーリング機能により、Azure CosmosDB、Azure SQL Database、Mongo DB、Snowflake などのデータを OneLake 上に複製および自動同期させることで、ほぼリアルタイムのデータを分析可能。<br /><br /></li> <li><strong>OneLake ショートカット機能によるデータアクセスが可能</strong><br />・Azure Data Lake Storage Gen2、Dataverse、Amazon S3、Google Storage 上のファイルを OneLake にコピーすることなくアクセスして利用することが可能。<br /><br /></li> <li><strong>Azure AI Studio、Azure OpenAI、Azure Databricks などのその他 Azure サービスから安全に OneLake 上のデータにアクセスすることが可能。<br /><br /></strong></li> <li><strong>Copilot in Microsoft Fabric により各ワークロードの作業の効率化が可能 (コードの自動生成など)<br /><br /></strong></li> <li><strong>OneLake を 生成AI アプリケーションの RAG データソースとして利用可能。</strong><br /><br /></li> <li><strong>Azure AI の各種サービス (Azure OpenAI、Text Analytics、Azure AI Translator など) の事前構築済みの AI モデルを Microsoft Fabric 上 (Notebook など) で利用することが可能 。</strong></li> </ul> <h4 id="まとめ"><strong>まとめ</strong></h4> <p>今回は、Microsoft Fabric の概要についてまとめてみました。Microsoft Fabric の OneLake にデータを統合することで、効率的なデータの取得、加工、分析、可視化が可能となったり、異なるロールを持つエンジニア間の連携がスムーズになったり、Azure AI (Azure OpenAI 含む)、Microsoft 365 と密に統合されているため、統合したデータの AI 分析などが簡易に実現できる点などの様々なメリットがあるのではないかと思います。</p> <p>また、各ワークロードで利用される コンピューティング リソース についても、Microsoft Fabric でプールされているリソースを共有して利用でき、かつ、最小 分単位の従量課金で利用できる点も良い点だと思います。</p> <p>次回以降で、OneLake についてもう少し詳しく整理してみようと思います。<br /><br /></p> <blockquote> <p><strong>【第2回】基本から始める Microsoft Fabric【試用版申し込み】</strong>へ</p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ffab02" title="【第2回】基本から始める Microsoft Fabric【試用版申し込み】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"><a href="https://qtwy.bokepmobile.site/entry/fab02">qtwy.bokepmobile.site</a></cite></p> </blockquote> <p> </p> <p><strong>※ 2024年2月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189071804621 2024-01-03T01:03:59+09:00 2024-02-25T14:20:48+09:00 Azure 分析基盤サービスとして以下のような様々なサービスが存在します。 Azure Databricks Microsoft Fabric Azure Synapse Analytics HDInsight Azure Stream Analytics Azure Data Lake Analytics 今回は、その中の一つである「Azure Databricks」について、自分の整理も兼ねてまとめてみようと思います。 Azure Databricks とは Azure Databricks の特徴 Azure Databricks のアーキテクチャ Azure Databricks コン… <p>Azure 分析基盤サービスとして以下のような様々なサービスが存在します。</p> <ul> <li>Azure Databricks</li> <li>Microsoft Fabric</li> <li>Azure Synapse Analytics</li> <li>HDInsight</li> <li>Azure Stream Analytics</li> <li>Azure Data Lake Analytics</li> </ul> <p>今回は、その中の一つである「<strong>Azure Databricks</strong>」について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-Databricks-とは">Azure Databricks とは</a></li> <li><a href="#Azure-Databricks-の特徴">Azure Databricks の特徴</a></li> <li><a href="#Azure-Databricks-のアーキテクチャ">Azure Databricks のアーキテクチャ</a><ul> <li><a href="#Azure-Databricks-コントロール-プレーン">Azure Databricks コントロール プレーン</a></li> <li><a href="#Azure-Databricks-コンピューティング-プレーン">Azure Databricks コンピューティング プレーン</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> <li><a href="#参考URL">参考URL</a></li> </ul> <p> </p> <h4 id="Azure-Databricks-とは"><strong>Azure Databricks とは</strong></h4> <p>Databricks は データの取り込み (ETL)、分析、AI (生成AI)、機械学習 (Machine Learning)、BI (Business Intelligence) 、データ ガバナンス などの機能が統合された分析基盤サービス (レイクハウス プラットホーム) になります。</p> <p>そして、<span style="text-decoration: underline;"><strong>Azure Databricks は、Azure 基盤に最適化され、Azure サービスと簡易に連携可能な フルマネージドの Databricks サービス</strong></span>となります。</p> <p> </p> <h4 id="Azure-Databricks-の特徴"><strong>Azure Databricks の特徴</strong></h4> <ul> <li>データ分析に必要となる機能 (ETL、AI、DWH、ML、BI、データ ガバナンス など)が一つの共通プラットホームに統合され、構造化、半構造化、非構造化、ストリーミング データの分析が可能</li> <li>OSS (Apache Spark, DELTA LAKE, Koalas, Redash など) 製品を SaaS としてラッピングすることで簡易に利用することが可能<br />※ Apache Spark については パフォーマンス チューニング が施されている。</li> <li>データ エンジニア、データ アナリスト、データ サイエンティストなどの異なる役割をもったチーム間で共同で作業が可能</li> </ul> <p> </p> <h4 id="Azure-Databricks-のアーキテクチャ"><strong>Azure Databricks のアーキテクチャ</strong></h4> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20240103/20240103003852.png" width="660" height="424" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>参考URL : <a href="https://learn.microsoft.com/ja-jp/azure/databricks/getting-started/overview?wt.mc_id=DP-MVP-5004154" target="_blank">Azure Databricks アーキテクチャの概要 - Azure Databricks | Microsoft Learn</a></p> <p> </p> <h5 id="Azure-Databricks-コントロール-プレーン">Azure Databricks コントロール プレーン</h5> <p>Azure Databricks サービス Web アプリケーション、ノートブック、ジョブスケジュールのメタデータ、クラスタのメタデータを保持している。</p> <p> </p> <h5 id="Azure-Databricks-コンピューティング-プレーン">Azure Databricks コンピューティング プレーン</h5> <p>Apache Spark、ノートブック、ジョブなどを実行するためのコンピューティング リソース、ストレージを保持している。</p> <p><strong>※ 但し、Databricks SQL サーバーレス などについては、Azure Databricks コントロール プレーン側のコンピューティング リソースが使用されるようです。</strong></p> <p>Azure Databricks ワークスペースを独自のAzure 仮想ネットワークにデプロイすると、該当のAzure 仮想ネットワーク内に Azure Databricks ワークスペースがデプロイされます。</p> <p> </p> <h4 id="まとめ"><strong>まとめ</strong></h4> <p>今回は、「<strong>Azure Databricks</strong>」の簡易的なアーキテクチャについてまとめてみました。</p> <p>「<strong>Azure Databricks</strong>」では、パフォーマンス チューニングされた Apache Spark を利用できたり、データ分析に必要となる機能 (ETL、AI、DWH、ML、BI、データ ガバナンス など)が一つの共通プラットホームに統合され、構造化、半構造化、非構造化、ストリーミング データの分析が可能なサービスとなっています。</p> <p>また、OSS がベースになっているため、移植性 (ポータビリティ) という意味でも優位性があり、更にAzure 関連サービスとの柔軟な連携が可能となっている点に優位性があるのではないかと思います。</p> <p> </p> <h4 id="参考URL"><strong>参考URL</strong></h4> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fdatabricks%2Fgetting-started%2Foverview%3Fwt.mc_id%3DDP-MVP-5004154" title="Azure Databricks アーキテクチャの概要 - Azure Databricks" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fdatabricks%2Fserverless-compute%2F%3Fwt.mc_id%3DDP-MVP-5004154" title="サーバーレス コンピューティング - Azure Databricks" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fdatabricks%2Fcompute%2Fsql-warehouse%2Fserverless%3Fwt.mc_id%3DDP-MVP-5004154" title="サーバーレス SQL ウェアハウスを使用する - Azure Databricks" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2024年1月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189071556859 2024-01-01T19:26:37+09:00 2024-01-01T19:26:37+09:00 Ignite 2023 では、生成AI (LLM) , Copilot などの AI サービスで盛り上がりましたが、データ プラットホーム (Data Platform) 分野でも新機能が発表されました。 今回は Azure Database for PostgreSQL の新機能について、自身の整理も兼ねてまとめてみようと思います。 Azure Database for PostgreSQL とは Azure Database for PostgreSQL 新機能 (Ignite 2023) Premium SSD v2 P80 (プレビュー) Azure AI 拡張機能 (プレビュー) p… <p>Ignite 2023 では、生成AI (LLM) , Copilot などの AI サービスで盛り上がりましたが、データ プラットホーム (Data Platform) 分野でも新機能が発表されました。</p> <p>今回は <span style="text-decoration: underline;"><strong>Azure Database for PostgreSQL の新機</strong><strong>能</strong></span>について、自身の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-Database-for-PostgreSQL-とは">Azure Database for PostgreSQL とは</a></li> <li><a href="#Azure-Database-for-PostgreSQL-新機能-Ignite-2023">Azure Database for PostgreSQL 新機能 (Ignite 2023)</a><ul> <li><a href="#Premium-SSD-v2-P80-プレビュー">Premium SSD v2 P80 (プレビュー)</a></li> <li><a href="#Azure-AI-拡張機能-プレビュー">Azure AI 拡張機能  (プレビュー)</a></li> <li><a href="#pgvector-051-サポート-GA">pgvector 0.5.1 サポート (GA)</a></li> <li><a href="#Near-Zero-ダウンタイム-スケーリング-GA">Near Zero ダウンタイム スケーリング (GA)</a></li> <li><a href="#pg_azure_storage-プレビュー-および-tds_fdw-GA-拡張機能">pg_azure_storage (プレビュー) および tds_fdw (GA) 拡張機能</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Azure-Database-for-PostgreSQL-とは">Azure Database for PostgreSQL とは</h4> <p>Azure Database for PostgreSQL は、オープンソース リレーショナル データベースである PostgreSQL をベースとした クラウド フルマネージドの リレーショナル データベース サービス です。</p> <p><strong>Azure Database for PostgreSQL - フレキシブル サーバー</strong> (Linux 基盤) では、PostgreSQL 12以上のバージョンを利用かつ、可用性ゾーンにまたがる高可用性を構成することが可能です。また、サーバーを停止/起動する機能によるコストの最適化も実施することができるため、新たに Azure Database for PostgreSQL をデプロイする場合は、高可用性を構成しない場合においても、基本的には Azure Database for PostgreSQL - フレキシブル をデプロイすることになるかと思います。</p> <p> </p> <h4 id="Azure-Database-for-PostgreSQL-新機能-Ignite-2023">Azure Database for PostgreSQL 新機能 (Ignite 2023)</h4> <h5 id="Premium-SSD-v2-P80-プレビュー">Premium SSD v2 P80 (プレビュー)</h5> <p>ミリ秒以下のディスク レイテンシーかつ、<strong>IO集約型ワークロード向けに P80 (20,000 IOPS) がプレビュー機能として選択が可能</strong>となりました。</p> <p>現時点 (2024年1月) の制約としては、以下の機能が利用できないようです。</p> <ul> <li><strong>ストレージの自動拡張機能が利用できない。</strong></li> <li><strong>高可用性が利用できない。</strong></li> </ul> <p>そのため、現時点のユースケースとしては、データ移行などの一時的な処理時間の短縮などの利用が最適のようです。</p> <p> </p> <h5 id="Azure-AI-拡張機能-プレビュー">Azure AI 拡張機能  (プレビュー)</h5> <p>本機能はプレビュー機能 (2024年1月時点) となりますが、Azure AI 用 Azure Database for PostgreSQL 拡張機能を有効化することで、データベース内で Azure OpenAI や Azure Cognitive Services などのサービスを読み出すことができるようになりました。</p> <p>例えば、効率的な類似性検索を可能とする LLM ベースのベクトル埋め込みを生成したり、Azure AI Language を利用した センチメント分析、言語検出、エンティティ認識などを利用することができるようです。</p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fpostgresql%2Fflexible-server%2Fgenerative-ai-azure-overview%3Fwt.mc_id%3DDP-MVP-5004154" title="Azure Database for PostgreSQL の Azure AI 拡張機能- フレキシブル サーバー" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fpostgresql%2Fflexible-server%2Fgenerative-ai-azure-openai%3Fwt.mc_id%3DDP-MVP-5004154" title="Azure Database for PostgreSQL フレキシブル サーバーで Azure OpenAI を使用してベクトル埋め込みを生成する" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fpostgresql%2Fflexible-server%2Fconcepts-extensions%23how-to-use-postgresql-extensions%3Fwt.mc_id%3DDP-MVP-5004154" title="拡張機能 - Azure Database for PostgreSQL - フレキシブル サーバー" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="pgvector-051-サポート-GA">pgvector 0.5.1 サポート (GA)</h5> <p>最新のオープンソースバージョンの「<strong>pgvector</strong>」が Azure Database for PostgreSQL - フレキシブル サーバーで GA となったようです。</p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fpostgresql%2Fflexible-server%2Fhow-to-use-pgvector%3Fwt.mc_id%3DDP-MVP-5004154" title="pgvector を有効にして使用する方法 - Azure Database for PostgreSQL - フレキシブル サーバー" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="Near-Zero-ダウンタイム-スケーリング-GA">Near Zero ダウンタイム スケーリング (GA)</h5> <p>Azure Database for PostgreSQL - フレキシブル サーバー で、コンピュート や ストレージのサイズを変更の際に、アプリケーションからのダウンタイムを30秒未満にするという機能が GA となったようです。</p> <p>今までは 2~10分程度、スケーリングに時間を要していたので、可用性が大幅に向上する機能だと思います。</p> <p> </p> <h5 id="pg_azure_storage-プレビュー-および-tds_fdw-GA-拡張機能">pg_azure_storage (プレビュー) および tds_fdw (GA) 拡張機能</h5> <p>Azure クラウド ストレージとPostgreSQL間のデータのロード/エクスポートを簡素化するための拡張機能「<strong>pg_azure_storage</strong>」がプレビューとして、および、Microsoft SQL Server に保存されたデータをクエリするための外部データ ラッパーを利用可能とする拡張機能「<strong>tds_fdw</strong>」が GA となったようです。</p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は Microsoft Ignite 2023 で発表された <span style="text-decoration: underline;"><strong>Azure Database for PostgreSQL の新機</strong><strong>能</strong></span>についてまとめてみました。</p> <p>AI サービスとの連携であったり、拡張機能の拡充、パフォーマンスの改善など様々なアップデートがあり、ますます便利になってきましたね。</p> <p>オンプレミス PostgreSQL (Linux) の移行先としても、Azure Database for PostgreSQL は最適な移行先の一つになるかと思いますので、移行先として検討していきたいと思います。</p> <p> </p> <p><strong>※ 2024年1月時点</strong></p> <p> </p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189066223528 2023-12-16T16:11:26+09:00 2023-12-16T16:11:26+09:00 Ignite 2023 では、生成AI (LLM) , Copilot などの AI サービスで盛り上がりましたが、データ プラットホーム (Data Platform) 分野でも新機能が発表されました。 今回は Azure Cosmos DB の新機能について、自身の整理も兼ねてまとめてみようと思います。 Azure Cosmos DB とは Azure Cosmos DB 新機能 (Ignite 2023) リージョンごとおよびパーティションごとの自動スケーリング (プレビュー) Microsoft Copilot for Azure機能 in Azure Cosmos DB (プレビュー… <p>Ignite 2023 では、生成AI (LLM) , Copilot などの AI サービスで盛り上がりましたが、データ プラットホーム (Data Platform) 分野でも新機能が発表されました。</p> <p>今回は <span style="text-decoration: underline;"><strong>Azure Cosmos DB の新機</strong><strong>能</strong></span>について、自身の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-Cosmos-DB-とは">Azure Cosmos DB とは</a></li> <li><a href="#Azure-Cosmos-DB-新機能-Ignite-2023">Azure Cosmos DB 新機能 (Ignite 2023)</a><ul> <li><a href="#リージョンごとおよびパーティションごとの自動スケーリング-プレビュー">リージョンごとおよびパーティションごとの自動スケーリング (プレビュー)</a></li> <li><a href="#Microsoft-Copilot-for-Azure機能-in-Azure-Cosmos-DB-プレビュー">Microsoft Copilot for Azure機能 in Azure Cosmos DB  (プレビュー)</a></li> <li><a href="#Azure-Cosmos-DB-for-MongoDB-仮想コア-ベクトル検索">Azure Cosmos DB for MongoDB 仮想コア ベクトル検索</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Azure-Cosmos-DB-とは">Azure Cosmos DB とは</h4> <p>Azure Cosmos DB は、リレーショナル (PostgreSQL)、ドキュメント (MongoDB)、ベクトル (NoSQL/MongoDB/PostgreSQL)、キーバリュー (NoSQL/Cassandra )、グラフ (Gremlin)、テーブル (Table) を含む、すべてのオペレーショナル データ モデルに対応した フルマネージドのデータベース サービスです。</p> <p>AI、IoT、予約管理などのクラウドネイティブなアプリケーションに最適なデータベース サービス となります。</p> <p> </p> <h4 id="Azure-Cosmos-DB-新機能-Ignite-2023">Azure Cosmos DB 新機能 (Ignite 2023)</h4> <h5 id="リージョンごとおよびパーティションごとの自動スケーリング-プレビュー"> <br />リージョンごとおよびパーティションごとの自動スケーリング (プレビュー)</h5> <p>本機能はプレビュー機能 (2023年12月時点) となりますが、<span style="text-decoration: underline;"><strong>最も処理量が多いリージョンやパーティションに基づいて、自動的にワークロードをスケーリングする機能</strong></span>が登場しました。</p> <p>この機能は、リージョン間やパーティション間でワークロードに大きな差異がある場合、例えば、ホットパーティションが頻繁に発生したり、特定のリージョンのみワークロードが高い状況が頻繁に発生する場合、特にコスト削減の効果があるようです。</p> <p> </p> <p>現時点においてプレビュー機能であるため、本機能を利用するためには、Azure 管理ポータル - 該当 Azure Cosmos DB アカウント - 設定 - 機能 より、「<strong>per Region and Per Partition Autoscale (preview)</strong>」を有効化する必要があります。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231212/20231212204757.png" width="696" height="361" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231212/20231212204846.png" width="562" height="356" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231212/20231212205123.png" width="707" height="361" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fcosmos-db%2Fautoscale-per-partition-region%3Fwt.mc_id%3DDP-MVP-5004154" title="リージョンごとおよびパーティションごとの自動スケーリング (プレビュー) - Azure Cosmos DB" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="Microsoft-Copilot-for-Azure機能-in-Azure-Cosmos-DB-プレビュー">Microsoft Copilot for Azure機能 in Azure Cosmos DB  (プレビュー)</h5> <p>本機能はプレビュー機能 (2023年12月時点) となりますが、<strong><span style="text-decoration: underline;">Microsoft Copilot for Azure 機能を利用した Azure Cosmos DB のクエリ自動生成機能</span> </strong>が登場しました。</p> <p>現時点において (2023年12月時点)、言語は英語のみがサポートされているようです。</p> <p>「Show me all the name starting with DATA」という要求したところ、「<span style="color: #0000ff;">SELECT</span><span style="color: #000000;"> c.</span><span style="color: #0000ff;">name</span><span style="color: #000000;"> </span><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> c </span><span style="color: #0000ff;">WHERE</span><span style="color: #000000;"> STARTSWITH(c.</span><span style="color: #0000ff;">name</span><span style="color: #000000;">, </span><span style="color: #ff0000;">'DATA'</span><span style="color: #000000;">)</span><span style="white-space: pre;">」というクエリが自動生成されました。</span><span style="white-space: pre;">AIを組み合わせることで開発効率が向上しますね。</span></p> <p>本機能を利用する簡易手順を以下に記載します。</p> <p> </p> <p>1) Azure 管理ポータル - サブスクリプション - 該当サブスクリプション - 設定 -「プレビュー機能」を選択後、「<strong>Microsoft Copilot for Azure in Cosmos DB</strong>」を選択し、「+ 登録」を押下します。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231214/20231214144410.png" width="1157" height="507" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231214/20231214144753.png" width="611" height="32" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br />2) Azure 管理ポータル - Azure Cosmos DB - 該当アカウント -「データ エクスプローラ」を選択し、「<strong>Query faster with Copilot</strong>」を選択します。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231214/20231214153014.png" width="1001" height="576" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>3) Copilot 欄に要求 (今回は「Show me all the name starting with DATA」) を記載して実行ボタンを押下します。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231214/20231214153642.png" width="657" height="271" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>4) クエリが自動生成されたことを確認します。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231214/20231214154350.png" width="726" height="249" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="Azure-Cosmos-DB-for-MongoDB-仮想コア-ベクトル検索">Azure Cosmos DB for MongoDB 仮想コア ベクトル検索</h5> <p>Azure Cosmos DB for MongoDB 仮想コアで、ベクトル検索のために別製品(サービス)にデータを転送することなく、高次元のベクトルデータの効率的な保存、インデックス付け、および、クエリを実行することができるようになりました。</p> <p>但し、現時点 (2023年12月) において、Azure Cosmos DB for MongoDB 仮想コア (vCore cluster) のデプロイが可能なリージョンは限定されており、Japan East/West リージョンではデプロイすることは出来ません。</p> <p> </p> <p><strong>ベクター検索とは</strong></p> <p>プロパティ フィールドの完全一致による検索ではなく、データ特性に基づいて類似の項目を検索することに便利な検索になります。</p> <p>ユースケースとしては、類似したテキストの検索、お勧め候補の作成、異常検出などのアプリケーションで利用されることが多い検索になります。</p> <p> </p> <p><strong>MongoDBとは</strong></p> <p>NoSQLの中でも「<strong>ドキュメント指向データベース</strong>」という位置づけのデータベースとなり、JSON形式などの階層構造をもったデータをそのまま格納することが可能なデータベース になります。</p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fcosmos-db%2Fmongodb%2Fvcore%2Fvector-search%3Fwt.mc_id%3DDP-MVP-5004154" title="ベクトル検索 - Azure Cosmos DB for MongoDB vCore" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は Microsoft Ignite 2023 で発表された <span style="text-decoration: underline;"><strong>Azure Cosmos DB の新機</strong><strong>能</strong></span>についてまとめてみました。</p> <p>「<strong>Microsoft Copilot for Azure 機能を利用した Azure Cosmos DB のクエリ自動生成機能</strong>」 や、「<strong>Azure Cosmos DB for MongoDB 仮想コア ベクトル検索</strong>」など、続々と便利な機能が公開されています。アプリケーションに最適なデータストアを判断する材料として、Azure Cosmos DB を検証してみると良いかと思います。</p> <p> </p> <p><strong>※ 2023年12月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189066013379 2023-12-12T00:08:17+09:00 2023-12-12T15:52:01+09:00 Ignite 2023 では、生成AI (LLM) , Copilot などの AI サービスで盛り上がりましたが、データ プラットホーム (Data Platform) 分野でも新機能が発表されました。 今回は Azure SQL Managed Instance の新機能について、自身の整理も兼ねてまとめてみようと思います。 Azure SQL Managed Instance とは Azure SQL Managed Instance 新機能 (Ignite 2023) Azure SQL Managed Instance 無償トライアル Azure SQL Managed Instan… <p>Ignite 2023 では、生成AI (LLM) , Copilot などの AI サービスで盛り上がりましたが、データ プラットホーム (Data Platform) 分野でも新機能が発表されました。</p> <p>今回は <span style="text-decoration: underline;"><strong>Azure SQL Managed Instance の新機</strong><strong>能</strong></span>について、自身の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-SQL-Managed-Instance-とは">Azure SQL Managed Instance とは</a></li> <li><a href="#Azure-SQL-Managed-Instance-新機能-Ignite-2023">Azure SQL Managed Instance 新機能 (Ignite 2023)</a><ul> <li><a href="#Azure-SQL-Managed-Instance-無償トライアル">Azure SQL Managed Instance 無償トライアル</a></li> <li><a href="#Azure-SQL-Managed-Instance-開始停止">Azure SQL Managed Instance 開始/停止</a></li> <li><a href="#Azure-SQL-Managed-Instance-高速デプロイ機能-30分以内">Azure SQL Managed Instance 高速デプロイ機能 (30分以内)</a></li> <li><a href="#Azure-SQL-Managed-Instance-ゾーン冗長機能">Azure SQL Managed Instance ゾーン冗長機能</a></li> <li><a href="#Azure-SQL-Managed-Instance-分散トランザクション機能">Azure SQL Managed Instance 分散トランザクション機能</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> <li><a href="#参考URL">参考URL</a></li> </ul> <p> </p> <h4 id="Azure-SQL-Managed-Instance-とは">Azure SQL Managed Instance とは</h4> <p>Azure SQL Managed Instance は、<strong><span style="text-decoration: underline;">オンプレミス SQL Server Enterprise Edition エンジンとほぼ100%に近い互換性をもつクラウド データベース サービス (PaaS)</span></strong>であり、CLR統合機能(CLR関数)などの特殊な機能を使用している場合、<span style="text-decoration: underline;"><strong>オンプレミス SQL Server データベースを可能な限り手間を掛けずに Azure 上に移行したい場合に最適</strong></span>です。</p> <p>オンプレミス SQL Server の完全バックアップからデータ移行したり、Azure Data Migration Service や Managed Instance リンク などを利用することで、ダウンタイム無しにデータ移行を実現することも可能です。</p> <p> </p> <h4 id="Azure-SQL-Managed-Instance-新機能-Ignite-2023">Azure SQL Managed Instance 新機能 (Ignite 2023)</h4> <h5 id="Azure-SQL-Managed-Instance-無償トライアル">Azure SQL Managed Instance 無償トライアル</h5> <p>近日中、Azure SQL Managed Instance を Poc (概念実装) や アプリケーション テスト目的として、以下の範囲で 12ヶ月間無償で利用可能になることが発表されました。</p> <p><strong>【無料トライアル リソース】</strong></p> <ul> <li><strong>仮想コア : 4 仮想コア もしくは 8 仮想コア (720 仮想コア時間/月 まで)</strong></li> <li><strong>データ ストレージ : 64 GB</strong></li> <li><strong>バックアップ ストレージ : 64 GB<br /></strong></li> </ul> <p> </p> <h5 id="Azure-SQL-Managed-Instance-開始停止">Azure SQL Managed Instance 開始/停止</h5> <p><strong><span style="text-decoration: underline;">Azure SQL Managed Instance の仮想コア利用料、SQL Server ライセンス 利用料を節約するため、Azure SQL Managed Instance を自由に開始/停止できる</span></strong>ようになりました。</p> <p>Azure 管理ポータル や Azure CLI/PowerShell から簡単に Azure SQL Managed Instance の 開始/停止 を実施することが出来るようになっています。<br /><br /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231212/20231212145913.png" width="919" height="331" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231212/20231212150028.png" width="341" height="102" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><span style="color: #0000cc;">※ 開始には 20分 程度の時間を要する点には注意が必要そうです。</span><br /><br /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231212/20231212154837.png" width="745" height="333" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="Azure-SQL-Managed-Instance-高速デプロイ機能-30分以内">Azure SQL Managed Instance 高速デプロイ機能 (30分以内)</h5> <p>現時点においては、以下の制約がありますが、<span style="text-decoration: underline;"><strong>Azure SQL Managed Instance のデプロイが 30分以内に完了するという機能</strong></span>です。</p> <p>今までは、初回 仮想ネットワークの新しいサブネット上で Azure SQL Managed Instance デプロイ時、デプロイ完了までに 6時間程度の時間を要していたので、DR戦略として バックアップ/リストア 手法を選択することが難しかったのですが、今後はより柔軟なDR戦略を立てることができるのではないかと思います。</p> <p><strong>【制約】(2023/12月時点)</strong></p> <ul> <li>仮想コア : 4 仮想コア もしくは 8 仮想コア</li> <li>サービス レベル : General Purpose</li> <li>メンテナンス期間 : 既定のまま</li> </ul> <p> </p> <h5 id="Azure-SQL-Managed-Instance-ゾーン冗長機能">Azure SQL Managed Instance ゾーン冗長機能</h5> <p>Azure SQL Managed Instance Business Critical で ゾーン冗長が GA となり、General Purpose では 本機能がパブリック プレビューとなったようです。</p> <p>ゾーン冗長を構成することで、<span style="text-decoration: underline;"><strong>ゾーン障害 (Azure 東倭国リージョンでは 3つの可用性ゾーンが存在) が発生したとしても DR が発動することなく、同一リージョン内で データベース サービス を継続できる</strong></span>など、高可用性が求められる求められるシステムで採用しやすくなったと思います。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231211/20231211233702.png" width="716" height="528" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="Azure-SQL-Managed-Instance-分散トランザクション機能">Azure SQL Managed Instance 分散トランザクション機能</h5> <p>Azure SQL Managed Instance で分散トランザクション(DTC : Distributed Transaction Coordinator) 機能が GA となったようです。</p> <p>オンプレミスの SQL Server では MS DTC を利用した分散トランザクションを実装したアプリケーションを利用していた方もおられると思いますが、<span style="text-decoration: underline;"><strong>Azure SQL Managed Instance においても ODBC/JDBC ドライブの XA トランザクション、T-SQL や .NET ベースの分散トランザクションのすべてをサポートする</strong></span>ようです。</p> <p>分散トランザクションを利用したアプリケーションが動作する環境においても、Azure上の仮想マシンに SQL Server をインストールしなくても、クラウド データベース サービス (PaaS) へ移行が可能となるため、より柔軟な Azure 移行が実現できるようになったと思います。</p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は Azure SQL Managed Instance の新機能についてまとめてみました。Azure SQL Managed Instance は数年前と比べて、かなり利用しやすくなったと思います。</p> <p>オンプレミス環境で SQL Server を利用しており、クラウドへ移行することを検討されている場合は、選択肢の一つとして Azure SQL Managed Instance を検討してみると良いかと思います。</p> <p> </p> <h4 id="参考URL">参考URL</h4> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fazure-sql-blog%2Fannouncing-general-availability-of-stop-start-capability-for%2Fba-p%2F3983362%3Fwt.mc_id%3DDP-MVP-5004154" title="Announcing General Availability of Stop-Start capability for Azure SQL Managed Instance" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fazure-sql-blog%2Fprovision-sql-managed-instance-in-under-30-minutes%2Fba-p%2F3677823%3Fwt.mc_id%3DDP-MVP-5004154" title="Provision SQL Managed Instance in under 30 minutes" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fazure-sql-blog%2Fannouncing-general-availability-of-zone-redundancy-for-azure-sql%2Fba-p%2F3982995%3Fwt.mc_id%3DDP-MVP-5004154" title="Announcing General Availability of Zone Redundancy for Azure SQL Managed Instance Business Critical" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fazure-sql-blog%2Fga-of-dtc-for-azure-sql-managed-instance%2Fba-p%2F3983472%3Fwt.mc_id%3DDP-MVP-5004154" title="GA of DTC for Azure SQL Managed Instance" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2023年12月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189062729216 2023-11-30T15:52:25+09:00 2023-11-30T15:52:25+09:00 プレビュー機能として Azure SQL Database 無料プランが登場しました。 Azure SQL Database を利用した PoC (概念実証) や アプリケーション開発が必要な人向けに設定されているとのことです。 今回は Azure SQL Database 無料プランで Azure SQL Database をデプロイする方法について、自身の整理も兼ねてまとめてみようと思います。 Azure SQL Database 無料プランについて 無料プラン枠 無料プランオプション 仮想コア秒の算出方法 仮想コア秒の使用量確認方法 Azure SQL Database 無料プランでデー… <p>プレビュー機能として Azure SQL Database 無料プランが登場しました。</p> <p>Azure SQL Database を利用した PoC (概念実証) や アプリケーション開発が必要な人向けに設定されているとのことです。</p> <p>今回は Azure SQL Database 無料プランで Azure SQL Database をデプロイする方法について、自身の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-SQL-Database-無料プランについて">Azure SQL Database 無料プランについて</a><ul> <li><a href="#無料プラン枠">無料プラン枠</a></li> <li><a href="#無料プランオプション">無料プランオプション</a></li> <li><a href="#仮想コア秒の算出方法">仮想コア秒の算出方法</a></li> <li><a href="#仮想コア秒の使用量確認方法">仮想コア秒の使用量確認方法</a></li> </ul> </li> <li><a href="#Azure-SQL-Database-無料プランでデータベース作成">Azure SQL Database 無料プランでデータベース作成</a></li> <li><a href="#まとめ">まとめ</a></li> <li><a href="#参考情報">参考情報</a></li> </ul> <p> </p> <h4 id="Azure-SQL-Database-無料プランについて">Azure SQL Database 無料プランについて</h4> <p>Azure SQL Database 無料プランは、フルマネージド PaaS データベース エンジンである <strong>Azure SQL Database を毎月、無料プランの枠内で利用可能となるプラン</strong>です。</p> <p>つまり、1ヶ月の無料枠を使っても、次の月にはクリアされるため、<strong>毎月 無料枠の範囲で Azure SQL Database が永続的に利用可能</strong>になります。</p> <p>無料枠の内容、無料プランのオプションなどをまとめてみます。</p> <p> </p> <h5 id="無料プラン枠">無料プラン枠</h5> <ul> <li><strong>Azure SQL Database General Purpose サーバーレス</strong></li> <li><strong>100,000 仮想コア秒/毎月</strong></li> <li><strong>最小仮想コア数 : 0.5、 最大仮想コア数 : 4</strong></li> <li><strong>最小メモリ : 2.1 GB、最大メモリ : 12 GB</strong></li> <li><strong>最大データベースサイズ : 32 GB</strong></li> <li><strong>ゾーン冗長機能 : 無</strong></li> <li><strong>バックアップ ストレージ : ローカル冗長バックアップ</strong></li> <li><strong>ポイントインタイム リストア (PITR) : 7日間</strong></li> <li><strong>エラスティック プール : 利用不可</strong></li> <li><strong>自動フェイルオーバー グループ機能 : 利用不可</strong></li> <li><strong>Azure サブスクリプションに 1個のみデプロイ可能</strong></li> </ul> <p>※ 毎月 100,000 仮想コア秒の制限があるため、<strong>仮想コア数が高くなる処理を実施すると仮想コア秒が多く消費され、100,000 仮想コア秒の制限に早く到達</strong>することになります。</p> <p> </p> <h5 id="無料プランオプション">無料プランオプション</h5> <p>Azure SQL Database 無料プランでは2つのオプションを選択することができます。</p> <ol> <li>無料枠到達時「<strong>来月までデータベースを自動一時停止する</strong>」<br /> 無料枠到達後は来月までデータベースが利用できなくなります。<br /><br /></li> <li>無料枠到達時「<strong style="box-sizing: inherit; outline-color: inherit; font-weight: 600; color: #161616; font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">追加料金でデータベースの使用を続行する</strong>」<br /> 無料枠到達後も追加料金が発生するがデータベースを利用することが可能になります。<br />※ 現時点において、一度「<strong style="box-sizing: inherit; outline-color: inherit; font-weight: 600; color: #161616; font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">追加料金でデータベースの使用を続行する</strong>」を選択すると、「<strong>来月までデータベースを自動一時停止する</strong>」に戻すことが出来なくなる点に注意が必要です。</li> </ol> <p> </p> <h5 id="仮想コア秒の算出方法">仮想コア秒の算出方法</h5> <p>仮想コア秒 計算式 : <strong>(最小仮想コア数、使用された仮想コア数、最小メモリ GB * 1/3、使用されたメモリ GB * 1/3) の内、最も最大となる値 * 稼働時間</strong></p> <p> </p> <p><strong>[例] 0:00-1:00 (1h) の Azure SQL Database サーバーレス 稼働状況が以下の場合</strong></p> <p>最小仮想コア : <strong>1</strong></p> <p>最大仮想コア : <strong>4</strong></p> <p>最小メモリ :  <strong>2.1 GB</strong></p> <p>最大メモリ : <strong>12 GB</strong></p> <p>使用された仮想コア数(1秒あたりの平均) : <strong>3</strong></p> <p>使用されたメモリ(1秒あたりの平均) : <strong>6 GB</strong></p> <p> </p> <p>仮想コア秒 計算式 : (最小仮想コア数: 1,  <strong>使用された仮想コア数: 3</strong>,  最小メモリ*1/3: 0.7, 使用されたメモリ*1/3; 2) * 1時間 (3600秒)</p> <p>※ 使用された仮想コア数: 3 が最も大きな値となるため、3 * 3600 = 10,800 と、本例の場合の <span style="text-decoration: underline;"><strong>仮想コア秒は 10,800 秒</strong></span>となる。</p> <p> </p> <h5 id="仮想コア秒の使用量確認方法">仮想コア秒の使用量確認方法</h5> <p>Azure 管理ポータル - SQL データベース - 該当データベース - 監視 - メトリック で以下のメトリックを確認することで、<strong>無料枠の仮想コア秒の残り時間を確認</strong>することができます。</p> <ul> <li>メトリック : <strong>Free amount remaining</strong></li> <li>集計 : <strong>最小値</strong></li> </ul> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231129/20231129233225.png" width="890" height="651" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="Azure-SQL-Database-無料プランでデータベース作成">Azure SQL Database 無料プランでデータベース作成</h4> <p><strong>1) Azure ポータル - SQL Server -「+ データベースの作成」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130144904.png" width="1200" height="416" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) Azure SQL Database 無料プランを利用するため、「Apply offer (Preview)」をまず初めに押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130145204.png" width="1079" height="171" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 「Free database offer applied!」と無料プランが有効になったことを確認後、任意のデータベース名を入力後、「データベースの構成」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130145326.png" width="1200" height="849" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130150006.png" width="580" height="58" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>4) 必要項目を入力後、「適用」を押下します。</strong></p> <ul> <li>Free database offer (Preview) : <strong>Applied</strong></li> <li>Behavior when free offer limit reached : 「<strong>来月までデータベースを自動一時停止する : Auto-pause the database until next month</strong>」or 「<strong>追加料金でデータベースの使用を続行する : Continue using database for additional charges</strong>」<br />※ 本例では「<strong>来月までデータベースを自動一時停止する : Auto-pause the database until next month</strong>」を選択します。</li> <li>最大仮想コア数 : <strong>1 - 4</strong></li> <li>最小仮想コア数 : <strong>0.5 仮想コア (固定)<br /></strong></li> </ul> <p> <strong>※ 最小メモリ、最大メモリは、最大仮想コア数により自動的に増減します。(最大 12GB)</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130151700.png" width="1080" height="713" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130152056.png" width="632" height="278" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /><br /><br /><strong>5) 「確認および作成」を押下後、作成するデータベース情報が正しいことを確認し、「作成」を押下して Azure SQL Database 無料プラン データベースをデプロイします。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130153357.png" width="476" height="441" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130153411.png" width="1200" height="1014" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>6) Azure Data Studio などから デプロイした Azure SQL Database 無料プラン データベースにアクセスし、クエリ動作などを行えることを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231130/20231130153847.png" width="1016" height="546" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は Azure SQL Database 無料プランで Azure SQL Database をデプロイする方法について、まとめてみました。</p> <p>無料枠という制限はありますが、Azure SQL Database を毎月、無料プランの枠内で利用可能となるのは嬉しいですね。</p> <p>Azure SQL Database は、Azure PaaS データベース エンジンの中では最も機能が充実しているため、この機会に利用してみても良いかもしれません。</p> <p> </p> <h4 id="参考情報">参考情報</h4> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fazure-sql%2Fdatabase%2Ffree-offer%3Fwt.mc_id%3DDP-MVP-5004154%26view%3Dazuresql" title="Azure SQL Database の無料プラン - Azure SQL Database" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fazure-sql%2Fdatabase%2Ffree-offer-faq%3Fwt.mc_id%3DDP-MVP-5004154%26view%3Dazuresql" title="Azure SQL Database 無料プランに関してよく寄せられる質問 (FAQ) - Azure SQL" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2023年11月現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189056778933 2023-11-26T15:02:39+09:00 2024-01-25T19:02:21+09:00 Azure 東倭国リージョンにデプロイした Azure Linux 仮想マシンをDR (ディザスタリカバリ) 目的などで別リージョンに複製(コピー) したいことがあるのではないかと思います。 今回は、Azure Linux 仮想マシンを複製して別リージョンでデプロイする方法について、自分の整理も兼ねてまとめてみようと思います。 【前提条件】 Azure Linux 仮想マシンがデプロイされている。 Microsoft Azure Storage Explorer がインストールされた環境より、複製元、複製先の Azure サブスクリプション (Azure Storage アカウント) へアクセ… <p>Azure 東倭国リージョンにデプロイした Azure Linux 仮想マシンをDR (ディザスタリカバリ) 目的などで別リージョンに複製(コピー) したいことがあるのではないかと思います。</p> <p>今回は、Azure Linux 仮想マシンを複製して別リージョンでデプロイする方法について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <p><strong>【前提条件】</strong></p> <ul> <li>Azure Linux 仮想マシンがデプロイされている。</li> <li>Microsoft Azure Storage Explorer がインストールされた環境より、複製元、複製先の Azure サブスクリプション (Azure Storage アカウント) へアクセスが可能となっている。</li> </ul> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fazure.microsoft.com%2Fja-jp%2Fproducts%2Fstorage%2Fstorage-explorer%3Fwt.mc_id%3DDP-MVP-5004154" title="Azure Storage Explorer – クラウド ストレージ管理 | Microsoft Azure" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-Linux-仮想マシンの複製">Azure Linux 仮想マシンの複製</a><ul> <li><a href="#Azure-Linux-仮想マシン-OS-ディスクのスナップショット作成">Azure Linux 仮想マシン OS ディスクのスナップショット作成</a></li> <li><a href="#スナップショット-からの-Azure-Linux-OS-ディスクの作成">スナップショット からの Azure Linux OS ディスクの作成</a></li> <li><a href="#Azure-仮想マシン-OS-ディスクのリージョン間コピー">Azure 仮想マシン OS ディスクのリージョン間コピー</a></li> <li><a href="#別リージョン上にコピーした-Azure-仮想マシン-OS-ディスク-から-Azure-仮想マシン-をデプロイ">別リージョン上にコピーした Azure 仮想マシン OS ディスク から Azure 仮想マシン をデプロイ</a></li> </ul> </li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Azure-Linux-仮想マシンの複製">Azure Linux 仮想マシンの複製</h4> <h5 id="Azure-Linux-仮想マシン-OS-ディスクのスナップショット作成">Azure Linux 仮想マシン OS ディスクのスナップショット作成</h5> <p><strong>1) Azure 管理ポータルから複製する Azure Linux 仮想マシンを停止し、状態が「停止済み (割り当て解除)」になっていることを確認します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231107/20231107133031.png" width="938" height="363" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) 設定 - ディスク を選択後、OS ディスク - 該当のOS ディスク (本例では 「ubje001_OsDisk_1_****」) を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231107/20231107133606.png" width="841" height="293" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 「+ スナップショットの作成」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231107/20231107134226.png" width="784" height="200" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4)  必要項目を入力後、「確認および作成」ボタンを押下し、スナップショットを作成します。</strong></p> <p> </p> <p>名前 : 任意のスナップショット名</p> <p>スナップショットの種類 : フル </p> <p>ストレージの種類 : 任意</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231107/20231107134952.png" width="769" height="711" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="スナップショット-からの-Azure-Linux-OS-ディスクの作成">スナップショット からの Azure Linux OS ディスクの作成</h5> <p><strong>1) Azure 管理ポータルから「スナップショット」で検索を実施し、「スナップショット」サービスを選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231108/20231108141346.png" width="595" height="311" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) 新規マネージドディスク(Azure Linux OS ディスク) のベースとなるスナップショットを選択します。</strong></p> <p>※ 本手順では「ubje001-OsDisk-snap01」を選択します。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231108/20231108141622.png" width="562" height="264" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 「+ ディスクの作成」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231108/20231108142631.png" width="634" height="301" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 必要項目を入力後、「確認および作成」ボタンを押下し、新規マネージドディスク(Azure Linux OS ディスク) を作成します。</strong></p> <p> </p> <p>名前 : 任意のマネージドディスク名</p> <p>可用性ゾーン :  任意</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231108/20231108143456.png" width="759" height="779" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>5) 正常に 新規マネージドディスク(Azure Linux OS ディスク) が作成されたことを確認します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231108/20231108145014.png" width="893" height="484" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="Azure-仮想マシン-OS-ディスクのリージョン間コピー">Azure 仮想マシン OS ディスクのリージョン間コピー</h5> <p>Azure 仮想マシン OS ディスクのリージョン間コピーを実施する方法として、「<strong>Azure CLI</strong>」を利用する方法、「<strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Microsoft Azure Storage Explorer</strong>」を利用する方法などの複数の方法がありますが、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">今回は最も簡易的にコピーを実施することが可能となる 「</span><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Microsoft Azure Storage Explorer</strong><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">」を利用したいと思います。</span></p> <p> </p> <p><strong>※ 詳細な手順については、以下「Azure 仮想マシン OS ディスクを別リージョンにコピーする方法について」を参照。</strong></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Favm02" title="Azure 仮想マシン OS ディスクを別リージョンにコピーする方法について - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h5 id="別リージョン上にコピーした-Azure-仮想マシン-OS-ディスク-から-Azure-仮想マシン-をデプロイ">別リージョン上にコピーした Azure 仮想マシン OS ディスク から Azure 仮想マシン をデプロイ</h5> <p><strong>1) Azure 管理ポータル - ディスク から別リージョンからコピーしてきた Azure 仮想マシン OS ディスクを選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231126/20231126140506.png" width="1077" height="352" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>2) 概要 -「+ VM の作成」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231126/20231126141003.png" width="786" height="346" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 必要項目を入力後、「確認および作成」を選択し、Azure Linux 仮想マシンのデプロイ作業を実施します。</strong></p> <ul> <li>仮想マシン名 : 任意のホスト名<br />※ <span style="color: #d32f2f;">但し、Azure Linux 仮想マシン OS 上のホスト名は「<strong>複製元のホスト名</strong>」のままとなるため、ホスト名の変更が必要な場合は、OS 上から変更する必要有。</span></li> <li>イメージ : コピーしてきた Azure Linux 仮想マシン OS ディスク</li> <li>仮想ネットワーク : 該当リージョン上の任意の仮想ネットワーク</li> </ul> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231126/20231126142041.png" width="763" height="678" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231126/20231126142129.png" width="778" height="658" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 複製した Azure Linux 仮想マシンを起動し、接続できることを確認します。(複製元の Azure Linux 仮想マシン接続時に使用していた pem ファイルを利用)</strong></p> <p><strong>※ </strong>以下の例では、複製元の Azure Linux 仮想マシンにインストールされていた PostgreSQL への接続テストを複製先で実施しています。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231126/20231126144716.png" width="700" height="229" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>※ 複製の場合、Azure Linux 仮想マシンをデプロイ時に指定した「仮想マシン名」(本例では ubje001sa) は、 Azure Linux 仮想マシン OS の hostname には反映されず、複製元の hostname がそのまま引き継がれるため、変更が必要な場合は OS から変更を実施。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231126/20231126145151.png" width="275" height="88" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回、Azure Linux 仮想マシンを複製して別リージョンでデプロイする方法について、まとめてみました。</p> <p>Azure 仮想マシン OS ディスクのリージョン間コピーを実施する方法として、「<strong>Microsoft Azure Storage Explorer</strong>」を利用してみましたが、本ツールを利用して、同一リージョン、別リージョンはもちろん、別のAzure サブスクリプションに対しても Azure Linux 仮想マシン OS ディスクのコピーを簡単に実施することが可能となります。</p> <p>また、Azure Storage 上のファイル を管理したり、利用されているディスク容量なども簡単に確認できるため、積極的に利用してみると良いかと思います。</p> <p> </p> <p><strong>※ 2023年11月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189057056374 2023-11-09T23:55:32+09:00 2024-01-25T17:23:44+09:00 Azure 東倭国リージョンにデプロイされた仮想マシンの複製を別リージョンでデプロイ したいという状況があるのではないかと思います。 Azure 仮想マシンを別リージョンに複製する一つの方法として、Azure 仮想マシンの OS マネージド ディスクを複製し、複製した OS マネージド ディスクを別リージョンにコピーしたうえで、別リージョン上で 複製した OS マネージド ディスクを利用して Azure 仮想マシンをデプロイするという方法があります。 複製した OS マネージド ディスクを別リージョンにコピーする方法として、「Azure CLI」を利用する方法、「Microsoft Azure… <p>Azure 東倭国リージョンにデプロイされた仮想マシンの複製を別リージョンでデプロイ</p> <p>したいという状況があるのではないかと思います。</p> <p>Azure 仮想マシンを別リージョンに複製する一つの方法として、Azure 仮想マシンの OS マネージド ディスクを複製し、複製した OS マネージド ディスクを別リージョンにコピーしたうえで、別リージョン上で 複製した OS マネージド ディスクを利用して Azure 仮想マシンをデプロイするという方法があります。</p> <p>複製した OS マネージド ディスクを別リージョンにコピーする方法として、「<strong>Azure CLI</strong>」を利用する方法、「<strong>Microsoft Azure Storage Explorer</strong>」を利用する方法などの複数の方法がありますが、今回は最も簡易的にコピーを実施することが可能となる 「<strong>Microsoft Azure Storage Explorer</strong>」を利用する方法について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-OS-マネージドディスクを別リージョンにコピーする方法">Azure OS マネージドディスクを別リージョンにコピーする方法</a></li> <li><a href="#まとめ">まとめ</a></li> <li><a href="#参考情報">参考情報</a></li> </ul> <p> </p> <h4 id="Azure-OS-マネージドディスクを別リージョンにコピーする方法">Azure OS マネージドディスクを別リージョンにコピーする方法</h4> <p><strong>[前提条件]</strong></p> <ul> <li>Microsoft Azure Storage Explorer がインストールされている。</li> <li>コピー元、コピー先の Azure Disks サービスに対して Microsoft Azure Storage Explorer からアクセスできる状態になっている。</li> </ul> <p> </p> <p><strong>1) Microsoft Azure Storage Explorer を起動します。</strong></p> <p><strong>2) コピー元の OS マネージド ディスク が配置された Azure サブスクリプション - Disks - リソース グループ を選択し、コピー元の OS マネージド ディスク (本例では「ubje001-OsDisk-dup」を選択後、「コピー」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231108/20231108173801.png" width="927" height="300" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) コピー先の Azure サブスクリプション - Disks - リソース グループ を選択し、「貼り付け」を押下します。</strong></p> <p>※ 別サブスクリプション間、同一サブスクリプション間の別リソースグループ間、同一サブスクリプションの同一リソースグループ間でコピーが可能。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231109/20231109223242.png" width="890" height="378" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>4) 必要項目を入力後、「貼り付け」ボタンを押下します。</strong></p> <ul> <li>ディスク名 : 任意の名前</li> <li>場所 :  OS マネージド ディスクを配置したいリージョンを指定 (本例では 「西倭国」を指定)</li> <li>可用性ゾーン : 任意の可用性ゾーンを指定</li> <li>アカウントの種類 : 任意のアカウントの種類を指定  </li> </ul> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231109/20231109223953.png" width="490" height="459" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>5) 正常にコピーが完了し、OS マネージド ディスクがコピー先(指定したリージョン)で作成されたことを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231109/20231109231650.png" width="1022" height="355" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は「<strong>Microsoft Azure Storage Explorer</strong>」を利用して、OS マネージド ディスクを別リージョンにコピーする方法についてまとめてみました。</p> <p>なお、Azure CLI を利用してコマンドで同様のことを実施することは可能です。</p> <p>そのため、「<strong>Microsoft Azure Storage Explorer</strong>」が利用できない場合、OS マネージド ディスクのコピーを大量に実施する必要がある場合、本処理を自動化処理の中に組み込む必要がある場合は、「<strong>az disk create</strong>」コマンドを利用することを検討されると良いかと思います。</p> <p> </p> <h4 id="参考情報">参考情報</h4> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fprevious-versions%2Fazure%2Fvirtual-machines%2Fscripts%2Fvirtual-machines-cli-sample-copy-managed-disks-to-same-or-different-subscription%3Fwt.mc_id%3DDP-MVP-5004154" title="マネージド ディスクをサブスクリプションにコピーする - CLI サンプル - Azure Virtual Machines" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fcli%2Fazure%2Fdisk%3Fwt.mc_id%3DDP-MVP-5004154%26view%3Dazure-cli-latest%23az-disk-create" title="az disk" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><strong>※ 2023年11月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/6801883189056598825 2023-11-06T21:16:51+09:00 2023-11-07T08:15:19+09:00 Windows 環境からAzure Linux 仮想マシンに接続を実施した場合、正しい Azure Linux 仮想マシン への接続情報および接続に必要なpemファイルを指定したとしても、「Permissions for '*********.pem' are too open.」というエラーで接続できない現象を経験したことがある人もいるのではないかと思います。 今回は本エラーの対処方法について、まとめてみようと思います。 エラー「Permissions for '*********.pem' are too open.」の意味 エラー「Permissions for '*********.p… <p>Windows 環境からAzure Linux 仮想マシンに接続を実施した場合、正しい Azure Linux 仮想マシン への接続情報および接続に必要なpemファイルを指定したとしても、「<strong>Permissions for '*********.pem'  are too open.</strong>」というエラーで接続できない現象を経験したことがある人もいるのではないかと思います。</p> <p>今回は本エラーの対処方法について、まとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#エラーPermissions-for-pem-are-too-openの意味">エラー「Permissions for '*********.pem'  are too open.」の意味</a></li> <li><a href="#エラーPermissions-for-pem-are-too-openの対処方法">エラー「Permissions for '*********.pem'  are too open.」の対処方法</a></li> <li><a href="#まとめ">まとめ</a></li> <li><a href="#参考情報">参考情報</a></li> </ul> <p> </p> <h4 id="エラーPermissions-for-pem-are-too-openの意味">エラー「<strong>Permissions for '*********.pem'  are too open.</strong>」の意味</h4> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106193017.png" width="733" height="268" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>上記は、Windows 環境で起動した PowerShell から Azure Linux 仮想マシンへ接続しようとした際に エラー「<strong>Permissions for '*********.pem'  are too open.</strong>」が発生しています。</p> <p>エラー「<strong>Permissions for '*********.pem'  are too open.</strong>」は、Azure Linux 仮想マシンへ接続した際に指定した pem ファイルのアクセス制御エントリ (ACE) に 多数の ユーザー アカウントが登録され、pem ファイルへのアクセスが可能となっている場合に発生するエラーとなります。</p> <p> </p> <p>今回の例の場合、pem ファイルのアクセス制御エントリ (ACE) に Users ドメイン グループ および Authenticated Users が登録され、該当ファイルへの読み取りと実行権限が付与されています。</p> <p>そのため、複数のドメインユーザーからpem ファイルにアクセスが可能となっているため、エラー「<strong>Permissions for '*********.pem'  are too open.</strong>」の対象になっています。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106200804.png" width="417" height="574" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="エラーPermissions-for-pem-are-too-openの対処方法">エラー「<strong>Permissions for '*********.pem'  are too open.</strong>」の対処方法</h4> <p><strong>[前提]</strong></p> <ul> <li>「c:\pem\linuxadmin.pem」のアクセス制御エントリ(ACE)、アクセス制御 (ACL) は、C ドライブ から継承されている。</li> <li>Windows 環境に pem ファイルを配置し、Azure Linux 仮想マシンに接続している。</li> </ul> <p> </p> <p><strong>1) 該当のpemファイル - 右クリック - プロパティ - セキュリティ タブを選択します。</strong></p> <p><strong>2) 「詳細設定」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106203251.png" width="417" height="574" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3) 「継承の無効化」- 「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します。」を押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106203631.png" width="884" height="590" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106203707.png" width="536" height="272" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>4)  アクセス制御エントリ(ACE) から Users ドメイン グループ および Authenticated Users を削除します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106204118.png" width="881" height="587" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>5)「追加」を押下し、任意のドメインユーザー (Windows 環境にログインしているドメイン ユーザー) をアクセス制御エントリ(ACE)として登録し、アクセス制御 (ACL)として「読み取りと実行」権限を付与後、「適用」ボタン、「OK」ボタンを押下します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106205429.png" width="883" height="590" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106210105.png" width="886" height="593" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>6) PowerShell を起動し、Azure Linux 仮想マシンに正常に接続できることを確認します。</strong></p> <p>※ 本例では Azure Linux 仮想マシン (Ubuntu 20.04.6 に接続しています。)</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20231106/20231106210745.png" width="781" height="785" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回、エラー「<strong>Permissions for '*********.pem'  are too open.</strong>」の意味、および、Windows 環境からAzure Linux 仮想マシンに接続した際に本エラーが発生した際の対処方法についてまとめてみました。</p> <p>Linux 環境からAzure Linux 仮想マシンに接続する場合においても、同様に本エラーが発生する可能性があります。</p> <p>詳細には、以下「<strong>参考情報</strong>」の公開情報を参照してもらえればと思います。</p> <p> </p> <h4 id="参考情報">参考情報</h4> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Ftroubleshoot%2Fazure%2Fvirtual-machines%2Ftroubleshoot-ssh-permissions-too-open%3Fwt.mc_id%3DDP-MVP-5004154" title="アクセス許可が開きすぎるため、Azure Linux VM に SSH 接続できない - Virtual Machines" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><strong>※ 2023年11月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/820878482967461226 2023-09-18T21:29:03+09:00 2023-09-18T21:32:43+09:00 オンプレミス環境上の SQL Server を Azure へ移行することを検討する場合、Azure上で選択可能なSQL Sever関連のマネージドサービス (PaaS)の種類が多く、どのマネージドサービスが要件 (Fit & Gap) を満たす最適なサービスであるか、悩まれている方もいるのではないでしょうか。 今回、自身の整理も兼ねて、SQL ServerのAzure移行に向けたフローチャートを作成してみようと思います。 SQL ServerのAzure移行に向けたフローチャート SQL ServerのAzure移行に関する参考情報 まとめ SQL ServerのAzure移行に向けたフロー… <p>オンプレミス環境上の SQL Server を Azure へ移行することを検討する場合、Azure上で選択可能なSQL Sever関連のマネージドサービス (PaaS)の種類が多く、どのマネージドサービスが要件 (Fit &amp; Gap) を満たす最適なサービスであるか、悩まれている方もいるのではないでしょうか。</p> <p>今回、自身の整理も兼ねて、SQL ServerのAzure移行に向けたフローチャートを作成してみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#SQL-ServerのAzure移行に向けたフローチャート">SQL ServerのAzure移行に向けたフローチャート</a></li> <li><a href="#SQL-ServerのAzure移行に関する参考情報">SQL ServerのAzure移行に関する参考情報</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="SQL-ServerのAzure移行に向けたフローチャート">SQL ServerのAzure移行に向けたフローチャート</h4> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230918/20230918203403.png" width="746" height="842" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230918/20230918203445.png" width="821" height="645" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230918/20230918203530.png" width="820" height="654" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>[補足]</strong></p> <ul> <li>2023年9月時点の情報をベースにマイグレーション フローチャートを作成。</li> <li>正確な各サービスのSLAについては、以下 マイクロソフトの公式情報を確認。</li> </ul> <blockquote> <p><strong>Service Level Agreements (SLA) for Online Services</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.microsoft.com%2Flicensing%2Fdocs%2Fview%2FService-Level-Agreements-SLA-for-Online-Services%3Fwt.mc_id%3DDP-MVP-5004154%26lang%3D18" title="Licensing Documents" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="SQL-ServerのAzure移行に関する参考情報">SQL ServerのAzure移行に関する参考情報</h4> <p>Azure への SQL Sever マイグレーションに関する参考情報、移行時の注意点、Fit&Gap 分析に役立つ情報などをまとめた Microsoft Learn コレクションを作成してみました。</p> <p> </p> <blockquote> <p><strong>Azure への SQL Sever マイグレーション : Microsoft Learn コレクション</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fusers%2Fnobtak-3682%2Fcollections%2F4wyyuroj8r6g3w%3Fwt.mc_id%3DDP-MVP-5004154" title="プロファイル" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回、自身の整理も兼ねて、SQL ServerのAzure移行に向けたフローチャートの作成、および、移行に参考となる公開情報をまとめた Microsoft Learn コレクションの作成、共有を実施してみました。</p> <p>SQL ServerのAzure移行を検討する際の参考になればと思います。</p> <p>なお、各種クラウドサービスは日々進化していくため、移行を検討の際には、マイクロソフトが公開している最新の公開情報についても確認ください。</p> <p>また、今回作成したSQL ServerのAzure移行に向けたフローチャートに不備がある場合は、お気軽にコメントをいただければと思います。</p> <p> </p> <p><strong>※ 2023年9月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/820878482964616738 2023-09-04T16:57:30+09:00 2023-09-04T17:40:48+09:00 Azure 仮想マシンに Windows Server 2022 をデプロイ後、倭国語化 + イメージとして登録する必要があったので、手順をまとめてみました。 Azure上で用意されているイメージで Windows Server をデプロイした場合、必ず言語が英語になります。そのため、倭国語化した Windows Server を複数台デプロイする必要がある場合は、Windows Server を倭国語化したうえでイメージを作成 (Sysprep)し、作成したイメージでAzure仮想マシンをデプロイすることで、大幅に環境構築の工数を削減することができます。 他の Windows OS の倭国語… <p>Azure 仮想マシンに Windows Server 2022 をデプロイ後、倭国語化 + イメージとして登録する必要があったので、手順をまとめてみました。</p> <p>Azure上で用意されているイメージで Windows Server をデプロイした場合、必ず言語が英語になります。そのため、倭国語化した Windows Server を複数台デプロイする必要がある場合は、Windows Server を倭国語化したうえでイメージを作成 (Sysprep)し、作成したイメージでAzure仮想マシンをデプロイすることで、大幅に環境構築の工数を削減することができます。</p> <p> </p> <blockquote> <p><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">他の Windows OS の倭国語化方法については以下を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fwvd03" title="Azure 仮想マシンでデプロイした Windows 10 の倭国語化手順 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Favd07" title="Azure 仮想マシンでデプロイした Windows 11 の倭国語化手順 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fazimgwinjp" title="Azure 仮想マシンでWindows Server 2019の倭国語化/イメージ化 [Azure] - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <ul class="table-of-contents"> <li><a href="#Windows-Server-2022-の倭国語化">Windows Server 2022 の倭国語化</a></li> <li><a href="#イメージの作成">イメージの作成</a></li> </ul> <p> </p> <h5 id="Windows-Server-2022-の倭国語化">Windows Server 2022 の倭国語化</h5> <p><strong> 1) スタート ボタン - 「Settings」 を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200206/20200206235721.png" alt="f:id:nobtak:20200206235721p:plain" title="f:id:nobtak:20200206235721p:plain" class="hatena-fotolife" itemprop="image" width="171" /></p> <p> </p> <p><strong> 2) 「Time &amp; Language」 を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200206/20200206235926.png" alt="f:id:nobtak:20200206235926p:plain" title="f:id:nobtak:20200206235926p:plain" class="hatena-fotolife" itemprop="image" width="251" /></p> <p> </p> <p><strong>3) 「Language」 - 「Add a language」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207000110.png" alt="f:id:nobtak:20200207000110p:plain" title="f:id:nobtak:20200207000110p:plain" class="hatena-fotolife" itemprop="image" width="513" /></p> <p> </p> <p><strong> 4) 「倭国語」を選択後、「Next」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207000307.png" alt="f:id:nobtak:20200207000307p:plain" title="f:id:nobtak:20200207000307p:plain" class="hatena-fotolife" itemprop="image" width="279" /></p> <p> </p> <p><strong> 5) すべてのチェックボックス (「Set as my Windows display language」含む) にチェックし、「Install」を選択します。</strong></p> <p><span style="color: #0000cc;">※ 「倭国語」言語パックのダウンロード、インストールが開始されます。</span></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904155345.png" width="285" height="482" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>6) 「倭国語」の言語パックのインストールが完了後、「Date &amp; time」- Time zone 「(UTC+09:00) Osaka, Sapporo, Tokyo」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207002337.png" alt="f:id:nobtak:20200207002337p:plain" title="f:id:nobtak:20200207002337p:plain" class="hatena-fotolife" itemprop="image" width="592" /></p> <p> </p> <p><strong>7) 「Region」- Country or region 「Japan」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207002506.png" alt="f:id:nobtak:20200207002506p:plain" title="f:id:nobtak:20200207002506p:plain" class="hatena-fotolife" itemprop="image" width="592" /></p> <p> </p> <p><strong> 8) 「Language」- 「Administrative language settings」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207002724.png" alt="f:id:nobtak:20200207002724p:plain" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>9) 「Change system locale」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207002850.png" alt="f:id:nobtak:20200207002850p:plain" title="f:id:nobtak:20200207002850p:plain" class="hatena-fotolife" itemprop="image" width="431" /></p> <p> </p> <p><strong>10) Current system locale : 「Japanese (Japan)」を選択し、「OK」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207002951.png" alt="f:id:nobtak:20200207002951p:plain" title="f:id:nobtak:20200207002951p:plain" class="hatena-fotolife" itemprop="image" width="400" /></p> <p><strong><span style="color: #0000cc;">※ 一旦 「later」を選択します。</span></strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904160237.png" width="347" height="204" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>11) 「Copy settings」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210103/20210103023226.png" alt="f:id:nobtak:20210103023226p:plain" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>12) すべてのチェックボックスにチェックし、「OK」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210103/20210103023324.png" alt="f:id:nobtak:20210103023324p:plain" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong><span style="color: #0000cc;">※ 「Restart now」を選択し、OSの再起動を実施します。 </span></strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904160946.png" width="348" height="204" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>13) OS 再起動後、スタート ボタン - 「設定」 を選択後、「時刻と言語」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207003354.png" alt="f:id:nobtak:20200207003354p:plain" title="f:id:nobtak:20200207003354p:plain" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>14) 「言語」 -「倭国語」-「オプション」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904162352.png" width="796" height="841" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>15) 「ハードウェア キーボード レイアウト」 -「レイアウトを変更する」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210103/20210103025251.png" alt="f:id:nobtak:20210103025251p:plain" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>16) 「倭国語キーボード (106/109 キー)」を選択後、「今すぐ再起動する」を選択します。 </strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20210103/20210103025426.png" alt="f:id:nobtak:20210103025426p:plain" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h5 id="イメージの作成">イメージの作成</h5> <p><strong>1) イメージ化したい Azure 仮想マシンに接続します。</strong></p> <p><strong>2) 管理者としてコマンドプロンプトを起動し、「%windir%\system32\sysprep」へパスを移動後、「sysprep.exe」を実行します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904163250.png" width="711" height="235" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>3) 以下のように設定後、「OK」を選択します。</strong></p> <p><strong>※ sysprep 処理が実行された後、Azure 仮想マシンがシャットダウンされます。</strong></p> <p>---</p> <p>システム クリーンアップ アクション : 「<strong>システムの OOBE (Out-of-Box Experience) に入る</strong>」</p> <p>「<strong>一般化する</strong>」にチェック</p> <p> シャットダウン オプション : 「<strong>シャットダウン</strong>」</p> <p>---</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904163432.png" width="389" height="288" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207014524.png" alt="f:id:nobtak:20200207014524p:plain" title="f:id:nobtak:20200207014524p:plain" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) Azure ポータルに移動して、sysprep 処理を実行した仮想マシンを選択します。</strong></p> <p><strong>5) 「概要」- 「キャプチャ」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20200207/20200207015319.png" alt="f:id:nobtak:20200207015319p:plain" title="f:id:nobtak:20200207015319p:plain" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>6) 以下の必要項目を入力後、「確認および作成」を選択し、イメージを作成します。</strong></p> <p>・リソースグループ : <strong>任意</strong></p> <p>・Azure コンピューティング ギャラリーにイメージを共有する : <strong>任意</strong></p> <p><span style="color: #0000cc;">※ 今回は、「いいえ、マネージド イメージのみをキャプチャします。」を選択します。</span></p> <p>・名前 : <strong>任意</strong></p> <p>・ゾーンの回復性 : <strong>任意</strong></p> <p><span style="color: #0000cc;">※ Azure 可用性ゾーンの仮想マシンをイメージから作成する必要がある場合は、本項目にチェックします。</span></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904164229.png" width="771" height="753" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>7) すべてのサービス - 「イメージ」を選択し、イメージが作成されていることを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904164932.png" width="680" height="333" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong><span style="color: #0000cc;">※ 仮想マシンの作成からも作成したイメージを選択できます。</span></strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230904/20230904165449.png" width="722" height="310" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><br /></p> <p>Azure Resource Manager (ARM) テンプレートにイメージを指定してAzure仮想マシンをデプロイすることも可能となります。また、コンテナ用イメージの場合も同様の方法で倭国語化することが可能であり、Windows Server OSの倭国語化は結構時間を要する作業であるため、倭国語化された Windows Serverをデプロイする必要がある場合は、事前に倭国語化したイメージを作成することで環境構築の時間を軽減することができるかと思います。</p> <p> </p> <p><strong>※ 2023年9月時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889971530465 2023-03-16T01:52:06+09:00 2023-03-16T01:52:06+09:00 第4回では、SQL Server 2022 の新機能の一つである 包含可用性グループ についてまとめてみました。 今回は、SQL Server 2022 の新機能の一つである 分散型可用性グループ REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプション について、自分の整理も兼ねてまとめてみようと思います。 REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションについて 分散型可用性グループでREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションを利用するメリット… <p><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">第4回では、SQL Server 2022 の新機能の一つである <span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">包含可用性グループ</span> についてまとめてみました。</span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln05" title="【第4回 SQL Server 2022 新機能】包含可用性グループ - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">SQL Server 2022 の新機能の一つである 分散型可用性グループ REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプション について、自分の整理も兼ねてまとめてみようと思います。</span></p> <p> </p> <ul class="table-of-contents"> <li><a href="#REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT-オプションについて">REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションについて</a></li> <li><a href="#分散型可用性グループでREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT-オプションを利用するメリットについて">分散型可用性グループでREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションを利用するメリットについて</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT-オプションについて">REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションについて</h4> <p>REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションは、SQL Server 2017 以降の Always On 可用性グループで利用可能となっているオプション設定です。</p> <p>REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションにより、以下のような動作が行われます。</p> <p>SQL Server 2022 では、<span style="text-decoration: underline;"><strong>分散型可用性グループに対しても REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションを利用することが可能になった</strong></span>ようです。<br />※ 但し、本オプションは新規分散型可用性グループ作成時には指定できず、ALTER AVAILABILITY コマンドで後から変更する必要があるようです。</p> <p> </p> <ul> <li><strong>REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT : 0</strong><br />Always On 可用性グループの可用性モードが同期コミットの場合、プライマリ レプリカに対して発生したトランザクション (コミット) は、トランザクション情報がセカンダリ レプリカのトランザクションログに書き込まれるまで待ち状態となる。<br />但し、設定した接続タイムアウト値 (既定 15秒) を超えてセカンダリ レプリカからの応答がない場合、セカンダリ レプリカを切り離して、プライマリ レプリカ側でコミット処理を継続するという動作が行われる。<br /><strong>※ SQL Server 2016 Always On 可用性グループと同じ動作。<br /> </strong></li> <li><strong>REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT : 1 以上を設定</strong><br />Always On 可用性グループの可用性モードが同期コミットの場合、プライマリ レプリカに対して発生したトランザクション (コミット) は、トランザクション情報がセカンダリ レプリカのトランザクションログに書き込まれるまで待ち状態になる。<br />但し、設定した接続タイムアウト値 (既定 15秒) を超えてセカンダリ レプリカからの応答がない場合、セカンダリ レプリカを切り離して、プライマリ レプリカ側でコミット処理を継続するという動作が行われるという動作までは同じですが、<span style="text-decoration: underline;"><strong>REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT の設定値により、プライマリ レプリカでコミットするためにトランザクション情報の書き込み必要なセカンダリ レプリカの最小数が設定</strong></span>されます。<br />例えば、本オプション設定値が「1」の場合、プライマリ レプリカでコミットするためにトランザクション情報の書き込み必要なセカンダリ レプリカの最小数が「1」となるようです。<br /><br />なお、<strong><span style="text-decoration: underline;">同期セカンダリ レプリカが障害などでダウンし復旧した場合、本オプション設定値に指定した数の同期セカンダリ レプリカとプライマリ レプリカ間のデータ同期が完了するまで、プライマリ レプリカへのトランザクション (コミット)が失敗するようなので注意が必要</span></strong>かと思います。</li> </ul> <p> </p> <blockquote> <p><strong>REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションの詳細については、以下の URL を参照</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Ft-sql%2Fstatements%2Falter-availability-group-transact-sql%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16" title="ALTER AVAILABILITY GROUP (Transact-SQL) - SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="分散型可用性グループでREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT-オプションを利用するメリットについて">分散型可用性グループでREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションを利用するメリットについて</h4> <p>意図しない障害発生時以外で分散可用性グループ セカンダリ可用性グループへ手動フェールオーバーを実施する場合、確実にデータ損失を発生させずにフェールオーバーを実施させたいと考えるかと思います。</p> <p><span style="text-decoration: underline;"><strong>分散型可用性グループでREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプションを使用することで、確実にデータ損失を発生させず手動フェールオーバーを実施することが可能</strong></span>となるようです。</p> <p> </p> <blockquote> <p><strong>分散可用性グループのデータ損失を発生させない手動フェールオーバーの詳細については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Fdatabase-engine%2Favailability-groups%2Fwindows%2Fconfigure-distributed-availability-groups%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16%26tabs%3Dautomatic%23failover_2022" title="分散型可用性グループの構成 - SQL Server Always On" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">SQL Server 2022 の新機能の一つである 分散型可用性グループ REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプション についてまとめてみました。</span></p> <p><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"> 分散型可用性グループで本オプションを利用することで、確実にデータ損失を発生させることなく手動フェールオーバーを実施することが可能になるようです。</span></p> <p>しかしながら、本オプションを有効化した状態で分散可用性グループで障害発生し、障害が発生したレプリカノードが復旧した場合、レプリカ間のデータ同期が完了するまで 可用性データベースにアクセスができない状況が発生するようなので、特に要件がなければ、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">分散型可用性グループで手動フェールオーバーを実施する際に一時的に有効にするなどの用途で利用することを検討されると良いかもしれません。</span></p> <p> </p> <p><strong>※ 2023年3月時点</strong></p> <p> </p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889971180253 2023-03-14T00:20:54+09:00 2023-03-16T01:53:47+09:00 第3回では、SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) についてまとめてみました。 今回は、SQL Server 2022 の新機能の一つである 包含可用性グループ について、自分の整理も兼ねてまとめてみようと思います。 包含可用性グループについて まとめ 包含可用性グループについて SQL Server Always On 可用性グループは、シェアードナッシング (Shared Nothing) でSQL Server の高可用性を実現する機能となります。 ※ 引用 : Always… <p><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">第3回では、SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) についてまとめてみました。</span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln04" title="【第3回 SQL Server 2022 新機能】Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">SQL Server 2022 の新機能の一つである 包含可用性グループ について、自分の整理も兼ねてまとめてみようと思います。</span></p> <p> </p> <ul class="table-of-contents"> <li><a href="#包含可用性グループについて">包含可用性グループについて</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="包含可用性グループについて">包含可用性グループについて</h4> <p>SQL Server Always On 可用性グループは、シェアードナッシング (Shared Nothing) でSQL Server の高可用性を実現する機能となります。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313233001.png" width="858" height="351" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>※ 引用 : <a href="https://learn.microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?WT.mc_id=DP-MVP-5004154&amp;view=sql-server-ver16">Always On 可用性グループとは</a></strong></p> <p> </p> <p>可用性グループに所属する 各可用性レプリカ (ノード) には システム データベース、ユーザーデータベースが配置され、可用性データベースに追加されたユーザーデータベースは、各可用性レプリカ間でデータの同期が行われています。</p> <p>SQL Server Always On フェールオーバー クラスター インスタンス (FCI) のように共有ディスクを保持する必要がなく、特定の可用性レプリカ(ノード)でディスク障害が発生したとしても他の可用性レプリカ(ノード)でサービスを継続させることが可能になるというメリットがあります。</p> <p>しかしながら、<span style="text-decoration: underline;"><strong>SQL Server 2019 以前のバージョンでは、基本的に ユーザーデータベース のみしか可用性データベースに追加できず、システム データベース master に保持されている ログイン情報、アクセス権限情報、システム データベース msdb に保持されている SQL Server Agent ジョブ情報などについては、各可用性レプリカ (ノード) 上で手動で作成する必要</strong></span>がありました。</p> <p> </p> <p>包含可用性グループは、<span style="text-decoration: underline;"><strong>システム データベース master のログイン、ユーザー、アクセス許可のみを含む特殊なデータベース</strong></span>と、<span style="text-decoration: underline;"><strong>システム データベース msdb の SQL Server Agent ジョブ関連情報を含む特殊なデータベース</strong></span>を可用性データベースに追加し、包含可用性グループがフェールオーバーして他の可用性ノードに移動したとしても、移動前の可用性ノードで利用できていたログイン、ユーザー、アクセス許可、SQL Server Agent ジョブを利用可能にしているようです。</p> <p> </p> <p>包含可用性グループは、SQL Server Management Studio (SSMS) から 新しい可用性グループ ウィザードを起動し、少しわかりづらいのですが「<strong>可用性グループ オプション</strong>」で「<strong>含まれている</strong>」、「<strong>システム データベースの再利用</strong>」にチェックを入れることで簡単に作成が可能です。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313235707.png" width="650" height="591" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br />包含可用性グループを構成後、SSMS で該当可用性グループの可用性データベースを確認すると、可用性データベースの他に、<span style="text-decoration: underline;"><strong>&lt;可用性グループ名&gt;_master 、&lt;可用性グループ名&gt;_msdb という二つのデータベースが追加されている</strong></span>ことが確認できます。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313235503.png" width="422" height="491" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>なお、&lt;可用性グループ名&gt;_master 、&lt;可用性グループ名&gt;_msdb へのアクセスは、<span style="text-decoration: underline;"><strong>包含可用性グループリスナー経由で該当包含可用性グループにアクセスした場合、master や msdb への接続が &lt;可用性グループ名&gt;_master 、&lt;可用性グループ名&gt;_msdb へリダイレクトすることで実現</strong></span>しているようです。</p> <p>そのため、<span style="text-decoration: underline;"><strong>包含可用性グループを利用する場合は、ほぼ包含可用性グループリスナーが必須になる</strong></span>のではないかと思います。</p> <p> </p> <p>包含可用性グループを利用するメリットがある一方で以下のような機能はサポートされていないようです。</p> <ul> <li>SQL Server レプリケーション機能</li> <li>分散可用性グループ<br />※ 一部抜粋</li> </ul> <p>そのため、包含可用性グループを構築する場合は、メリット以上のデメリットがないかをしっかりと検討したうえで構築されると良いかと思います。</p> <p><span style="color: #0000cc;">※ 包含可用性グループの詳細な考慮事項については、以下の URL を参照</span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Fdatabase-engine%2Favailability-groups%2Fwindows%2Fcontained-availability-groups-overview%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16%23not-supported" title="包含可用性グループとは - SQL Server Always On" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">SQL Server 2022 の新機能の一つである 包含可用性グループ についてまとめてみました。</span></p> <p><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">包含可用性グループを利用することで、各可用性レプリカ (ノード) 毎に設定が必要だったログイン設定、SQL Server Agent ジョブの設定が緩和されます。</span></p> <p>しかしながら、SQL Server レプリケーション機能 (スナップショット、トランザクション、マージのすべての種類) が使用できないなどデメリットもあるようです。</p> <p>そのため、包含可用性グループを構築する場合は、メリット以上のデメリットがないかをしっかりと検討したうえで構築されると良いかと思います。</p> <p> </p> <blockquote> <p><strong>【第5回 SQL Server 2022 新機能】分散型可用性グループ REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプション へ</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln06" title="【第5回 SQL Server 2022 新機能】分散型可用性グループ REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT オプション - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2023年3月現在</strong></p> <p> </p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889970924201 2023-03-13T11:59:16+09:00 2023-03-14T00:25:08+09:00 第2回では、SQL Server 2022 の新機能の一つである Azure Active Directory (Azure AD) 認証 についてまとめてみました。 今回は、SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について、自分の整理も兼ねてまとめてみようと思います。 Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について Azure SQL Managed Instance へのリンク機能について まとめ Azure SQL… <p><span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">第2回では、SQL Server 2022 の新機能の一つである Azure Active Directory (Azure AD) 認証 についてまとめてみました。</span></p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln03" title="【第2回 SQL Server 2022 新機能】Azure Active Directory (Azure AD) 認証 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>今回は、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について、自分の整理も兼ねてまとめてみようと思います。</span></p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-SQL-Managed-Instance-へのリンク機能の拡充-ディザスタリカバリ-について">Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について</a></li> <li><a href="#Azure-SQL-Managed-Instance-へのリンク機能について">Azure SQL Managed Instance へのリンク機能について</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Azure-SQL-Managed-Instance-へのリンク機能の拡充-ディザスタリカバリ-について">Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) について</h4> <p>Azure SQL Managed Instance へのリンク機能は、旧 SQL Server の一部のバージョン/エディションでも利用することができましたが、オンプレミス SQL Server AlwaysOn 可用性グループ -&gt; Azure SQL Managed Instance への手動フェールオーバーを実施するとリンクが切れ、フェールバックすることが出来ませんでした。</p> <p> </p> <p><strong>【SQL Server 2019 以前で Azure SQL Managed Instance へのリンク機能がサポートされているバージョン、エディションについて】</strong></p> <ul> <li>SQL Server 2016 SP3 (<a href="https://support.microsoft.com/ja-jp/topic/kb5003279-sql-server-2016-service-pack-3-%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E6%83%85%E5%A0%B1-46ab9543-5cf9-464d-bd63-796279591c31?WT.mc_id=DP-MVP-5004154">KB5003279</a>) + Azure Connect パック (<a href="https://support.microsoft.com/ja-jp/topic/kb5003279-sql-server-2016-service-pack-3-%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E6%83%85%E5%A0%B1-46ab9543-5cf9-464d-bd63-796279591c31?WT.mc_id=DP-MVP-5004154">KB5014242</a>) Standard/Enterprise Edition  </li> <li>SQL Server 2019 Enterprise Edition CU15 (<a href="https://support.microsoft.com/ja-jp/topic/kb5008996-sql-server-2019-%E3%81%AE%E7%B4%AF%E7%A9%8D%E7%9A%84%E3%81%AA%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-15-4b6a8ee9-1c61-482d-914f-36e429901fb6?WT.mc_id=DP-MVP-5004154">KB5008996</a>)、Standard Edition CU17 (<a href="https://support.microsoft.com/ja-jp/topic/kb5016394-sql-server-2019-%E3%81%AE%E7%B4%AF%E7%A9%8D%E7%9A%84%E3%81%AA%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-17-3033f654-b09d-41aa-8e49-e9d0c353c5f7?WT.mc_id=DP-MVP-5004154">KB5016394</a>)</li> </ul> <p> </p> <p>SQL Server 2022 では、Azure SQL Managed Instance へのリンク機能が拡充され、ディザスタリカバリ機能として、オンプレミス SQL Server AlwaysOn 可用性グループ -&gt; Azure SQL Managed Instance へ手動フェールオーバー後、<strong>Azure SQL Managed Instance -&gt; オンプレミス SQL Server AlwaysOn 可用性グループへのフェールバックが可能 </strong>になったようです。</p> <p><span style="color: #0000cc;"><strong>※ 2023年3月時点では、ディザスタリカバリ機能はまだプレビュー機能になっています。</strong></span></p> <p> </p> <p>Azure SQL Managed Instance へのリンク機能を利用することで、Azure SQL Managed Instance を ディザスタリカバリ (DR) 環境として利用することが可能、かつ、<strong><span style="text-decoration: underline;">オンプレミス SQL Server から Azure への移行のダウンタイムを最小限に抑えることが可能</span></strong>な点がメリットでしょうか。</p> <p> </p> <h4 id="Azure-SQL-Managed-Instance-へのリンク機能について">Azure SQL Managed Instance へのリンク機能について</h4> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313025746.png" width="926" height="241" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>※ 引用 :</strong> <a href="https://support.microsoft.com/ja-jp/topic/kb5016394-sql-server-2019-%E3%81%AE%E7%B4%AF%E7%A9%8D%E7%9A%84%E3%81%AA%E6%9B%B4%E6%96%B0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0-17-3033f654-b09d-41aa-8e49-e9d0c353c5f7?WT.mc_id=DP-MVP-5004154">Managed Instance のリンク機能の概要</a></p> <p> </p> <p>Azure SQL Managed Instance へのリンク機能は、オンプレミス SQL Server AlwaysOn 可用性グループ - Azure SQL Managed Instance 間に 分散型可用性グループ (SQL Server AlwaysOn 可用性グループ間でデータを同期する機能) を作成することで実現しているようです。</p> <p>つまり、分散型可用性グループのテクノロジーを利用し、オンプレミス SQL Server AlwaysOn 可用性グループ 側に発生した挿入、更新、削除のトランザクション情報を Azure SQL Managed Instance へ送信することで、オンプレミス SQL Server AlwaysOn 可用性グループ - Azure SQL Managed Instance 間の同期を準リアルタイム (near real-time) を実現しているようです。</p> <p> </p> <p><strong>【補足】</strong></p> <p>SQL Server Management Studio (SSMS) バージョン 19.0 以降を利用することで、SSMS上から <span style="text-decoration: underline;"><strong>Azure SQL Managed Instance link ウィザードにより、Azure SQL Managed Instance へのリンク機能を簡単に構成することが可能</strong></span>です。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313031725.png" width="613" height="513" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>但し、Azure SQL Managed Instance リンクに含める オンプレミス側 SQL Server インスタンスでは、<strong>「Always On 可用性グループの有効化」</strong>、「<strong>推奨トレースフラグの有効化 (トレースフラグ 1800、9567)」</strong>、<strong>「データベース マスターキー作成」</strong>などの前提条件(推奨事項) を満たす必要があります。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313033119.png" width="812" height="635" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313033207.png" width="815" height="639" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>また、事前に <strong><span style="text-decoration: underline;">Azure SQL Managed Instance を Azure 上にデプロイし、オンプレミス環境から Azure SQL Managed Instance へ Azure VPN もしくは Azure Express Route 経由で接続できることを確認</span></strong>しておく必要があります。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313112514.png" width="815" height="738" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>次に分散可用性グループを構成するために必要なエンドポイント、証明書などの作成に関する情報、オンプレミス環境上で SQL Server AlwaysOn 可用性グループ、分散可用性グループを作成するための情報が必要となります。</p> <p>証明書の有効期限は、要件がなければ可能な限り延ばしたほうが証明書の更新作業の手間が省くことができるかと思います。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313112635.png" width="816" height="742" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313114151.png" width="817" height="741" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>Azure SQL Managed Instance link ウィザード完了後、<span style="text-decoration: underline;"><strong>オンプレミス SQL Server 環境側には、可用性グループ および 分散可用性グループの作成が行われている</strong></span>ことが確認できます。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313114345.png" width="363" height="474" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>また、SSMS 可用性グループのダッシュボードからオンプレミス SQL Server から Azure SQL Managed Instance への 分散可用性グループ が作成され、正常にデータ同期がされている状況を確認することが可能です。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230313/20230313115141.png" width="819" height="430" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>最後に、Azure SQL Managed Instance リンク機能を利用する上で <span style="text-decoration: underline;"><strong>Azure SQL Managed Instance のパブリック エンドポイント経由の通信は利用できないなどの制限事項が存在します。そのため、本機能を利用する前に制限事項をしっかりと確認したうえで構築すること</strong></span>をお勧めいたします。</p> <p><strong>※ Azure SQL Managed Instance リンク機能の制限事項の詳細については、以下の URL を参照</strong></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fazure-sql%2Fmanaged-instance%2Fmanaged-instance-link-feature-overview%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dazuresql%23limitations" title="Managed Instance のリンク機能の概要 - Azure SQL Managed Instance" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、<span style="color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">SQL Server 2022 の新機能の一つである Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) についてまとめてみました。</span></p> <p>Azure SQL Managed Instance へのリンク機能を利用することで、ディザスタリカバリ用途として利用する以外にも、オンプレミス SQL Server から Azure 環境への移行が最小のダウンタイムで可能となったり、オンプレミス SQL Server のワークロードの一部をAzure 側にオフロード (レポート、分析機能などの読み取り専用の処理を Azure SQL Managed Instance を利用して実装するなど) するなど、 様々なシナリオに応用が可能となります。そのため、DXを推進するためにも本機能を積極的に検討してみても良いかもしれません。</p> <p> </p> <blockquote> <p><strong>【第4回 SQL Server 2022 新機能】包含可用性グループ へ</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln05" title="【第4回 SQL Server 2022 新機能】包含可用性グループ - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p> </p> <p><strong>※ 2023年3月時点</strong></p> <p> </p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889968585921 2023-03-05T04:38:34+09:00 2023-03-05T04:38:34+09:00 SQL Server 2022 より、オンプレミス環境においても Azure AD を利用した認証を実施することが可能となりました。 今回は、オンプレミス SQL Server 2022 上で Azure AD 認証用ログイン/ユーザーを作成する方法について、自分の整理も兼ねてまとめてみようと思います。 ※ Amazon EC2、Google Cloud Compute Engine 上にインストールされた SQL Server 2022 についても、同様に Azure AD 認証設定を実施することが可能。 前提条件 Azure AD 認証用ログイン/ユーザー作成手順 (SQL Server … <p>SQL Server 2022 より、オンプレミス環境においても Azure AD を利用した認証を実施することが可能となりました。</p> <p>今回は、オンプレミス SQL Server 2022 上で Azure AD 認証用ログイン/ユーザーを作成する方法について、自分の整理も兼ねてまとめてみようと思います。</p> <p><strong><span style="color: #0000cc;">※ Amazon EC2、Google Cloud Compute Engine 上にインストールされた SQL Server 2022 についても、同様に Azure AD 認証設定を実施することが可能。</span></strong></p> <p> </p> <ul class="table-of-contents"> <li><a href="#前提条件">前提条件</a></li> <li><a href="#Azure-AD-認証用ログインユーザー作成手順-SQL-Server-2022以降">Azure AD 認証用ログイン/ユーザー作成手順 (SQL Server 2022以降)</a></li> <li><a href="#Azure-AD-認証用ログインによるオンプレミス-SQL-Server-2022への接続方法">Azure AD 認証用ログインによるオンプレミス SQL Server 2022への接続方法</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="前提条件">前提条件</h4> <p>オンプレミス SQL Server 2022 上で Azure AD 認証用ログイン/ユーザーを作成するためには、以下の前提条件を満たす必要があります。</p> <ul> <li><strong><span style="box-sizing: border-box;">SQL Server 2022 および SQL Serverをインストールしているサーバー (Windows/Linux) が Azure Arc に登録されている必要がある。</span></strong></li> <li><strong><span style="box-sizing: border-box;">Azure AD 上に認証用アプリケーションを登録する必要がある。</span></strong></li> <li><strong><span style="box-sizing: border-box;">Azure KeyVault 上に 認証用アプリケーション用の証明書を作成する必要がある。<br /></span></strong></li> </ul> <blockquote> <p><strong>参考URL</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln03" title="【第2回 SQL Server 2022 新機能】Azure Active Directory (Azure AD) 認証 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="Azure-AD-認証用ログインユーザー作成手順-SQL-Server-2022以降">Azure AD 認証用ログイン/ユーザー作成手順 (SQL Server 2022以降)</h4> <p><strong>1) SQL Server Management Studio (SSMS) を起動し、管理者権限(sysadmin)が付与されたログイン (saなど) で接続します。</strong></p> <p><strong>2) 「新しいクエリ」を選択します。</strong></p> <p><strong>3) 以下のコマンドを実行し、Azure ポータル - Azure Arc - インフラストラクチャ : SQL サーバー - 登録されている SQL Server 2022 インスタンス - 設定 : Azure Active Directory - Azure Active Directory 管理者 に登録された管理者ログインに対して管理者権限 (sysadmin) を付与します。</strong></p> <p>※ 本手順では管理者ログインを「[email protected]」とします。</p> <table width="810"> <tbody> <tr> <td width="810"><span style="color: #0000cc;">use master</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">ALTER SERVER ROLE</span> sysadmin <span style="color: #0000cc;">ADD </span>MEMBER [[email protected]]<br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p><strong>4) 以下のコマンドを実行し、新しいログインを作成します。</strong></p> <p>※ 本手順では Azure AD 上に存在する「[email protected]」ユーザーに紐づくログインを作成します。</p> <p>※ Azure AD グループ、Azure ADに登録したアプリケーションに紐づくログインも作成可能となります。</p> <table width="810"> <tbody> <tr> <td width="810"><span style="color: #0000cc;">use master</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">CREATE LOGIN</span> [[email protected]] <span style="color: #0000cc;">FROM EXTERNAL PROVIDER</span><br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p><br />&lt;補足&gt;</p> <p>必要に応じて作成した新規ログインに対して、必要なロールを割り当てます。</p> <p> </p> <p>[例] 「[email protected]」ログインに対して管理者権限(sysadmin) を付与する場合</p> <table width="810"> <tbody> <tr> <td width="810"> <p><span style="color: #0000cc;">use master</span><br /><span style="color: #0000cc;">go</span></p> <p><span style="color: #0000cc;">EXEC </span><span style="color: #dd830c;">sp_addsrvrolemember</span> @loginame=<span style="color: #ff0000;">'[email protected]'</span>, @rolename=<span style="color: #ff0000;">'sysadmin'</span><br /><span style="color: #0000cc;">go</span></p> </td> </tr> </tbody> </table> <p> </p> <p><strong>5) 以下のコマンドを実行し、4) で作成したログインが作成されていることを確認します。</strong></p> <table width="810"> <tbody> <tr> <td width="810"><span style="color: #0000cc;">use master</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">SELECT</span> * <span style="color: #0000cc;">FROM </span><span style="color: #00cc00;">sys.server_principals</span><br /><span style="color: #0000cc;">WHERE type_desc</span> = <span style="color: #ff0000;">'EXTERNAL_LOGIN'</span><br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p><strong>6) 以下のコマンドを実行し、4) で作成したログインに紐づくデータベース ユーザーを作成します。</strong></p> <p>※ 本手順では ユーザーデータベース上で「[email protected]」ログインに紐づく、「[email protected]」という名前のデータベース ユーザーを作成しています。</p> <p>※ 本コマンド実行後、ユーザー データベースに対して該当のログイン紐づくデータベース ユーザーが作成されます。</p> <table width="810"> <tbody> <tr> <td width="810"><span style="color: #0000cc;">use </span>&lt;ユーザーデータベース&gt;<br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">CREATE USER</span> [[email protected]] <span style="color: #0000cc;">FROM LOGIN</span> [[email protected]];<br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p> </p> <p>&lt;補足&gt;</p> <p>必要に応じてユーザーデータベース上に作成したデータベース ユーザーに対して必要な権限を割り当てます。</p> <p> </p> <h4 id="Azure-AD-認証用ログインによるオンプレミス-SQL-Server-2022への接続方法">Azure AD 認証用ログインによるオンプレミス SQL Server 2022への接続方法</h4> <p><strong>1) SQL Server Management Studio (SSMS) を起動します。</strong></p> <p><strong>2) 必要項目に入力後、「オプション」を選択します。</strong></p> <p><strong>サーバー名</strong> :  SQL Server 2022のインスタンス名を指定 (Azure Arcに登録されているインスタンス名)</p> <p><strong>認証</strong> : Azure Active Directory - パスワード</p> <p>※ 「Azure Active Directory - MFAで汎用」、「Azure Active Directory - 統合」などによる認証も可能です。 詳細は以下のURLを参照。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Frelational-databases%2Fsecurity%2Fauthentication-access%2Fazure-ad-authentication-sql-server-overview%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16" title="SQL Server の Azure Active Directory (Azure AD) 認証の概要 - SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p><strong>ユーザー名</strong> :  Azure AD認証用に指定したログイン名を指定</p> <p><strong>パスワード</strong> :  ログインに紐づく Azure AD ユーザーのパスワードを指定</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230305/20230305041809.png" width="475" height="313" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>3) 必要項目に入力、選択後、「接続」を選択します。</strong></p> <p><strong>データベースへの接続</strong> : 接続するユーザーデータベース名を指定。</p> <p><strong>暗号化接続</strong> : チェック</p> <p><strong>サーバー証明書を信頼する</strong> : チェック</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230305/20230305042907.png" width="473" height="512" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) オンプレミス SQL Server 2022 インスタンスに Azure AD認証により接続が確立されたことを確認します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230305/20230305043226.png" width="376" height="215" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、オンプレミス SQL Server 2022 上で Azure AD 認証用ログイン/ユーザーを作成する方法についてまとめてみました。</p> <p>本機能を利用するためには、前提条件としてオンプレミス上の SQL Server 2022 がインストールされたサーバー および SQL Server 2022 インスタンス が Azure Arc に登録されている必要があります。</p> <p>Azure Arc への登録は若干の作業が必要になりますが、SQL Serverへの接続ログインを一元的に管理が可能となるため、SQL Server 2022 へのリプレースのタイミングなどで本機能を利用することを検討してみると良いかもしれません。</p> <p> </p> <p><strong>※ 2023年3月 時点</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889966517187 2023-02-26T12:07:03+09:00 2023-03-13T12:45:40+09:00 第1回では、SQL Server 2022 の新機能の一つである SQL Serverを従量課金制 (pay-as-you-go) についてまとめてみました。 第2回では、SQL Server 2022 より利用可能となった Azure Active Directory (以下 Azure AD)認証について、自分の整理も兼ねてまとめてみようと思います。 SQL Server の Azure AD 認証について SQL Server の Azure AD 認証の設定方法について まとめ SQL Server の Azure AD 認証について Azure SQL Database では Azu… <p>第1回では、SQL Server 2022 の新機能の一つである SQL Serverを従量課金制 (pay-as-you-go) についてまとめてみました。</p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln02" title="【第1回 SQL Server 2022 新機能】SQL Serverを従量課金制 (pay-as-you-go) で利用 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p>第2回では、SQL Server 2022 より利用可能となった Azure Active Directory (以下 Azure AD)認証について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#SQL-Server-の-Azure-AD-認証について">SQL Server の Azure AD 認証について</a></li> <li><a href="#SQL-Server-のAzure-AD-認証の設定方法について">SQL Server の Azure AD 認証の設定方法について</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="SQL-Server-の-Azure-AD-認証について">SQL Server の Azure AD 認証について</h4> <p>Azure SQL Database では Azure AD を利用した認証がサポートされていましたが、SQL Server 2022 以降、オンプレミス上の Windows および Linux サーバーにおいても Azure AD 認証がサポートされるようになりました。</p> <p>Azure AD 認証方法としては、以下のような方法がサポートされています。</p> <ul> <li><strong>Azure Active Directory パスワード</strong></li> <li><strong>Azure Active Directory 統合</strong></li> <li><strong>Azure Active Directory - 多要素認証(MFA) による Universal認証</strong></li> <li><strong>Azure Active Directory アクセス トークン</strong></li> </ul> <p>但し、オンプレミス上の SQL Server が Azure AD へ認証を実施するための前提条件として、以下の条件があるようです。</p> <ul> <li><strong>SQL Server 2022 および SQL Serverをインストールしているサーバー (Windows/Linux) が Azure Arc に登録されている必要がある。</strong></li> <li><strong>Azure AD 上に 認証用アプリケーション登録する必要がある。</strong></li> <li><strong>Azure KeyVault 上に 認証用アプリケーション用の証明書を作成する必要がある。</strong></li> <li><strong>SQL Server 2022 上で Azure AD認証用のログイン、ユーザーを作成する必要がある。</strong></li> </ul> <p> </p> <p><span style="color: #0000cc;"><strong>※ オンプレミス SQL Server 2022 を Azure Arc の管理対象に追加する方法については、以下の URL を参照</strong></span></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Farc03" title="【Tips】SQL Server を Azure Arc の管理対象に追加する方法について - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>[例] Azure Arc に登録されているオンプレミス上のSQL Serverインスタンス</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230226/20230226052359.png" width="862" height="458" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="SQL-Server-のAzure-AD-認証の設定方法について">SQL Server の Azure AD 認証の設定方法について</h4> <p>SQL Server の Azure AD 認証の設定方法については、以下のURLを参照</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Farc04" title="【Tips】オンプレミス SQL Server 上で Azure AD 認証用ログイン/ユーザーを作成 (SQL Server 2022 以降) - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p><br /><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Frelational-databases%2Fsecurity%2Fauthentication-access%2Fazure-ad-authentication-sql-server-setup-tutorial%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16" title="SQL Server の Azure Active Directory 認証を設定する - SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>[注意点]</strong></p> <p>現時点 (2023年2月時点) において、既知の問題として、Azure AD 認証用に作成した証明書を更新した場合、自動的に証明書を反映することができない可能性が有り、証明書を更新するために以下の手順が必要になる可能性があるとのことです。</p> <p>証明書が正しく適用されなければ Azure AD 認証が失敗するため、証明書を更新した場合、以下の暫定対処策を実施すること</p> <p><br /><strong>+ 証明書更新手順 (暫定対処策)</strong></p> <p>1) Azure Arc - インフラストラクチャ : SQL サーバー - 登録されている SQL Server インスタンス - 設定 : Azure Active Directory -「管理者の削除」を実施後、「保存」を選択。</p> <p>2) 「管理者の設定」を選択し、新しい証明書を使用した Azure AD 認証を再構成後、「保存」を選択。</p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>第2回では、SQL Server 2022 より利用可能となった Azure AD 認証についてまとめてみました。Azure AD 認証を利用することで、Azure AD の標準機能で利用可能な多要素認証(MFA) を利用した認証についても実施することが可能となります。</p> <p>また、Azure Arc + SQL Server 2022 Azure AD 認証を利用することで、マルチクラウド (AWS, Google Cloud など) および オンプレミス上の SQL Server 2022 の認証情報を一元管理することが可能となり、一貫したガバナンス、セキュリティを実現することが可能となります。 そのため、SQL Server 2022 を新規導入、もしくは アップグレードする場合には、Azure Arc を利用することを検討してみても良いかと思います。</p> <p> </p> <blockquote> <p><strong>【第3回 SQL Server 2022 新機能】Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) へ</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln04" title="【第3回 SQL Server 2022 新機能】Azure SQL Managed Instance へのリンク機能の拡充 (ディザスタリカバリ) - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2023年2月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889952064885 2023-01-15T03:54:33+09:00 2023-01-15T03:54:33+09:00 SQL Server を Azure Arc の管理対象に追加することで、Azure ポータルから SQL Server 環境全体の把握が可能となり、効率的に在庫管理を実施することが可能となるなど、様々なメリットがあります。 今回は、SQL Server を Azure Arc の管理対象にするメリット、および、SQL Server を Azure Arc の管理対象に追加する方法について、自分の整理も兼ねてまとめてみようと思います。 SQL Server を Azure Arc の管理対象にするメリット SQL Server を Azure Arc の管理対象に追加する方法について まとめ … <p>SQL Server を Azure Arc の管理対象に追加することで、Azure ポータルから SQL Server 環境全体の把握が可能となり、効率的に在庫管理を実施することが可能となるなど、様々なメリットがあります。</p> <p>今回は、SQL Server を Azure Arc の管理対象にするメリット、および、SQL Server を Azure Arc の管理対象に追加する方法について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#SQL-Server-を-Azure-Arc-の管理対象にするメリット">SQL Server を Azure Arc の管理対象にするメリット</a></li> <li><a href="#SQL-Server-を-Azure-Arc-の管理対象に追加する方法について">SQL Server を Azure Arc の管理対象に追加する方法について</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="SQL-Server-を-Azure-Arc-の管理対象にするメリット">SQL Server を Azure Arc の管理対象にするメリット</h4> <p>SQL Server を Azure Arc の管理対象にするメリットして、以下のような点があるのではないかと思います。</p> <p> </p> <p><span style="color: #000000;"><strong>【メリット1】</strong></span></p> <p><span style="color: #000000;">Azure 管理ポータル上から登録されている SQL Server の インスタンス名、エディション、ビルド番号、作成されているデータベース情報などを確認できるなど、ライセンス管理などの資産管理を効率的に実施することが可能。</span></p> <p> </p> <p><strong>[Azure Arc : SQL サーバー 情報]</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115020506.png" width="1200" height="425" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>[Azure Arc : SQL サーバー データベース情報(インスタンス毎)]</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115020652.png" width="1156" height="656" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>[Azure Arc : SQL サーバー インスタンス情報(詳細)]</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115021740.png" width="510" height="758" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><span style="color: #000000;"><strong>【メリット2】</strong></span></p> <p><span style="color: #000000;">登録されている SQL Server インスタンスのアセスメントを実施し、Azure 管理ポータル上からアセスメント レポートを表示することが可能。</span></p> <p><strong>※ SQL Assessment では、以下の項目のアセスメントを実施。</strong></p> <ul> <li><strong>SQL Server の構成</strong></li> <li><strong>データベースの設計</strong></li> <li><strong>セキュリティ</strong></li> <li><strong>パフォーマンス</strong></li> <li><strong>Always On</strong></li> <li><strong>エラーログの分析</strong></li> <li><strong>オペレーショナル エクセレンス</strong></li> </ul> <p> </p> <p><strong>[Azure Arc : SQL サーバー インスタンス 環境正常性]</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115022420.png" width="991" height="664" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>[Azure Arc : SQL Server Assessment レポート]</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115034516.png" width="1134" height="800" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Fsql-server%2Fazure-arc%2Fassess%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16" title="Azure Arc 対応 SQL Server インスタンスでオンデマンド SQL Assessment を構成する - SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><span style="color: #000000;"><strong>【メリット3】</strong></span></p> <p><span style="color: #000000;">Microsoft Defender for Cloud により一元的に SQL Server に対する セキュリティの異常、脅威 を検知することが可能。</span></p> <p> </p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Fsql-server%2Fazure-arc%2Fconfigure-advanced-data-security%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16" title="Microsoft Defender for Cloud を構成して Azure Arc 対応 SQL Server を保護する - Azure Arc-enabled SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><span style="color: #000000;"><strong>【メリット4】</strong></span></p> <p><span style="color: #000000;">SQL Server 2022 インスタンスの場合、Azure SQL Database などの PaaS、Azure VM 上にインストールされた SQL Server と同様に、オンプレミス上にインストールされた SQL Server でも Azure Active Directory 認証を利用することが可能。</span> </p> <p> </p> <p><strong>[Azure Arc : SQL サーバー Azure Active Directory]</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115024059.png" width="950" height="446" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="SQL-Server-を-Azure-Arc-の管理対象に追加する方法について">SQL Server を Azure Arc の管理対象に追加する方法について</h4> <p>SQL Server 2022 の場合、セットアップ プログラム -「<strong>SQL Server 用 Azure 拡張機能</strong>」から Azure Arc に SQL Server を登録することができます。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115024845.png" width="806" height="709" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><span style="text-decoration: underline;"><strong>SQL Server 2019 以前のバージョン</strong></span>については、以下の手順にて手動で SQL Server を Azure Arc の管理対象に追加することができます。</p> <p> </p> <p><strong>1) Azure 管理ポータル から Azure Arc - インフラストラクチャ : SQL サーバー を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115030120.png" width="252" height="631" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>2) 概要 -「+追加」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115030243.png" width="780" height="225" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>3)「サーバーの接続」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115025841.png" width="748" height="352" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>4)「次へ: サーバーの詳細」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115030557.png" width="716" height="615" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>5) 必要項目を入力後、「次へ: タグ」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115030805.png" width="805" height="709" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>6) 必要に応じてタグ情報を入力後、「次へ: スクリプトの実行」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115031018.png" width="761" height="357" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>7) 「ダウンロード」を選択し、SQL Server を Azure Arc の管理対象として登録するスクリプト (RegisterSqlServerArc.ps1) をダウンロードします。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230115/20230115031219.png" width="808" height="764" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>8) 7) でダウンロードしたスクリプト (RegisterSqlServerArc.ps1) を Azure Arc の管理対象に登録したい環境上で実行し、SQL Server を </strong><strong>Azure Arc の管理対象として登録します。</strong></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>SQL Server を Azure Arc の管理対象にするメリット、および、SQL Server を Azure Arc の管理対象に追加する方法についてまとめてみました。</p> <p>SQL Server を Azure Arc の管理対象にすることで、様々なメリットがあると思います。また、SQL Assessment 情報、<span style="color: #000000;">Microsoft Defender for Cloud で検査する情報は、Azure Monitor - Log Analytics のログ上に保存されるため、Log Analyticsのクエリ言語(Kusto Query Language, KQL)を利用した分析用のデータとして利用することもできます。</span><span style="color: #000000;">そのため、個別にカスタマイズした監視を実施したい場合にも本データを利用してみると良いかと思います。</span></p> <p> </p> <blockquote> <p><strong>参考URL</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Farchitecture%2Fhybrid%2Fazure-arc-sql-server%3FWT.mc_id%3DDP-MVP-5004154" title="Azure Arc を使用して SQL Server を管理する - Azure Architecture Center" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2023年1月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889951946469 2023-01-08T02:02:14+09:00 2023-03-13T01:20:01+09:00 2022年11月16日、「SQL Server 2022 」の一般提供が開始されました。 今回は SQL Server 2022 の新機能の一つである SQL Serverを従量課金制 (pay-as-you-go) に関して、自分の整理も兼ねてまとめてみようと思います。 SQL Serverを従量課金制 (pay-as-you-go) について SQL Serverを従量課金制 (pay-as-you-go) 設定方法について まとめ SQL Serverを従量課金制 (pay-as-you-go) について SQL Server 2022では、新しい課金モデルとしてクラウド対応課金モデルで… <p>2022年11月16日、「<strong>SQL Server 2022 </strong>」の一般提供が開始されました。</p> <p>今回は SQL Server 2022 の新機能の一つである <strong>SQL Serverを従量課金制 (pay-as-you-go)</strong> に関して、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#SQL-Serverを従量課金制-pay-as-you-go-について">SQL Serverを従量課金制 (pay-as-you-go) について</a></li> <li><a href="#SQL-Serverを従量課金制-pay-as-you-go-設定方法について">SQL Serverを従量課金制 (pay-as-you-go) 設定方法について</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="SQL-Serverを従量課金制-pay-as-you-go-について">SQL Serverを従量課金制 (pay-as-you-go) について</h4> <p>SQL Server 2022では、新しい課金モデルとしてクラウド対応課金モデルである「<strong>従量課金制 (pay-as-you-go)</strong>」をオンプレミス環境上にインストールされた SQL Server、および、Azure以外のIaaS環境 (例えば AWS EC2、Google Cloud Comupte Engine など) にインストールされた SQL Server に対して適用可能になるようです。</p> <p>クラウド対応課金モデルである「<strong>従量課金制 (pay-as-you-go)</strong>」の場合のメリットについて簡単にまとめてみようと思います。</p> <p> </p> <p><strong>[メリット]</strong></p> <ul> <li>従量課金制であるため、使用した分のみ料金を支払うことができ、<span style="text-decoration: underline;"><strong>初期投資(ライセンス購入費など)に必要となる費用を軽減</strong></span>させることができる。</li> <li><strong><span style="text-decoration: underline;">ライセンス購入に要するリードタイムを軽減</span></strong>することができる。</li> <li>ワークロードが多くなるタイミングのみ SQL Server を増強したり、不要になったタイミングで停止/削除することで、<span style="text-decoration: underline;"><strong>コスト効率化を図る</strong></span>ことができる。</li> <li>マルチクラウド、ハイブリッド環境にも対応しているため、SQL Server 2022 環境がどこの環境に存在していたとしても、<span style="text-decoration: underline;"><strong>一貫した課金</strong></span>を選択することができる。</li> </ul> <p> </p> <p>なお、「<strong>従量課金制 (pay-as-you-go)</strong>」を SQL Server 2022 に適用するための前提条件があるようです。</p> <p> </p> <p><strong>[前提条件]</strong></p> <ul> <li><strong><span style="text-decoration: underline;">Azure サブスクリプションの契約が必要<br /></span></strong><span style="color: #0000cc;">※ 「<strong>Microsoft.AzureArcData</strong>」 および 「<strong>Microsoft.HybridCompute</strong>」 リソース プロバイダーの有効化が必要。</span></li> <li>「<strong>従量課金制 (pay-as-you-go)</strong>」を適用する SQL Server 2022 環境 (オンプレミスのサーバー、Azure以外のIaaS環境 (例えば AWS EC2、Google Cloud Comupte Engine など) を <span style="text-decoration: underline;"><strong>Azure Arc の管理対象に追加することが必要</strong></span><br /><strong><span style="color: #0000cc;">※ Azure への通信が必要。</span></strong></li> </ul> <p> </p> <h4 id="SQL-Serverを従量課金制-pay-as-you-go-設定方法について">SQL Serverを従量課金制 (pay-as-you-go) 設定方法について</h4> <p>SQL Server 2022 の「インストール」もしくは「エディション アップグレード」より、「<strong>Microsoft Azure を通じて従量課金制の課金を使用します</strong>」を指定することで SQL Serverを従量課金制 として利用することが可能になるようです。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20230108/20230108003446.png" width="805" height="703" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <blockquote> <p><strong>Azure Arc の設定については、以下の URL を参照。</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Farc02" title="【Tips】Azure Arc を Azure 仮想マシンで検証する方法について - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は SQL Server 2022 の新機能の一つである <strong>SQL Serverを従量課金制 (pay-as-you-go)</strong> に関してまとめてみました。</p> <p>従量課金制を適用する場合、SQL Server 2022 がインストールされた環境を Azure Arc の管理対象に追加することが必要となります。<br />しかしながら、Azure Arc で管理することで Azure ポータルから SQL Server 環境全体の把握が可能となり、在庫とライセンス管理を効率的に管理可能になります。</p> <p>また、SQL Best Practice Analyzer を利用した パフォーマンス、スケーラビリティ評価、Microsoft Purview を使用したデータガバナンス、Microsoft Defender for Cloud を利用したセキュリティの強化 (脆弱性、攻撃の検出など) が可能になるため、Azure Arc を利用できる場合は利用することをお勧めします。</p> <p> </p> <blockquote> <p><strong>参考情報</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fcloudblogs.microsoft.com%2Fsqlserver%2F2022%2F11%2F17%2Fmanage-govern-and-secure-all-your-sql-servers-with-new-hybrid-capabilities-enabled-by-azure-arc%2F%3FWT.mc_id%3DDP-MVP-5004154" title="Manage, govern, and secure all your SQL Servers with new hybrid capabilities enabled by Azure Arc  - Microsoft SQL Server Blog" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> <p> </p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fsql%2Fsql-server%2Fazure-arc%2Fbilling%3FWT.mc_id%3DDP-MVP-5004154%26view%3Dsql-server-ver16%26tabs%3Dazure" title="Microsoft Azure を使用して課金を有効にする - Azure Arc-enabled SQL Server" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <blockquote> <p><strong>【第2回 SQL Server 2022 新機能】Azure Active Directory (Azure AD) 認証 へ</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqln03" title="【第2回 SQL Server 2022 新機能】Azure Active Directory (Azure AD) 認証 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p> </blockquote> <p> </p> <p><strong>※ 2023年3月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889942087651 2022-12-04T03:17:18+09:00 2022-12-04T12:41:04+09:00 Azure Arc とは、マルチクラウド(AWS、Google Cloud など)上のリソース、オンプレミス上のサーバーを一元的に管理することで、環境全体で一貫したインベントリ(資産管理)、ガバナンス、セキュリティを実現するための機能になります。 現時点 (2022年12月 現在) において、以下のリソースを管理することが可能なようです。 サーバー (Windows, Linux 物理サーバー、Azure外部の仮想マシン) Kubernetes クラスター Azure データ サービス (オンプレミス、マルチクラウド上に SQL Managed Instance、Azure Database … <p>Azure Arc とは、マルチクラウド(AWS、Google Cloud など)上のリソース、オンプレミス上のサーバーを一元的に管理することで、環境全体で一貫したインベントリ(資産管理)、ガバナンス、セキュリティを実現するための機能になります。</p> <p>現時点 (2022年12月 現在) において、以下のリソースを管理することが可能なようです。</p> <ul> <li><span style="color: #0000cc;"><strong>サーバー (Windows, Linux 物理サーバー、Azure外部の仮想マシン)</strong></span></li> <li><strong><span style="color: #0000cc;">Kubernetes クラスター</span></strong></li> <li><strong><span style="color: #0000cc;">Azure データ サービス (オンプレミス、マルチクラウド上に SQL Managed Instance、Azure Database for PostgreSQL サービスを展開可能)</span></strong></li> <li><span style="color: #0000cc;"><strong>SQL Server (Azure 外部のSQL Serverに対して Azure サービスを拡張可能)</strong></span></li> </ul> <p> </p> <p>今回は、Azure Arc の機能を簡単に検証するため、Azure 仮想マシン上で Azure Arc 機能を利用する方法について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <ul class="table-of-contents"> <li><a href="#Azure-Arc-を-Azure-仮想マシンで利用するための事前準備-Windows">Azure Arc を Azure 仮想マシンで利用するための事前準備 (Windows)</a></li> <li><a href="#Azure-仮想マシンで-Azure-Arc-に接続する方法-Windows">Azure 仮想マシンで Azure Arc に接続する方法 (Windows)</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="Azure-Arc-を-Azure-仮想マシンで利用するための事前準備-Windows">Azure Arc を Azure 仮想マシンで利用するための事前準備 (Windows)</h4> <p><strong>1) Azure 上に Azure 仮想マシンをデプロイします。</strong></p> <p><strong>2) Azure ポータルに接続します。</strong></p> <p><strong>3) 1) でデプロイした Azure 仮想マシン - 設定 -「拡張機能とアプリケーション」を選択します。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204012728.png" width="729" height="450" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><strong>3) 拡張機能 - 拡張機能が存在している場合、各拡張機能をアンインストールします。</strong></p> <p><strong>※ 本例では、「CustomScriptExtension」がインストールされているのでアンインストールしています。</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204013210.png" width="947" height="332" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 1) でデプロイした Azure 仮想マシンに リモートデスクトップ接続 (RDP) により接続します。</strong></p> <p><strong>5) PowerShell を管理者として起動します。</strong></p> <p><strong>6) 以下のコマンドを実行し、Azure VM ゲスト エージェントを無効化します。</strong></p> <table width="659"> <tbody> <tr> <td width="659"><span style="color: #000000;"><strong>Set-Service</strong></span> WindowsAzureGuestAgent <span style="color: #666666;">-StartupType</span> Disabled <span style="color: #666666;">-Verbose</span><br /><strong>Stop-Service</strong> WindowsAzureGuestAgent <span style="color: #666666;">-Force</span> <span style="color: #666666;">-Verbose</span></td> </tr> </tbody> </table> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204014333.png" width="860" height="173" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>6) 以下のコマンドを実行し、Azure Instance Metadata Service (IMDS) エンドポイントへのアクセスをブロックします。</strong></p> <table width="659"> <tbody> <tr> <td width="659"><strong>New-NetFirewallRule</strong> <span style="color: #666666;">-Name</span> BlockAzureIMDS <span style="color: #666666;">-DisplayName</span> "Block access to Azure IMDS" <span style="color: #666666;">-Enabled</span> True <span style="color: #666666;">-Profile</span> Any <span style="color: #666666;">-Direction</span> Outbound <span style="color: #666666;">-Action</span> Block <span style="color: #666666;">-RemoteAddress</span> 169.254.169.254</td> </tr> </tbody> </table> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204014555.png" width="1200" height="323" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>※ Azure Instance Metadata Service (IMDS) は、現在実行中のAzure 仮想マシンの情報を取得するために利用されるサービスになります。<br /><br /></p> <p> </p> <h4 id="Azure-仮想マシンで-Azure-Arc-に接続する方法-Windows">Azure 仮想マシンで Azure Arc に接続する方法 (Windows)</h4> <p><strong>1) Azure ポータルに接続します。</strong></p> <p><strong>2) Azure Arc - インフラストラクチャ -「サーバー」-「+追加」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204015553.png" width="540" height="449" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>3)「単一サーバーの追加」-「スクリプトの生成」を選択します。</strong></p> <p>※ 複数のサーバーを追加する場合は、「複数のサーバーの追加」を選択します。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204015752.png" width="1078" height="398" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>4) 必要項目を入力後、「次へ」を選択します。</strong></p> <p><strong>サーバーの詳細 </strong></p> <ul> <li>地域 </li> <li>オペレーティングシステム : Windows</li> </ul> <p><strong>接続方法</strong></p> <ul> <li>接続方法 : パブリック エンドポイント</li> </ul> <p> <span style="color: #0000cc;">※ ExpressRoute を構成している場合は、プライベート エンドポイントを選択することで、Azure Arc と Azure Arc エージェント間の通信がプライベート通信にて行われます。</span></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204020256.png" width="797" height="844" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>5) 必要項目を入力後、「次へ」を選択します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204021138.png" width="795" height="840" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>6)「ダウンロード」を選択し、生成されたスクリプトをダウンロードし、Azure Arc を Azure 仮想マシンで利用するに事前準備を実施した Azure 仮想マシン上の任意のパスに保存します。 </strong></p> <p><span style="color: #0000cc;">※「ダウンロード」されたスクリプトの内容が文字化けするようであれば、Azure ポータルで表示されているスクリプトの内容をコピーして、手動で PowerShell スクリプトを作成します。</span></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204021421.png" width="701" height="721" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>7) Azure Arc を Azure 仮想マシンで利用するに事前準備を実施した Azure 仮想マシンにリモートデスクトップ(RDP) で接続します。</strong></p> <p><strong>8) 管理者権限でPowerShellを起動し、6)で生成したPowerShellスクリプトを実行します。</strong></p> <table width="659"> <tbody> <tr> <td width="659">&gt;<strong> .\OnboardingScript.ps1</strong></td> </tr> </tbody> </table> <p>※ スクリプトの中では以下の操作が行われます。</p> <ul> <li><strong>Connected Machine エージェントのインストール</strong></li> <li><strong>Azure Arc サービスへの接続構成 (エージェント)</strong></li> </ul> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204024623.png" width="838" height="381" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>※ スクリプト処理の中でAzure への認証が行われるため、Azure Arc でスクリプトを生成した Azure サブスクリプションへ必要な権限が付与されたアカウントにて認証を実施します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204024411.png" width="828" height="489" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>9) Azure ポータルに接続後、Azure Arc - インフラストラクチャ -「サーバー」を選択し、Azure Arc に管理されたサーバーが追加されたことを確認します。</strong></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204025828.png" width="759" height="464" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br />[補足]</p> <p>Azure Arc に該当サーバーが登録されたため、ログ監視、Microsoft Defender for Cloud による脆弱性監視、ポリシーの適用などを Azure ポータル上から設定することが可能になります。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221204/20221204030405.png" width="936" height="517" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、Azure Arc の機能を簡単に検証するため、Azure 仮想マシン上で Azure Arc 機能を利用する方法についてまとめてみました。</p> <p>Azure Arc を利用することで、マルチクラウド(AWS、Google Cloud など)上のリソース、オンプレミス上のサーバーを一元的に管理し、環境全体で一貫したインベントリ(資産管理)、ガバナンス、セキュリティを実現することが可能になります。</p> <p>また、SQL Server 2022 の新機能として、Azure Arc 機能を利用した Azure Active Directory 認証がサポートされているため、次回は 本新機能について確認してみようと思います。</p> <p> </p> <p><strong>[参考URL]</strong></p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Flearn.microsoft.com%2Fja-jp%2Fazure%2Fazure-arc%2Fservers%2Fplan-evaluate-on-azure-virtual-machine%3FWT.mc_id%3DAZ-MVP-5004154" title="Azure VM を使用して Azure Arc 対応サーバーを評価する方法 - Azure Arc" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"></cite></p> </blockquote> <p> </p> <p><strong>※ 2022年12月 現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889934322529 2022-11-07T02:07:47+09:00 2022-11-07T02:07:47+09:00 第19回では、仮想ログファイルのアーキテクチャとトランザクションログを圧縮する際の注意点についてまとめてみました。 今回は、SQL Server トランザクション ログファイルの圧縮方法について、自分の整理も兼ねてまとめてみようと思います。 [前提] データベースの復旧モデルが「完全」であることを想定しています。 ※ データベースの復旧モデルが「単純」の場合、トランザクションが完了後、自動的に仮想ログファイル内のログ情報の切り捨てが行われ、未使用の状態になります。 トランザクション ログファイルを圧縮するためには トランザクション ログファイル圧縮方法 まとめ トランザクション ログファイルを… <p>第19回では、仮想ログファイルのアーキテクチャとトランザクションログを圧縮する際の注意点についてまとめてみました。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqlb19" title="【第19回】基本から始める SQL Server【仮想ログファイル/トランザクションログの圧縮について】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"></cite></p> </blockquote> <p> </p> <p>今回は、SQL Server トランザクション ログファイルの圧縮方法について、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <p><strong>[前提]</strong></p> <ul> <li>データベースの復旧モデルが「<strong>完全</strong>」であることを想定しています。</li> </ul> <p><span style="color: #0000cc;">※ データベースの復旧モデルが「単純」の場合、トランザクションが完了後、自動的に仮想ログファイル内のログ情報の切り捨てが行われ、未使用の状態になります。</span></p> <p> </p> <ul class="table-of-contents"> <li><a href="#トランザクション-ログファイルを圧縮するためには">トランザクション ログファイルを圧縮するためには</a></li> <li><a href="#トランザクション-ログファイル圧縮方法">トランザクション ログファイル圧縮方法</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="トランザクション-ログファイルを圧縮するためには">トランザクション ログファイルを圧縮するためには</h4> <p>トランザクション ログファイル (LDF) の圧縮は、トランザクション ログファイルの末尾のオフセットから連続した未使用の仮想ログファイルの領域が解放されることになります。</p> <p>例えば、以下の状態の圧縮前のトランザクション ログファイルがあったとします。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107002706.png" width="570" height="180" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>このトランザクション ログファイルを圧縮すると、トランザクション ログファイルの末尾のオフセットから「<strong>仮想ログファイル4</strong>」と「<strong>仮想ログファイル3</strong>」が未使用となっているため、「<strong>仮想ログファイル4</strong>」と「<strong>仮想ログファイル3</strong>」の領域が解放されます。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107002644.png" width="383" height="191" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br />それでは、以下の場合はどうでしょう?</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107003217.png" width="579" height="196" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br />このトランザクション ログファイルを圧縮すると、「<strong>仮想ログファイル4</strong>」、「<strong>仮想ログファイル2</strong>」、「<strong>仮想ログファイル1</strong>」が未使用となっていますが、トランザクション ログファイルの末尾のオフセットから連続した未使用領域は「<strong>仮想ログファイル4</strong>」のみであるため、「<strong>仮想ログファイル4</strong>」の領域のみが解放されます。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107003456.png" width="441" height="196" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>それでは、未使用となっている「<strong>仮想ログファイル1</strong>」、「<strong>仮想ログファイル2</strong>」を解放したい場合は、どうすればよいでしょうか?</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107003456.png" width="441" height="196" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>上記状態では、「<strong>仮想ログファイル3</strong>」 が Current (現在利用されている) の仮想ログファイルとなります。</p> <p>仮想ログファイルは循環的に利用されるため、「<strong>仮想ログファイル3</strong>」に保持可能なログ情報が一杯になる、もしくは Checkpoint (チェックポイント) を実施することで、Currentの仮想ログファイルがトランザクション ログファイルの先頭のオフセットから可能な限り近い仮想ログファイルに移動されることになります。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107005223.png" width="437" height="203" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>しかしながら、上記の状態の場合、「<strong>仮想ログファイル3</strong>」にはログ情報が保持されており未使用状態になっていないため、「<strong>仮想ログファイル3</strong>」、「<strong>仮想ログファイル2</strong>」を解放することができません。</p> <p>そのため、「<strong>仮想ログファイル3</strong>」を未使用状態にするため、トランザクションログのバックアップを実施します。</p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107005547.png" width="600" height="205" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>トランザクション ログバックアップ後、「<strong>仮想ログファイル3</strong>」に保持されていたログ情報が解放され、未使用な状態になりました。</p> <p>このトランザクション ログファイルを圧縮すると、トランザクション ログファイルの末尾のオフセットから「<strong>仮想ログファイル3</strong>」と「<strong>仮想ログファイル2</strong>」が未使用となっているため、「<strong>仮想ログファイル3</strong>」と「<strong>仮想ログファイル2</strong>」の領域が解放されます。</p> <p> </p> <p>なお、トランザクション ログバックアップを実施したとしても、トランザクション ログファイルのオフセットの末尾の仮想ログファイルが未使用な状態にならない場合がああります。</p> <p>その場合には、システム カタログ ビュー <strong>sys.databases</strong> の <strong>log_reuse_wait_desc 列 (トランザクションログの再利用ができない理由/切り捨てが出来ない理由) </strong>を確認してみると良いかと思います。</p> <p> </p> <blockquote> <p><span style="color: #1464b3;"><strong>トランザクション ログファイルの末尾の仮想ログファイルが未使用にならない場合の原因を確認したい場合は、以下の URL を参照ください。</strong></span></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Ftlogmain" title="トランザクションログ (LDFファイル) 肥大化の原因確認方法 [SQL Server] - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"></cite></p> </blockquote> <p> </p> <h4 id="トランザクション-ログファイル圧縮方法">トランザクション ログファイル圧縮方法</h4> <p>実際にトランザクション ログファイルを圧縮する方法についてまとめてみたいと思います。</p> <p><strong>[実行するコマンド]</strong></p> <table width="670"> <tbody> <tr> <td width="670"><span style="color: #0000cc;">use </span><span style="color: #000000;">&lt;データベース名</span>&gt;<br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">checkpoint</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">backup</span> <span style="color: #f5a2a2;">log </span><span style="color: #000000;">&lt;データベース名&gt;</span> <span style="color: #0000cc;">to disk</span> = <span style="color: #d32f2f;">'&lt;バックアップ作成パス&gt;'</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">dbcc </span><span style="color: #000000;">shrinkfile (&lt;トランザクションログ論理名&gt;,&lt;圧縮後のサイズ (MB)&gt;)</span><br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p> </p> <p><strong>1) 以下のコマンドを実行し、トランザクション ログファイルを圧縮したいデータベース (今回は「db1」) の仮想ログファイルの状況を確認します。</strong></p> <table style="box-sizing: border-box; border-collapse: collapse; max-width: none; border-spacing: 0px; border-bottom: 1em; margin-bottom: 1em; width: 690.031px; overflow: auto; display: block; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" width="817"> <tbody style="box-sizing: border-box;"> <tr style="box-sizing: border-box;"> <td style="box-sizing: border-box; border: 1px solid #f0f1f1; padding: 5px 10px;" width="817"><span style="box-sizing: border-box; color: #0000cc;">select </span><span style="box-sizing: border-box; color: #f5a2a2;">DB_NAME</span>(database_id) <span style="box-sizing: border-box; color: #0000cc;">as</span> <span style="box-sizing: border-box; color: #ff0000;">'database_name'</span>,* <span style="box-sizing: border-box; color: #0000cc;">from </span><span style="box-sizing: border-box; color: #00cc00;">sys.dm_db_log_info</span>(<span style="box-sizing: border-box; color: #f5a2a2;">DB_ID</span>(<span style="box-sizing: border-box; color: #ff0000;">'DB1'</span>))<br style="box-sizing: border-box;" /><span style="box-sizing: border-box; color: #0000cc;">go</span></td> </tr> </tbody> </table> <p style="box-sizing: border-box; margin: 0px 0px 0.7em; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107012240.png" width="655" height="174" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>今回の例 (「db1」)の場合、トランザクション ログファイルの末尾のオフセットの仮想ログファイル (8行目) から先頭の仮想ログファイルまで「<strong>vlf_active</strong>」が ”<strong>1</strong>” とすべて利用中の状態であることが確認できます。<br /><br /></p> <p><strong>2) 以下のコマンドを実行し、トランザクション ログファイルのバックアップを実施します。 (今回は「db1」) </strong></p> <table width="670"> <tbody> <tr> <td width="670"><span style="color: #0000cc;">use </span><span style="color: #000000;">db1</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">checkpoint</span><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">backup</span> <span style="color: #f5a2a2;">log </span><span style="color: #000000;">db1</span> <span style="color: #0000cc;">to disk</span> = <span style="color: #d32f2f;">'c:\temp\db1.log'</span><br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p><span style="color: #000000;">※ 「<strong>checkpoint</strong>」コマンドは必須ではないのですが、仮想ログファイルを循環させ Current の仮想ログファイルをトランザクションログファイルのオフセットの先頭に明示的に移動させるために実行しています。</span></p> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107013339.png" width="652" height="173" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>今回の例 (「db1」)の場合、トランザクション ログファイルの末尾のオフセットの仮想ログファイル (8行目) から先頭の仮想ログファイルまで「<strong>vlf_active</strong>」が ”<strong>0</strong>” とすべて未使用の状態であることが確認できます。</p> <p> </p> <p><strong>3) 以下のコマンドを実行し、トランザクション ログファイルを圧縮します。 (今回は「db1」) </strong></p> <table width="670"> <tbody> <tr> <td width="670"><span style="color: #0000cc;">dbcc </span><span style="color: #000000;">shrinkfile (db1_log, 10)</span><br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p>※ dbcc shrinkfile に指定するトランザクションログ論理名は、システム カタログ <strong>sys.sysfiles</strong> の「name」列などから確認可能です。</p> <p>※ dbcc shrinkfile に指定するサイズは MB単位で指定します。 上記の例では「10」MBが指定されており、可能な限り 10MB に近づくようにトランザクションログファイルを圧縮する操作が行われます。</p> <p> </p> <table width="670"> <tbody> <tr> <td width="670"><span style="color: #000000;">use </span>&lt;データベース名&gt;<span style="color: #000000;"><br /><span style="color: #0000cc;">go</span><br /><span style="color: #0000cc;">select </span>* <span style="color: #0000cc;">from </span><span style="color: #00cc00;">sys.sysfiles</span></span><br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p> </p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221107/20221107014928.png" width="655" height="126" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p>今回の例 (「db1」)の場合、可能な限り 10MB に近づくようにトランザクションログファイルを圧縮する操作が行われたため、トランザクションログファイルのオフセットの先頭から10MBに存在する仮想ログファイル (今回は「<strong>仮想ログファイル5</strong>」) を含むサイズまで圧縮されました。</p> <p>つまり、トランザクションログファイルのオフセットの先頭から10MBに存在する「<strong>仮想ログファイル5</strong>」のサイズ(<strong>vlf_size_mb</strong>) が <strong>16MB</strong> となっているため、「<strong>仮想ログファイル1</strong>」から「<strong>仮想ログファイル5</strong>」までの合計サイズが <strong>24MB</strong> となり、トランザクションログファイルの圧縮後のサイズは <strong>24MB</strong> になりました。</p> <p>※ 本例の場合、dbcc shrinkfile に指定するサイズを <strong>7MB</strong> に指定した場合は、トランザクションログファイルのオフセットの先頭から7MBに存在する仮想ログファイルが「<strong>仮想ログファイル4</strong>」となるため、トランザクションログファイルの圧縮後のサイズは <strong>8MB</strong> になることが想定されます。</p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、SQL Server トランザクション ログファイルの圧縮方法についてまとめてみました。</p> <p>データベースの復旧モデルが「<strong>完全</strong>」である場合、一般的には トランザクションログのバックアップを実施することでアクティブなログの切り捨てが行われ、仮想ログファイルが未使用な状態になります。</p> <p>トランザクションログのバックアップを実施したとしてもアクティブなログの切り捨てが行われず、仮想ログファイルが未使用な状態にならない場合は、システム カタログ ビュー <strong>sys.databases</strong> の <strong>log_reuse_wait_desc 列 (トランザクションログの再利用ができない理由/切り捨てが出来ない理由) </strong>を確認してみると良いかと思います。</p> <p> </p> <p><strong>※ 2022年11月現在</strong></p> nobtak NOBTAの気ままにITブログ hatenablog://entry/4207112889932250546 2022-10-31T04:06:55+09:00 2022-11-08T09:42:51+09:00 トランザクション ログ (LDFファイル) が肥大化した場合、ディスクの空き容量が枯渇するなど、肥大化したトランザクション ログ を圧縮し、ディスクの空き容量を確保したいという状況があるかと思います。 トランザクション ログ (LDFファイル) の肥大化を解消する方法については、以下の URL を参照 トランザクション ログ を圧縮する際、意図したサイズまでトランザクションログ を圧縮することができない場合があります。 今回は、トランザクションログの物理アーキテクチャ : 仮想ログファイル (VLF : Virtual Log File) について、自分の整理も兼ねてまとめてみようと思います。… <p>トランザクション ログ (LDFファイル) が肥大化した場合、ディスクの空き容量が枯渇するなど、肥大化したトランザクション ログ を圧縮し、ディスクの空き容量を確保したいという状況があるかと思います。</p> <blockquote> <p><strong>トランザクション ログ (LDFファイル) の肥大化を解消する方法については、以下の URL を参照</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Ftlogidx" title="【INDEX】SQL Server トランザクションログ肥大化 (原因/対処方法) - NOBTAの気ままにITブログ" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"></cite></p> </blockquote> <p> </p> <p>トランザクション ログ を圧縮する際、意図したサイズまでトランザクションログ を圧縮することができない場合があります。</p> <p>今回は、<strong>トランザクションログの物理アーキテクチャ : 仮想ログファイル (VLF : Virtual Log File) について</strong>、自分の整理も兼ねてまとめてみようと思います。</p> <p> </p> <p>※ 第18回では「<strong>SQL Server のライフサイクル ポリシー</strong>」についてまとめています。</p> <blockquote> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqlb18" title="【第18回】基本から始める SQL Server【製品 ライフサイクル (サポート期間の考え方)】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"></cite></p> </blockquote> <p> </p> <ul class="table-of-contents"> <li><a href="#仮想ログファイルのアーキテクチャについて">仮想ログファイルのアーキテクチャについて</a></li> <li><a href="#仮想ログファイルのファイル数サイズについて">仮想ログファイルのファイル数、サイズについて</a></li> <li><a href="#トランザクションログの圧縮について">トランザクションログの圧縮について</a></li> <li><a href="#まとめ">まとめ</a></li> </ul> <p> </p> <h4 id="仮想ログファイルのアーキテクチャについて">仮想ログファイルのアーキテクチャについて</h4> <p>トランザクション ログファイル (LDF) は内部的に<strong>仮想ログファイル (VLF : Virtual Log File) という論理的な単位で分割</strong>されています。</p> <p><strong>仮想ログファイルのサイズは、トランザクション ログファイルの初期作成時、拡張時にSQL Server エンジンにより動的に決定</strong>されます。</p> <p>仮想ログファイル (VLF : Virtual Log File) は、先頭からログレコードの書き込みが行われ、先頭の仮想ログファイルが一杯になれば、次の仮想ログファイルにログレコードの書き込みが行われます。</p> <p>また、<strong>トランザクションログの切り捨ては仮想ログファイル単位</strong>で行われます。</p> <p> </p> <p>例えば、仮想ログファイルが8個あり、先頭から4個目の仮想ログファイルがアクティブな状態でログレコードの書き込みが行われているとします。</p> <p>上記の状態でトランザクションログの切り捨てが行われた場合、先頭から3個目までの仮想ログファイルが解放され再利用可能な状態になり、先頭から4個目の仮想ログファイルはアクティブのまま残ります。</p> <p>その後、先頭から4個目の仮想ログファイルが一杯 (もしくは チェックポイント処理を実行) になった場合、先頭の仮想ログが再利用可能になっているため、先頭の仮想ログファイルがアクティブとなりログレコードの書き込みが行われていきます。</p> <p>そして、先頭から4個目の仮想ログファイルはアクティブな状態ではなくなったため、次回 トランザクションログの切り捨てが行われたタイミングで再利用な状態になります。</p> <p> </p> <p>上記のように仮想ログファイルは循環的に利用されますが、以下のような状況の場合、トランザクションログの切り捨てが行われる前に大量のログレコードが仮想ログファイルに書き込み続けられることで、トランザクションログのファイルサイズ (仮想ログファイル数) が肥大化する可能性があります。</p> <ul> <li><strong>ロングトランザクションの中で大量のDML処理(UPDATE/INSERT/DELETE)が実行される。</strong></li> <li><strong>トランザクション ログのバックアップが実行される間隔内で大量のDML処理(UPDATE/INSERT/DELETE)が実行される。</strong></li> </ul> <p> </p> <h4 id="仮想ログファイルのファイル数サイズについて">仮想ログファイルのファイル数、サイズについて</h4> <p><strong>仮想ログファイル数、サイズは、トランザクションログの初期作成時、拡張時にSQL Serverエンジンにより動的に決定</strong>されます。</p> <p> </p> <p>仮想ログファイル数は、基本的に以下のルールによって決定されるようです。</p> <table width="417"> <tbody> <tr> <td width="229"><strong>初期作成/拡張サイズ</strong></td> <td width="188"><strong>仮想ログファイル数</strong></td> </tr> <tr> <td>64MB未満の場合</td> <td>4</td> </tr> <tr> <td>64MB以上1GB未満の場合</td> <td>8</td> </tr> <tr> <td>1GB以上</td> <td>16</td> </tr> </tbody> </table> <p><span style="font-size: 80%;"><strong>※ 拡張サイズが現在のトランザクションログサイズの 1/8 未満の場合、仮想ログファイル数は 1 となる。</strong></span></p> <p><span style="font-size: 80%;"><strong>※ SQL Server 2022 の場合、拡張サイズが64MB未満では仮想ログファイル数は 1 となる。</strong></span></p> <p> </p> <p>また、<strong>仮想ログファイルサイズは、初期作成/拡張されたサイズを仮想ログファイル数で割ったサイズ</strong>になっているようです。</p> <p>例えば、トランザクションログの初期サイズ 10GB (1024MB) のデータベース (今回は「DB1」) を作成した場合、</p> <p> </p> <p><strong>仮想ログファイル数 確認コマンド (例)</strong></p> <table width="817"> <tbody> <tr> <td width="817"><span style="color: #0000cc;">select </span><span style="color: #f5a2a2;">DB_NAME</span>(database_id) <span style="color: #0000cc;">as</span> <span style="color: #ff0000;">'database_name'</span>,* <span style="color: #0000cc;">from </span><span style="color: #00cc00;">sys.dm_db_log_info</span>(<span style="color: #f5a2a2;">DB_ID</span>(<span style="color: #ff0000;">'DB1'</span>))<br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p> </p> <p><strong>仮想ログファイル数 確認コマンド実行結果 (例)</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221031/20221031033108.png" width="655" height="331" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p><br /><strong>仮想ログファイル</strong>が <strong>16個</strong> 作成され、<strong>各仮想ログファイルサイズ (vlf_size_mb)</strong> は <strong>639.93MB</strong> になっていることが確認できます。</p> <p> </p> <h4 id="トランザクションログの圧縮について">トランザクションログの圧縮について</h4> <p>トランザクションログの圧縮では、トランザクションログファイルのオフセットの末尾から連続した再利用可能な仮想ログファイルサイズが解放されます。</p> <p>以下の例の場合、2番目から16番目までの仮想ログファイルが再利用可能な状態になっています。</p> <p> </p> <p><strong>仮想ログファイル数  (例)</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221031/20221031033108.png" width="655" height="331" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p>上記の状態で、トランザクションログを圧縮するコマンドを実行してみます。</p> <p> </p> <p><strong>トランザクションログ圧縮コマンド (例)</strong></p> <p>※ 本例では、10240 MBで作成したトランザクションログファイルを可能な限り 64MB まで圧縮するコマンドを実行。</p> <table width="817"> <tbody> <tr> <td width="817"><span style="color: #0000cc;">DBCC </span>SHRINKFILE (<span style="color: #ff0000;">N'DB1_log'</span> , 64)<br /><span style="color: #0000cc;">go</span></td> </tr> </tbody> </table> <p> </p> <p>結果、以下のように<strong>仮想ログファイルが2個残った状態</strong>になりました。</p> <p> </p> <p><strong>トランザクションログ圧縮後の仮想ログファイル数  (例)</strong></p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/n/nobtak/20221031/20221031035139.png" width="654" height="65" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p> <p> </p> <p><strong>仮想ログファイルは、最低でも 2個 保持される動作</strong>になっているようです。</p> <p>10240 MBで作成したトランザクション ログファイルを可能な限り 64MB まで圧縮したかったのですが、結果として 約 1 GB までしか圧縮することができませんでした。</p> <p>なお、今回のデータベースの場合、<strong>トランザクション ログファイルの初期サイズを 10240 MB で作成したため、各仮想ログファイルサイズが 約 639 MB</strong>となっています。</p> <p>また、最低でも2個の 仮想ログファイルを保持する動作になっているため、<strong>今回のデータベースの場合、仮想ログファイルサイズ*2 = 約 1GB 以下のサイズに圧縮することができない</strong>ということになります。</p> <p> </p> <h4 id="まとめ">まとめ</h4> <p>今回は、仮想ログファイルのアーキテクチャとトランザクションログを圧縮する際の注意点についてまとめてみました。</p> <p>トランザクションログの初期サイズを大きなサイズ (数百テラバイトなど) で作成した場合、一つ当たりの仮想ログファイル (VLF : Virtual Log File) が大きくなってしまいます。</p> <p>また、トランザクション ログファイルサイズは、最低でも二つの仮想ログファイルサイズよりも小さいサイズに縮小することができないため、トランザクションログの初期サイズはあまり大きなサイズに指定せず、必要に応じて後からトランザクション ログファイルサイズを拡張することを検討してみても良いかと思います。</p> <p> </p> <blockquote> <p><strong>【第20回】基本から始める SQL Server【トランザクションログの圧縮方法について】へ</strong></p> <p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fqtwy.bokepmobile.site%2Fentry%2Fsqlb20" title="【第20回】基本から始める SQL Server【トランザクションログの圧縮方法について】 - NOBTAの気ままにITブログ" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe><cite class="hatena-citation"></cite></p> </blockquote> <p> </p> <p><strong style="box-sizing: border-box; font-weight: bolder; color: #293030; font-family: helvetica, 'Segoe UI', 游ゴシック体, YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif; font-size: 17px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">※ 2022年10月 現在</strong></p> nobtak