ラベル Azure の投稿を表示しています。 すべての投稿を表示
ラベル Azure の投稿を表示しています。 すべての投稿を表示

2024年11月20日水曜日

【Azure】Microsoft Entra Connectの停止と再開

 無料セミナー「こんなに便利!Microsoft Entra ID」でご質問をいただきました。即答できなかったので、こちらで回答します。回答だけを確認する場合は最後の項目をお読みください。ここでは、この記事だけを見る方のために、背景なども説明します。

Microsoft Entra Connectクラウド同期の詳細は、マイクロソフトのWebサイト「Microsoft Entra クラウド同期とは?」を参照してください。詳しくはコース「Microsoft Entra ID を使用した認証基盤の構築」で扱っています。また、拙著「ストーリーで学ぶWindows Server」でも紹介しています。

Microsoft Entra Connectは、オンプレミスActive Directoryドメインサービス(AD DS)のユーザーアカウントとグループアカウントをMicrosoft Entra IDに複製します。複製手順は前述の情報を参照してください。

●PowerShellモジュール

複製の停止や再開はPowerShellモジュールを使います。以前はMSOnlineモジュールを使っていましたが、現在は非推奨となっています。また、MSOnlineモジュールは最新のPowerShell 7では動作しません。古いPowerShell 5.1などを使う必要があります。

【参考】重要なお知らせ: Azure AD PowerShell および MSOnline PowerShell モジュールの廃止 (マイクロソフトAzure IDサポートチーム)

MSOnlineの後継はMicrosoft.Graphモジュールですが、Entra Connectの複製管理はMicrosoft.Graph.Betaを使う必要があります。

インストールには以下のPowerShellコマンドレットを実行します。

Install-Module Microsoft.Graph.Beta


●複製を停止する方法

複製を停止するには以下のPowerShellコマンドレットを使います(コマンドは3行)。以前は最初に複製を設定していたら数時間は停止できなかったのですが、現在はできるようです。

Connect-MgGraph -Scopes "Organization.ReadWrite.All"

$tenant = "8edd8c88-4d6e-4dd9-9d9b-a67fdd996047"

Update-MgBetaOrganization -OrganizationId $tenant -OnPremisesSyncEnabled:$false

1行目のコマンドを実行すると、認証ダイアログボックスが開くのでMicrosoft Entra IDテナントの管理者アカウントを指定します。
2行目はEntra IDのテナントIDを変数に代入しています。ここで変数を使う必要はなのですが、見やすくするために使いました。
3行目で、複製を停止します。変数$tenantにはテナントIDが格納されています。

●複製を再開する方法

一度停止した複製を再会する場合は、先の2つ目のコマンドの$false$trueに変更して実行します。

Update-MgBetaOrganization -OrganizationId $tenant -OnPremisesSyncEnabled:$true

 

●複製を再開した場合のアカウント

ようやくご質問に対する回答です。

複製を再開した場合、以前に複製したアカウントと照合し、一致すれば更新します。新しいユーザーができたり、エラーが発生したりはしません。アカウントの一致は、Microsoft Entra Connect構成時のルールに従います。既定ではUPN(Active Directoryドメインサービスでのメールアドレス形式サインイン名)で照合します。

2023年12月21日木曜日

【Azure】エンドポイント

Azureのサービスへのアクセス場所(URL)を「エンドポイント」と呼びます。

エンドポイントは以下の3種類があります。

  • パブリックエンドポイント
  • サービスエンドポイント
  • プライベートエンドポイント

パブリックエンドポイント

パブリックエンドポイントは、インターネットに公開されるURLで、権限さえあれば誰でも利用できます。インターネット上に存在するので、アクセス元IPアドレスもパブリックIPアドレスでないといけません。

ストレージアカウントには「ストレージアカウントファイアウォール」という機能があり、以下のような使い方ができます。

  • パブリックエンドポイントの利用を禁止して、サービスエンドポイントのみを許可
    (この場合でもプライベートエンドポイントの利用は可能)
  • パブリックエンドポイントの利用を、指定したパブリックIPアドレスのみ例外として許可

ただし、パブリックエンドポイントのアクセスを許可できるIPアドレスは以下の条件があります。

  • プライベートIPアドレス不可(つまりサービスエンドポイントは制限できない)
  • AzureサービスのパブリックIPアドレス不可
    (つまりAzure上の仮想マシンは制限できない

そのため、ストレージアカウントファイアウォールでは、パブリックエンドポイントの利用を制限しながら、Azure上の仮想マシンに対してアクセスを許可するには、サービスエンドポイントを使うしかありません。

後述するサービスエンドポイントは、Azure内にのみ公開されるため、Azure上の仮想ネットワーク(VNET)からのみアクセスできます。多くの場合、アクセス元はAzure仮想マシン(Azure VM)です

サービスエンドポイント

サービスエンドポイントを利用するには、VNETのサブネットに対して「どのサービスをサービスエンドポイント経由で使うか」を指定します。これにより、ルーティングテーブルが更新され、インターネットではなくAzureネットワークを経由してアクセスできるようになります。

更新されるルーティングテーブルはサブネットに割り当てられたものなので、設定はサブネット単位です。また、該当サブネットから発信されなかった場合、たとえばVPN接続された社内ネットワークなどからは利用できません。

この時、アクセス元のIPアドレスはVNET上のプライベートIPアドレスになりますが、アクセス先のIPアドレス自体はパブリックIPアドレスのままです。

プライベートエンドポイント

プライベートエンドポイントは、AzureサービスをVNETに引き込んだようなイメージで、VNETに割り当てられたプライベートアドレスを持ちます。もちろんアクセス元もプライベートIPアドレスのままです。

プライベートアドレスなので、基本的にはVNETからのみアクセスできるのですが、プライベートIPアドレスが明示的に与えられるため、VPNなどを使うことで社内からも利用できます。

まとめ

3つのエンドポイントそれぞれのアクセス経路は以下の図のように考えると分かりやすいでしょう。

サービスエンドポイント

アクセス元とアクセス先のIPアドレスをまとめました。

エンドポイントの種類 送信元 宛先
パブリックエンドポイント パブリックIP パブリックIP
サービスエンドポイント プライベートIP パブリックIP
プライベートエンドポイント プライベートIP プライベートIP

2023年3月26日日曜日

【Azure】ストレージBlobで静的Webサイトを作成する(SSL独自ドメインの場合)

注意

ここで紹介しているCDNは、現在提供を終了しています。代替サービスはFront Doorの一部として提供されているCDNを使います。この場合、そもそもの目的が違うことと価格が大きく違うことに注意ください。


前回(ヨコヤマ企画: 【Azure】ストレージBlobで静的Webサイトを作成する(非SSL独自ドメインの場合))は、ストレージBlobの機能を使って静的Webサイトを構成しました。

用意した写真は、アイドルユニット「NoelliL(ノエリル)」が、2023年3月15日に川崎クラブチッタで行なったライブの様子です。

ストレージBlobの機能だけでは、独自ドメインを使った場合はSSLに対応できません。そこで、今回は、CDN(Content Delivery Network)を使ってSSL対応する方法を紹介します。

CDNの提供者は、高速なネットワークとストレージを備えたデータセンターを世界各地に持っています。画像や動画データを、CDNサイトに一時的に保存する(キャッシュする)ことで、応答性を高めるのがCDNの大事な役割です。また、多くの場合はSSL通信に必要な証明書を割り当てる仕組みも備えています。

▲CDNの利用

今回は、それほど多くのアクセスも、世界中に分散したクライアントも想定していませんが、SSL化するためにCDNを利用します。

Azure上で提供されるCDNは複数ありますが、今回はVerizon社がAzure上で展開しているサービス(Verizon Standard)を使いました。この場合の費用は、最初の10TBまでは1GBあたり約18円です。AzureからCDNへの通信料金はかかりませんが、CDNに無料枠はないのでCDNを使わない場合と比べて、若干のコストが追加されます。

なお、ストレージアカウントからCDNにコピーするためのネットワーク帯域には課金されません。

それでは構成してみましょう。前回の続きで、2つのサイトを構成します。

 

Step 1: CDNプロファイルとエンドポイントの作成

最初に、Azureから「Front DoorとCDN プロファイル」の管理ツールを開き、新規作成します。今回は、[その他のオファリングの探索]から[Azure CDN Standard from Verizon]を選択しました。

CDNは、すでにAzureのデータセンターまたはAzureと契約したCDNベンダーのデータセンターに展開されているため、「構築」の必要はありません。作業としては新規作成と同じですが、実際には「プロファイル(構成情報)」が定義されるだけなので、管理ツールには「CDNのプロファイル」と表示されます。

CDNプロファイルを作成するとき、同時に「エンドポイント」も指定できます(あとから追加することもできます)。エンドポイントは、キャッシュするWebサイトの代わりに指定するURLです。

▲CDNプロファイルとエンドポイントの作成

ここでは[新しいCDNエンドポイントを作成する]をチェックして、エンドポイントも同時に作成しました。画面ではnoellil20230315-2となっています。これにAzur CDNのDNSサフィックスであるazureedge.netを追加して http://noellil20230315-2.azureedge.net/ ができました。同様にもう1つのサイトも構成し、最終的に以下の2つのサイトを作成しました。

エンドポイントを作成するときは、元となるデータ(ソース)の場所と種類を指定します。今回はAzureストレージBlobの静的Webサイトを使うので[ストレージの静的Webサイト]を選びました。

しばらく待つとエンドポイントが構築されます。

▲作成されたエンドポイント

この状態で、初回アクセスは大元のストレージBlobから情報を取得するようになるのですが、少々時間がかかるようです。アクセスしても、しばらくは以下のような状態が続きます。

▲エンドポイント作成直後(まだコンテンツが複製されていない)

しばらく待つとCDNにファイルが複製されます。エンドポイントにアクセスすると目的の画像が表示されるはずです。

1つのCDNプロファイルで、複数のエンドポイントを作成できます。CDNプロファイル作成後に、エンドポイントを追加してください。今回は、2つのWebサイトを作成したので、エンドポイントも2つ用意しました。

 

Step 2: カスタムドメインの追加

このままではAzure CDNのDNSドメインサフィックスが使われてしまうので、カスタムドメインを追加します。

前回は、ストレージBlobにカスタムドメインを割り当てたのですが、その設定(DNSのCNAMEレコード)は削除してください。同じ名前を、今度はCDNに割り当てます。

  • 登録するカスタムドメイン名: noellil20230315.nwtraders.net
  • Azure CDNのドメイン名:  noellil20230315.azureedge.net

Webサイトを2つ作っているので、同様にもう1つのサイトのDNS名も割り当てます。

  • 登録するカスタムドメイン名: noellil20230315-2.nwtraders.net
  • Azure CDNのドメイン名:  noellil202303152.azureedge.net

DNSへの登録が完了したら、Azure CDNの[エンドポイント]の管理画面で、カスタムドメインを追加します。


 

Step 3: SSL用証明書(マネージド証明書)の割り当て

最後に、CDNにSSL用証明書を追加します。証明書は自分で作成したものを持ち込むこともできますが、Azure CDNから作成することもできます。Azure CDNで作成した証明書は「マネージド証明書」と呼ばれ、有効期間が来た場合の更新など、管理作業をすべてAzureが代行してくれます。しかも、料金はかかりません。

「厳密な審査を経た証明書を使いたい」といった要望でもない限り、ほとんどの場合はこれで十分でしょう。

 作成したカスタムドメイン名をクリックすると、SSLの構成画面に切り替わります。ここで[カスタムドメインHTTPS]を[オン]にし、[CDNマネージド]を選択して、[保存]をクリックします。

▲マネージド証明書の作成

その後の処理はすべて自動的に進行します。完了するまでは6時間ほどかかるので、気長に待っていてください。Azureの管理ツールを終了しても問題ありません。バックグラウンドで処理は継続します。


▲マネージド証明書の作成(約6時間かかる)

処理が完了しても、実際に有効になるまではさらに時間がかかります。以下は、構成が完全に完了する前にアクセスし、証明書情報を表示した例です。

▲マネージド証明書が完全に構成される前にアクセスした場合

以上で、Azure CDNを使ったSSL化が完了し、以下のサイトができました。

写真はアイドルグループ「NoelliL(ノエリル)

2023年3月25日土曜日

【Azure】ストレージBlobで静的Webサイトを作成する(非SSL独自ドメインの場合)

自分が撮った写真を、多くの人に公開したいと思ったことはありませんか。

ブログサービスで大量の写真を扱うのは面倒ですし、そもそも写真枚数に制限のあるサービスも多いようです。

かといって、自分でWebサイトを作るのはもっと大変ですし、安くても月額数百円から数千円の費用がかかります。

そこで、Microsoft AzureのストレージBlob(AWSのS3的なもの)で、静的Webサイトを作成し、カスタムドメインを設定してSSL化します。

必要な費用はストレージアカウントのコストとストレージからインターネットへ出ていく費用のみです。厳密な価格予測は難しいのですが、ざっと以下のとおりです。

  • ストレージ費用…1GBあたり1ヶ月約2.7円(ブログ執筆時点での東日本)
  • ネットワーク費用…最初の100GB無料

その他にストレージアクセスの回数による加算などもありますが、どうせアクセス数も少ないでしょうから無視します。ネットワーク費用も、100GBを超えると1GBあたり十数円が加算されますが、無視します。以前は5GBしか無料枠がなかったのですが、現在は100GBに増えています。

今回作成したWebサイトは2つありますが、あわせても1GB未満です。つまり、1ヶ月3円くらいのコストでWebサイトが作成できます。

それでは設定していきましょう。なお、Azureの契約や基本的な操作手順などは省略します。詳しく知りたい方は拙著「ひと目でわかるAzure」の第1章を参照してください。必要なストレージ操作などもこの章に書いてあります。


ひと目でわかるAzure基本から学ぶサーバー&ネットワーク構築第4版


Step 0: 準備

Webサイトを作ります。用意したのは、アイドルユニット「NoelliL(ノエリル)」が、2023年3月15日に川崎クラブチッタで行なったライブの写真です。

Webサイトの作成には、Adobe LightroomのWeb作成機能を使いました。数クリックでWebアルバムができます。本題ではないので詳しくは説明しませんが、こんな感じのファイルができました。階層構造があります。

▲Webアルバムのファイル

Step 1: 汎用ストレージアカウントの作成

Azureで汎用ストレージアカウントを作成します。速度はそれほど要求されないのでStandard (HDDタイプ)で十分です。

パラメーターはすべて既定値で問題ありませんが、ここではローカル冗長を指定しました。ローカル冗長はAzureのデータンセンター内で3重化します。Webアルバムに使用したファイルは別途バックアップがあるので、ローカル冗長で十分です。

「階層構造があるのに大丈夫?」と思った方、Azureに詳しいですね。既定値で作成したBlobは階層構造を持ちません。ストレージアカウントの下にコンテナがあって、それで終わりなので、1階層です。ですが、ファイル名にスラッシュ(/)があると、階層のように見せることができます。Blobを扱うツールの多くは、ローカルファイルの階層構造をスラッシュを含むファイル名に自動変換する機能を持っています。あとで実際にやってみましょう。

ストレージアカウントができたら、静的Webサイトを有効にします。この時、インデックスドキュメントとして、Adobe Lightroomが作成したファイル名index.htmlを指定します。


▲Blobの静的Webサイトを有効化

[保存]をクリックすると、静的Webサイトが完成です。

▲Blobの静的Webサイトが完成

この時、ストレージアカウントに$webというコンテナが作成されます。ここにWebサイトを構成するファイルを置きます。


Step 2: コンテンツファイルのコピー

ストレージアカウントに作成された$webにファイルをコピーします。今回は手軽に使えるazcopyコマンドを使いました。マイクロソフトのWebサイトからダウンロードしてください。

azcopyはAzure ADを使ったロールベースアクセス制御(RBAC)に対応しているので、Blob内の$webコンテナ対してRBACアクセス許可を与えます。それには最初に認証方法を「Azure ADのユーザーアカウント」に切り換えます。この切り替えには少し時間がかかるため、一時的にエラーが表示されます。気にせず、数分から十数分待ってください。




「Azure ADのユーザーアカウント」変更後のエラーは時間が解決する

そのあとで、RBACの役割を割り当てます(先に割り当てても構いません)。ここでは「ストレージBLOB共同作成者」を選択し、変更の権利を追加しました。

▲「ストレージBLOBデータ共同作成者」役割を追加


準備ができたら、以下のコマンドを実行してAzure ADにサインインします。

azcopy login --tenant-id テナントID

多要素認証を構成している場合はAzure ADのテナントIDを指定する必要があります(詳しい手順は省略します)。

サインインしたら、以下のコマンドでファイルをコピーします(1行です)。階層ごとコピーするオプションが –-recursive です。前述の通り、コピー先(Azure Blob)は実際には階層ではありませんが、階層のように見えます。

azcopy copy  --recursive * 'https://mls202112152.blob.core.windows.net/$web'

以上で、静的Webサイトが構成されました。静的Webサイトの構成画面に表示された「プライマリエンドポイント」のURLにアクセスしてください。

既定の構成ではhttps(SSL)アクセスのみ有効です。http(非SSL)アクセスを許可するには、ストレージアカウントの[構成]で、[安全な転送が必須]を無効にして、[保存]をクリックします。


▲非暗号化通信を許可してhttps(非SSL)アクセスを許可


これにより、httpsだけでなくhttpでもアクセスができるようになりました。

この時点で、DNSドメインサフィックスはweb.core.windows.netです。これではちょっと寂しいです。やはり独自ドメインを設定したいところです。


Step 3: ドメイン(SSL化しない場合)

独自ドメインの構成を「カスタムドメイン」と呼びます。SSLを使わない場合、DNSドメインの管理さえできれば簡単に追加できます。

まず、アクセスしたいDNSドメイン名に対して、静的Webサイトのプライマリエンドポイントのホスト名をCNAMEとして割り当てます。ここでは以下のように割り当てました。

  • 新規に作成するDNS名: noellil20230315-2.nwtraders.net
  • Azure静的Webサイト:  noellil202303152.z11.web.core.windows.net

次に、ストレージアカウントの[ネットワーク]から[カスタムドメイン]タブを選び、設定したいドメイン名を指定して、[保存]をクリックします。ここで、新規に作成するDNS名「noellil20230315.nwtraders.net」を指定しました。

▲カスタムドメインの追加(事前にDNSを構成しておくこと)

以上の操作で以下に対するアクセスができるようになりました。

ただし、カスタムドメインに対する適切な証明書がないため、httpsを使うと警告が表示されます。SSLの目的は、暗号化通信とサーバー確認です。これでは暗号化はできるものの、身元確認ができません。ストレージBlobを使った構成の限界です。

▲適切な証明書がない場合のhttpsアクセス(アドレスバー部分)

 

次回予告:カスタムドメインのSSL化

以上で、Webサイトとして公開できるようになりました。しかし、どうせならSSL化してhttpsでアクセスしたいものです。最近は、素生のわからないWebサイトはhttps接続が必須という会社もあるようです。

そこで次回は、ここで作成した静的WebサイトをSSL化する方法を紹介します。
ヨコヤマ企画: 【Azure】ストレージBlobで静的Webサイトを作成する(SSL独自ドメインの場合)

2023年2月26日日曜日

【Azure】仮想ネットワーク作成の新UI(詳細版)

ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 第4版』が2023年1月に出版されました。

クラウドサービスではよくあることですが、本書の執筆後に、仮想ネットワークの作成画面が大きく変わりました。この変更は大がかりなせいか、一斉には切り替わっておらず、現時点でも混在しています。

新しい画面では、オプション設定であるセキュリティ機能を先に指定するなど、他のリソースの作成画面と整合性が取れていないため、このままなくなる可能性もあります。また、さらに別の画面になる可能性もあるのでご注意ください。

基本的な手順は、ヨコヤマ企画: 【Azure】仮想ネットワークの作成(最近増えてきた操作画面) (g20k.jp)で紹介していますが、ここではもう少し丁寧に、書籍での記述に揃えて記述します。「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 第4版」89ページから79ページとあわせてご覧ください。

  1. Azureポータルで[+リソースの作成]をクリックする。
  2. [ネットワーキング]-[Virtual network]を選択する。
    • [仮想ネットワーク]と日本語で表示されることもある。
  3. [基本]タブで、以下の項目を指定して[次:セキュリティ]をクリックする。
    • [サブスクリプション]…使用するサブスクリプションを選択する。
    • [リソースグループ]…新規作成または既存のものを使用する。
    • [名前]…仮想ネットワーク名として、自分が区別しやすい名前を指定する。
    • [地域]…リージョン(データセンターの場所)を選択する。
  4. [セキュリティ]タブで、以下のセキュリティオプションを指定して[次:IPアドレス]をクリックする。
    • [Azure Bastion]…仮想マシンに接続するための有償サービス。あとから追加することもできるので、ここでは[無効化]を選択する。詳しくは後述する(この章の11)。
    • [Azure Firewall]…Azureファイアウォール(有償)を利用する場合は有功にする。あとから構成することもできる。Azureファイアウォールを構成しなくても、NSGによる基本的なフィルター機能や、DDoS Protection BasicによるDDoS保護機能は無償で提供される。
    • [DDoS Protection Standard]…Azureで分散型拒否攻撃(DDoS)保護機能(有償)を使う場合は[有効化]を選択する。[無効化]を選択した場合は「DDoS Protection Basic」のみが利用される(無償)。DDoS Protection Basicは無効にできない。本書では、DDoS Protection Standardについては扱わない。
  5. [IPアドレス]タブで、TCP/IPアドレス情報を指定する。既定では10.0.0.0/24のアドレス空間が指定される。変更するには、アドレス空間の画面から[…]をクリックし、[アドレス空間の削除]を選択する。
  6. [IPアドレス空間の追加]をクリックする。
  7. [IPアドレス空間の追加]ブレードで、以下のとおりパラメーターを指定して、[追加]をクリックする。
    • [アドレス空間の種類]…IPv4またはIPv6を選択する。

    • [開始アドレス]…IPアドレスのネットワーク番号を入力する。

    • [Address space size]…アドレス空間のサイズを選択する。必ずサブネットに分割して使うため、大きめの範囲を指定する方がよい。後述の手順で作成後の変更も可能。

  8. IPアドレス空間ができたことを確認し、[+サブネットの追加]をクリックする。
  9. [サブネットの追加]ブレードで、以下のとおりパラメーターを指定して、[追加]をクリックする。
    • [IPアドレス空間]…作成済みのIPアドレス空間を選択する。

    • [サブネットテンプレート]…Defaultを選択する。その他の選択肢は、サービス固有のサブネットを必要とする場合に指定する。たとえば後述するAzure Bastionには専用のサブネットが必要になる。

    • [名前]…サブネット名を入力する。

    • [開始アドレス]…サブネットの開始アドレスを入力する。

    • [IPアドレスサイズ]…サブネット長を選択する。

    • [NATゲートウェイ]…作成済みのNATゲートウェイを指定できる。本書では扱わない。

    • [ネットワークセキュリティグループ]…作成済みのネットワークセキュリティグループ(NSG)をサブネットに割り当てることができる。

    • [ルートテーブル]…作成済みのルーティングテーブルを指定できる。本書では扱わない。

  10. IPアドレス空間とサブネットを確認し、[次:タグ]をクリックする。

  11. [タグ]タブで、タグを指定して[次:確認および作成]をクリックする。
  12. [確認および作成]タブで、内容を確認して[作成]をクリックする。

2023年1月16日月曜日

【Azure】仮想ネットワークの作成(最近増えてきた操作画面)

Microsoft Azureの仮想ネットワーク作成画面が、一部のユーザーで変更されています。新しい手順は、他のAzureリソースの作成手順と一貫性がなく、これが全員に広がるかどうかは分かりません。

具体的な手順は以下のとおりです。リソースグループ名やリソース名を含め、構成パラメーターは「Microsoft AzureによるITインフラの拡張」に従いました。テキストとあわせてご覧ください。

  1. Azureポータルの検索ボックスでvnetとキーボードから入力し、[仮想ネットワーク]を選択
  2. 仮想ネットワークの管理画面に切り替わるので[+作成]をクリック
  3. 以下の情報を指定
    • サブスクリプション: (既定値)
    • リソースグループ: azurelabnn (nnは受講者番号)
    • 名前: vnetnn (nnは受講者番号)
    • リージョン(地域): Japan East (東日本)
    • [次:セキュリティ>]をクリック
  4. [次:セキュリティ>]で何も指定せずに[次:IPアドレス>]をクリック
  5. []をクリックして[アドレス空間の削除]を選択し、既定のアドレス空間を削除
  6. [IPアドレス空間の追加]をクリック
  7. 以下の情報を指定
    • アドレス空間の種類:  IPv4
    • 開始アドレス: 172.16.0.0  (キーボードから入力)
    • Address space size: /16  (ドロップダウンリストから選択)
    • [追加]をクリック
  8. [サブネットの追加]をクリック
    • IPアドレス空間:  172.16.0.0/16  (確認のみ)
    • サブネットテンプレート:  Default
    • 名前: subnet-1 (キーボードから入力)
    • 開始アドレス: 172.16.1.0  (キーボードから入力)
    • IPアドレスサイズ: /24  (ドロップダウンリストから選択)
    • その他の項目は既定値のまま[追加]をクリック
  9. IPアドレス空間とサブネットを確認して[確認+作成]をクリック
  10. 検証に成功したことを確認して[作成]をクリック

2022年10月10日月曜日

【Azure】Azure Backup(MARSエージェント)によるシステム状態の復元

Azure Backup(MARSエージェント)は、Windows ServerのファイルやフォルダーをAzureのRecovery Servicesコンテナにバックアップするサービスです。システム状態のバックアップも可能ですが、ベアメタル回復の機能はありません。

システム状態の復元は可能ですが、ファイルとして復元されるためOSの回復に使うことはできません。

と、今まで説明してきたのですが、Windows Serverバックアップ(Windows Server標準のバックアップツール)を使うことで復元が可能になっています。

ただし、Windows Serverバックアップを起動するためにはWindows Serverが正常に起動することが必要です。新しいサーバーを構成して、そこに上書きする形で復元することも可能ですが、デバイスドライバーの情報も復元されてしまいます。最近のドライバーは自己診断機能があるのか、互換性のないドラーバーが勝手に起動して不具合を起こすようなことは滅多にありませんが、念のため同じハードウェア構成のマシンに復元してください。

  1. Azure BackupでSystem State(システム状態)を別の場所に復元
    この時点で、レジストリなどの情報がファイルとして復元される。
  2. 復元した場所を共有(※ポイント1)
  3. Windows Serverバックアップで復元作業を開始
  4. システム状態の復元を選択し、共有を指定(※ポイント2)

Windows Serverバックアップは、MARSエージェントのバックアップ情報を直接読み取ることができません。そのため、いったん別の場所に復元します。たとえば、復元先にE:\BACKUPを指定した場合、以下の階層が作成されます。

E:\BACKUP\C_vol\Program Files\Microsoft Azure Recovery Services Agent\Scratch\SSBV

復元したファイルを指定するには、ネットワーク共有として指定する必要があるため、復元ファイルを含むフォルダーを共有します(※ポイント1)。

この時指定する共有名は110文字以内に収める必要があります。そこで、上記の例だとSSBVフォルダーを共有します。

たとえばサーバー名が「SERVER」で、SSBVフォルダーを既定値で共有した場合、復元時には以下のように指定します。

\\SERVER\SSBV

Microsoft Learnには具体的な手順が記載されていますが、復元手順はWindows Serverバックアップの別のドキュメントを引き写しただけのようで、フォルダーの指定が適切ではありませんでした。単純に復元先の共有フォルダーを指定するだけではエラーになります。

Windows Server へのシステム状態の復元 - Azure Backup | Microsoft Learn

2021年8月18日水曜日

【Microsoft セキュリティ、コンプライアンス、ID の基礎】Microsoft Defender 、分類管理、アクション

先日「Microsoft セキュリティ、コンプライアンス、ID の基礎 (SC-900T00)」を実施中、積み残した質問があったので、この場で回答しておきます。

●Microsoft Defender for Endpoint

Microsoft Defender for Endpointは、次のいずれかのボリュームライセンス製品が必要です。

  • Windows 10 Enterprise E5
  • Windows 10 Education A5
  • Microsoft 365 A5 (M365 A5)
  • Microsoft 365 E5 Security
  • Microsoft 365 A5 Security
  • Microsoft Defender for Endpoint

単独のライセンスもありましたが、直販はなく代理店扱いのようです。
検索結果によると1ライセンスあたり月額570円でした。

●ファイルの分類

オンプレミスのファイル分類管理(FCI: File Classification Infrastructure)は、以下の2つのステップで動作します。

  1. ファイルの内容や保存先フォルダーに基づいて、ファイルのプロパティにラベルを追加
  2. ファイルのラベルに基づいてアクションを実行(ファイルの移動、暗号化、任意のコマンド)

詳しくは以下のドキュメントを参考にしてください。

クラウドの場合は、フォルダーに基づく分類はなく、ファイル内容に基づいた自動分類と手動分類しかないようです。

分類はMicrosoft 365上で準備しますが、分類結果自体はファイルの属性として保存されるため、デスクトップアプリでも利用できます。

▲SharePoint上に作ったファイルをダウンロードして開いてみました。

具体的な設定手順は、コース「Microsoft Information Protection 管理者 (SC-400T00)」の演習で扱っています。

演習ガイドは以下で公開されていますが(日本語)、サポートはコースの受講者に限られているので、申し訳ありませんがここでの解説はご容赦ください。

GitHub - MicrosoftLearning/SC-400JA-Microsoft-Information-Protection-Administrator


●Microsoft 365 Defenderからのアクション

Microsoft 365 Defender自身にも自動応答はありますが、機能は限定的です。
やはりAzure Sentinelと統合することを想定しているようです。


以上、簡単ですが補足説明でした。

2020年1月4日土曜日

【書籍】ビクトリア女王は「新刊が出たら教えてくださいね」と言ったので、桜庭にいなさんにもやってもらった

トレノケ雲の会 mod.6「雲の下から(meet the author)」開催レポート で告知した通り、猫写真サークル「まぐにゃむフォト」として、「コミックマーケット(コミケ)97」にサークル参加してきました。ちなみに「技術書典8」は抽選漏れです。


meet the author「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 第3版」 from Tetsuya Yokoyama

一番売れたのは新刊の「ふとんねこ」ですが、一番長い時間をかけて撮ったのが「COPYCAT」シリーズで、これもそこそも売れていきました。

コミケ前、「ふとんねこ」ができる前に、このCOPYCATを猫好きだというインディーズアイドル(地下アイドル)の桜庭にいなさんに差し上げました。そして、「新刊が出たら教えてくださいね」と言わせました。

「あ、新刊あります」と、わざとらしく渡したのが「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築


ひと目でわかるAzure基本から学ぶサーバー&ネットワーク構築第3版
(マイクロソフト関連書)

桜庭にいなさん、今はLinux系のSEとして働いていらっしゃるようで、ビクトリア女王が数学書をもらったよりはお役に立てるのではないかと思います。


【元ネタ】ジョークの解説をするのは野暮ですし、「トレノケ雲の会」のスライドにも入っているのですが、こちらにも書いておきます。

『不思議の国のアリス』を読んだビクトリア女王が「他の本も読みたい」とルイス・キャロルに言ったら『行列式初歩』という数学書が贈呈されたそうです。

ルイス・キャロルの本名はチャールズ・ドジソンで、立派な数学者です。

2019年12月16日月曜日

【Azure】要塞~RDPもSSHも使えないときは~

Microsoft Azureで仮想マシンを管理するには、RDP(Windowsの場合)またはSSH(Linuxの場合)による接続が必要です。

まれに、社内からはRDPもSSHも使えない会社があるようです。そういう会社でクラウドコンピューティングサービス、特にIaaSを勉強するののはほとんど無理だと思うのですが、皆さんどうなさっているのでしょう。

RDPやSSHが使えなくても、HTTPSは通す会社が多いようです。実は、HTTPSが使えれば多くの抜け道があるので何とかなります。RDPやSSHを禁止するのは「セキュリティ上の理由」と説明していただくことが多いのですが、HTTPSを通すのであれば、セキュリティ対策にはそれほど貢献していません。

もっとも、世の中にはアクセス先のIPリストを管理しているところもあるようで、それならセキュリティ上の意味はあります。もっとも、あまり厳しく制限すると今度はインターネットを使う意味がなくなると思いますが。

さて本題です。HTTPSを使ってAzureの仮想マシンにアクセスするのは以下の方法があります。他にも最低2つは思いついたので、皆さんも考えてみてください。

  1. ポイント対サイトVPN接続(P2S VPN)
  2. クラウドシェル上でのSSHコマンド
  3. 要塞ホスト(Bastion Host)


1. ポイント対サイトVPN

仮想ネットワークにVPNゲートウェイを立てて、SSTP接続を行います。SSTPはSSLベースのVPNであり、HTTPSを通すのであれば問題なくつながるはずです。

また、OpenVPNを使うこともできます。OpenVPNはポート番号を自由に設定できるので、HTTPSと同じポートを使ってファイアウォールの制限を回避できる可能性があります。

ポイント対サイトVPNの詳細は、教育コース「Microsoft AzureによるITインフラの拡張」で紹介しているほか、拙著「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築第3版」でも解説しています。

基本的には管理者を想定しているため、クライアントPCの管理者権限が必要です。

なお、ゲートウェイを作成するには30分ほどかかります。


2. クラウドシェル

Azureの管理ポータルからLinux (Ubuntu) ベースのシェルを起動できます。このシェルからsshコマンドを使ってSSH接続を行います。ただしGUIは使えません。

その場で起動できるので便利ですが、RDPを使って接続することはできません。また、Windowsに接続したい場合は、Windows仮想マシン上でSSHサーバー(デーモン)を起動する必要があります。そのためには初期化時にPowerShellのコマンドを送る必要があり、少々面倒な作業が必要になります。


3. 要塞ホスト

最近正式公開(GA: Generally Available)になった方法で、単に「要塞」と呼ぶようです。英語ではBastion(バスチョン)です。

大ざっぱな手順は以下の通りです。

  1. 仮想マシンを作成
  2. 仮想マシンを配置した仮想ネットワークに、AzureBastionSubnetという名称のサブネットを作成(現在は、事前に作成しなくてもBastion作成時に追加可能)
  3. 要塞(bastion)を、AzureBastionSubnetサブネットを指定して新規作成
  4. 仮想マシンの[接続]から[要塞]を指定
    要塞ができていない場合は、その場で作成することもできます。
    ここでサブネットの作成もできるようになりました。サブネット名が指定されるのでクリップボードにコピーして貼り付けてください。

    要塞の作成には数分かかります。
  5. 要塞ができている場合、[接続]からWebブラウザのウィンドウ内でRDPまたはSSH接続が可能になります。

要塞の料金は、東日本の場合で1時間あたり21.28円プラス帯域使用料です。D2v2仮想マシンより少し安い程度ですね。

ただし「割り当て解除」のような、課金を中断する仕組みはないようです。サブネット名が固定されているなど、どちらかというとVPNゲートウェイに似ています。


おまけ: バスチーユ

ちなみに、bastion(要塞)に対応するフランス語がbastille(バスチーユ)です。

フランス革命勃発の舞台となったバスチーユ牢獄はもともと要塞だったのでそのまま「バスチーユ」と呼ばれるようになったそうです。

2019年10月26日土曜日

【Azure】Azureポータルのハブメニューが消えた?

ひと目でわかるAzure「基本から学ぶサーバー&ネットワーク構築」第3版が無事出版されました。

ひと目でわかるAzure基本から学ぶサーバー&ネットワーク構築第3版

前著から100ページ増加していますが、値段は200円アップにとどめています。

左から、初版、改訂新版、第三版です。第3版でだいぶ厚くなっていることが分かります。

クラシックモデルの内容をだいぶ削ったので、ここまで厚くなるとは思いませんでした。そもそも、そんなに加筆したつもりはないのですが。

例によって、校正中に機能が変わったり、画面が変わったりして、多少困ったこともあったんですが、大きな変化はなくてよかったと思います。

が、最近、Azureポータルの操作がちょっと変わりました。

左端のメニュー(ハブメニュー)がなくなりました。


3本ラインのハンバーガーボタン(本来は「引き出し」のアイコンらしい) を押すと出てきます。

従来のハブメニューは、正直ちょっと邪魔だったのでよく縮小してました。前著「改訂新版」でも、ハブメニューを縮小した画面ショットを多用しています。今回はきちんと表示しているのですが、これだったら隠しても良かったですね。


2019年8月2日金曜日

【Azure】Azureサイトリカバリーで可能な操作

「Microsoft Azureによる災害復旧手法」のテキストで、少しわかりにくいところがあったので補足します。

詳細は、マイクロソフトの公式情報「Hyper-V から Azure へのディザスター リカバリー アーキテクチャ」をご覧ください。


いつでも実行可能な操作

以下の作業はいつでも実行可能です。

  • 移行の完了…現在の状態を保存し、複製を正常に終了(フェールオーバー中の仮想マシンは残る)
  • レプリケーションの無効化…複製をなかったことにする(フェールオーバー中の仮想マシンは残る)


Hyper-V対Azure

Hyper-V対Azureの複製の場合、利用可能な操作は以下の通りです。

●平常時(Hyper-Vで実行)

  • 計画されたフェールオーバー
  • フェールオーバー
  • テストフェールオーバー

●テストフェールオーバー中(両方で実行)

  • テストフェールオーバーのクリーンアップ

●計画されたフェールオーバー(Azureでの実行に切り替え)

  • 復旧ポイントの変更
  • コミット(復旧ポイントの確定)

●計画されたフェールオーバー後のコミット後(Azureで実行中)

  • 計画されたフェールオーバー(つまりフェールバック)

●フェールバック中

  • コミット(フェールバックが確定するが、Azure上の複製に対して構成変更できないなどの制限がある)

●フェールバック中のコミット後

  • レプリケーションの反転(複製を含め、すべてが平常時の状態に戻る)

Azure対Azureの場合

オプション演習のAzure対Azureの複製の場合、利用可能な操作は以下の通りです。

●平常時

    • フェールオーバー
    • テストフェールオーバー

    ●テストフェールオーバー中

    • テストフェールオーバーのクリーンアップ

    ●フェールオーバー中

    • 復旧ポイントの変更
    • コミット→復旧ポイントの確定

    ●フェールオーバーからのコミット後

    • 再保護→反転した複製の開始→平常時へ移行

    Azure対Azureは、両サイトが対等の関係なので「フェールバック」という概念はないようです。


    【追記】

    フェールバック中、コミットした段階で複製は始まります。ただし、反転するまではフェールオーバーができません。フェールバック後の障害に備えるには、必ず反転する必要があります。

    2019年7月28日日曜日

    「クラウド市場シェアナンバーワン」に意味はない

    「AWSが世界のクラウドサービス市場で首位陥落、マイクロソフトが逆転」というニュースが入ってきて、正直ちょっとあわてました。

    AWSがクラウド業界のリーディングカンパニーであることは間違いなく、それを追うのがマイクロソフトという構図は変わっていません。また、市場シェアはAWSのざっと半分がAzureというのが一般的な見解です(調査会社によっては4倍程度まで開きます)。

    「AWS vs. マイクロソフト」つまり、SaaSを含む全クラウドの売り上げを集計すると、僅差でマイクロソフトが勝ったということです。逆にいうと、ほとんどSaaSを持たないAWSが、僅差で2位というのはいかにAWSが支持されているかの証拠でもあります。

    SaaS (Software as a Service) はクラウドの一種ではありますが、利用者の意識はちょっと違うように思いますし、IT技術者の意識もSaaSは区別して考える場合が多いようです。

    AWSは最近までSaaSには手を付けていませんでした。マイクロソフトはIaaSとPaaSをAzureとして提供していますが、SaaSは別ブランドです(たとえばOffice 365)。IBMも、IaaSのSoftLayer、PaaSのBluemixを統合しIBM Cloudとしましたが、SaaSは別ブランドです。

    SaaSを特別扱いするのは、それがビジネスと直結しているからです。電子メールやドキュメントツールくらいなら、会社による違いはそれほどありませんが、会計システムだと業界ごとの差は大きく、会社ごとの独自性もあります。

    マイクロソフトもAWSも、業務に直結したアプリケーションの提案は、ビジネスパートナーの仕事です。マイクロソフトはDynamics 365というERPクラウドを持っていますが、これはクラウドプロバイダーとしてはかなり珍しい存在です。

    ただ、近頃のSaaSはアプリケーションから利用するためのAPIが公開されており、実質的なPaaSとして利用できます。CRM(顧客管理)のSaaSで有名なSalesforceは、Salesforce CRMの動作基盤をPaaSとして利用できます。このように、SaaSとPaaSの区別はあまりなくなってきています。

    このように、SaaSは定義的はクラウドですし、実体としてもPaaSに寄ってきたので、名実共にクラウドの一種ではあります。

    それでも、現段階でSaaSをIaaSと同列に並べるのはちょっと抵抗を感じます。

    そういうことを感じながら、「AWS首位陥落」という表現はちょっと違うなあと思いながら書いた記事がこちらです。

    クラウド市場シェアナンバーワンはどこだ?~AWS vs. マイクロソフト~

    2019年7月27日土曜日

    英語版Windows Serverを日本語化する手順

    Azureなどのクラウドが提供する仮想マシンの多くは英語版のOSしか利用できません。AWSの場合は、Community AMIとして日本語化されたものも選べるようですが、Azureにはありません。Azureには、中国語版が最近追加されたので、日本語版も追加される可能性はゼロではありませんが、可能性は低いでしょう。

    そこで、以前「英語版Windows Server 2012 R2を日本語化する手順」というエントリを書きました。しかし、手順を紹介しただけで、画面ショットもありませんでした。

    Windows Server 2019で操作手順が変わったため、改めて画面ショットも付けて書き直しました。

    【図解】英語版Windowsの日本語化~画面ショット付き詳細手順~

    今度は会社の公式ブログに載せてもらいました。

    Windows Server 2019では[コントロールパネル]ではなく、[設定]を使います。Windows Server 2016では[コントロールパネル]と[設定]のどちらでも可能ですが、[設定]の手順がWindows Server 2016と微妙に違います。一方、コントロールパネルを使った手順はWindows Server 2012と同じなので、ブログではWindows Server 2019とWindows Server 2016以前の2つに分けています。

    2019年6月26日水曜日

    【Azure】マネージドディスクとイメージ、仮想マシンの課金

    一般にクラウドコンピューティングサービスでは「使った分だけ課金」が基本ですが、何をもって「使ったか」というのはなかなか難しい問題です。


    ストレージアカウントの場合(ページBLOB=非マネージドディスクを含む)

    Azureのストレージは、Standard ページBLOBを使った仮想ディスクだけが「実際に使った分量に対してGB単価で課金」で、その他のストレージは「割り当てた分量に対して課金」です。

    Standard ページBLOB以外のストレージは、いくつかの容量が事前に用意されており、それを選ぶ「カタログ方式」となっています。実際には1GB単位で指定できるのですが、課金はカタログ単位の切り上げになります。たとえば128GBの次は256GBなので、129GBを割り当てると256GBの課金が発生します。

    請求は1ヶ月単位のサイクルで行なわれますが、ストレージの使用が1ヶ月に満たない場合は毎日の平均(日割り計算)となります。

    Azure Storage を月に数日間のみ使用した場合、料金は日割りされますか?

    はい。ストレージ容量は、1 か月にわたり、保存されていたデータ量の 1 日あたりの平均 (GB 単位) を基準に請求されます。たとえば、月の前半は 10 GB のストレージを常に使用し、後半は使用しなかった場合は、ストレージの平均使用量の 5 GB が課金されます。

    (ストレージのFQAより)

    課金は1日のピークで行なわれるので、図の例で6月15日にゼロにするためには、6月14日中に削除しておく必要があります。

    マネージドディスクの場合

    ただし、マネージドディスク(管理ディスク)の場合はStandard HDDを含むすべての種類が割り当て単位で課金されます。また、カタログにある容量を超えた場合は課金が切り上げられます。

    ストレージアカウントと同様、請求は1ヶ月単位のサイクルで行なわれますが、マネージドディスクの使用が1ヶ月に満たない場合は1時間単位の課金となります。

    以下に示す料金が月額になります。管理ディスクを 1 か月未満使用した場合はどのように課金されますか。

    料金は月額を使用して、時間単位で計算されます。たとえば、P15 の Premium SSD は ¥4,896.720 になります (リージョンによって料金が異なります)。10 月は、¥4,896.720/(31 日 x 24 時間) = ¥6.582/時間で課金されます。

    (マネージドディスクのFQAより)


    仮想マシンイメージの課金

    マネージドディスクから仮想マシンイメージを作った場合、「スナップショット」と同等の料金がかかります。「無料」と書いてある記事もあるようですが、課金されることはサポートに問い合わせたので間違いありません。

    しかし、実際に課金状況を調べてみると、はるかに小さな金額しか請求されていません。「課金サポートではこれ以上のことは分かりかねるので、有償の技術サポートに連絡して欲しい」と言われました。詳細が分かったら報告します。


    仮想マシンの課金

    Azureの仮想マシンは、分単位課金です。仮想マシンが実行状態になってから課金がスタートして、最初の1分は無条件に1分が課金されます。

    その後、1分59秒までは追加の課金がなく、2分になってから次の1分の課金が行なわれます。

    AzureのWebサイトには「秒単位課金」という言葉や「時間課金」という言葉が混じっていて混乱していますが、ブログ執筆時点で分単位で課金されることは間違いありません。

    「秒単位課金」は「秒単位計測」の意味のようです。1分59秒までが1分、2分ちょうどから次の1分と、正しく認識するには秒単位の計測が必要です。

    「時間赤金」は課金明細の記載単位だそうです。確かに、利用明細には「0.92 1時間」のように、1時間単位で記載されています。

    ちょっと紛らわしいですね。

    なお、後損仁通り、仮想マシンの課金は単なるシャットダウンでは停止せず、「割り当て解除」状態に移行しないと課金が継続します。ハードウェアの割り当てをしている以上は「使っている」とみなすわけですが、これも直感に反します。理屈が分かれば不思議ではないのですが。