ADの用語についてまとめてみる

ADとは

Windows serverの機能で、ユーザーとコンピューターを管理し、ユーザー認証とアクセス制御の機能を提供する ADとだけ言われた場合は、AD DS(ドメインサービス)のことをさしていることが多い

ADが提供する機能5つ

  1. ドメインサービス
  2. 証明書サービス (社内認証局)
  3. フェデレーションサービス (SSO)
  4. Rights Management (暗号化やアクセス制御)
  5. ライトウェイトディレクトリサービス (ディレクトリデータベース)

ドメイン

ADによる管理の単位。 (= ADを使ってSSOできる範囲)

WindowsPCはドメインまたはワークグループのいずれかに所属する必要がある

ドメインサービス

ドメインコントローラー

ドメイン機能を実装したWIndows serverのこと ADサーバーとも呼ばれる

フォレスト

ドメインツリー同士を信頼関係で繋いだ時の最大範囲。(1番大きなくくり)

ドメインツリー

ルートドメインがxx.comとしてaa.xx.comは子ドメインといい、この親子構造をドメインツリーと呼ぶ この二つには双方向の信頼関係がある。

OU 組織単位

ドメイン内で管理を分けたい場合に利用する。 ドメインが会社でOUが部署のイメージ

サイト

拠点毎にドメインをまとめた単位 = 高速に通信ができるコンピュータをまとめている

  • PCはサイト内のDCを優先的に利用する
  • DCの複製はサイト内でのみ行われ、代表のDCがサイト間の複製を行う。

グループポリシー

ドメインコントローラーに保存される、ドメインに参加するコンピュータやユーザーに設定を適用する機能

ドメイン参加しているコンピューターに適用される。ユーザーはドメイン参加していないとIDがなく、PCにログインできない

SSO シングルサインオン

一度認証するとどのサーバーにもアクセス可能になること。

ADFS (Active Directory フェデレーションサービス)

ワークグループ

コンピュータまいにセキュリティ制御やユーザー登録をする。 ドメインコントローラが不要でコストが安い。 運用コストを考えるとドメイン管理する方が良い

信頼関係

ドメインどうしを結びつけ、信頼したドメインからアクセスできるようになる。

Kerberos

認証及び認可の確認を行う機能(プロトコル) 入力された認証情報が正しいか確認 + 特定のサーバーへのアクセス圏があるかの確認。

LDAP

Lightweight Directory Access Protocol ADで採用されているディレクトリデータベースの規格

ダイナミックアクセス制御

Windows Server 2012からサポートされた。グループ単位ではなく、属性情報をもとにアクセス権を定義できる仕組み

マルチマスター複製

ADの複製の方式 45秒以内で全ての複製が完了する。 変更15秒後にフォワーダ先のドメインコントローラに変更通知する。

グローバルカタログサーバー

検索に用いるデータが集約され、早く検索できる 「Active Directoryサイトとサービス」から変更する

参考

Active Directory(ドメインコントローラー) の全て|初心者でもADサーバーを完全に理解できる | IT trip

基礎から分かるActive Directory再入門 - @IT

Active Directory入門:アクティブディレクトリとは、ドメインとは

AzureVMでAD Serverを作ってみる。

概要

Windows serverを触ったことがなく、業務でAD(Active Directory)に触れる機会がありそうなので、以下サイトを参考にADを作ってみたいと思います。

Active Directory サーバー(ADサーバー)の構築手順を初心者にも分かり易く徹底解説 | IT trip

今回はWindows Server 2022のVMを作成し、その中でADを設定します。

手順

こんな感じのパラメータでVMは作成しました。

f:id:shohei-kun:20220415234328p:plain
AD vm parameters

節約のためにSpotインスタンスや!

RDPでServerに接続!

RDPのポートは元々開けていましたので、「Microsoft Remote Desktop」をインストールして接続を試みます。

Microsoft Remote Desktop

Microsoft Remote Desktop

apps.apple.com

Azure VMインスタンスのConnectをクリックすると、RDPの繋ぎ方を教えてくれます。 RDP fileをインストールしたMRDにDrag&Dropでもう接続できます!便利!

f:id:shohei-kun:20220416001502p:plain
RDPの仕方はportalで確認できる

いよいよWindows Serverに接続 & AD作成

接続して少し待つと、こんな感じの画面になりました。初めてなので少し感動

f:id:shohei-kun:20220416000001p:plain
最初の画面 Windows Server

設定も特に問題なく完了。2016と2022が全然変わらないのは助かりますね。

f:id:shohei-kun:20220416000107p:plain
役割と機能の追加ウィザード

f:id:shohei-kun:20220416000330p:plain
初!ドメインコントローラへの昇格

f:id:shohei-kun:20220416000402p:plain
時間がかかったForestの追加

AD作成の確認!

以下のアプリを確認しました。

Control Panelを確認するところもあったのですが、Windowsの操作がわからないのとWS2022でUIも変わっているため確認できず!で

もUser&Computersのアプリ内でドメインは確認できましたので大丈夫そうです。

f:id:shohei-kun:20220416001631p:plain
ADに大事らしいUser&ComputersとGroup Policy Management

終わりに

いったんADの作成が完了しました。 今後も2台目を構成したり、ユーザー追加してみたりと試していきたいと思います。 Azure ADも早く触りたい!

大体この記事を書きながら40分以内で完了しました。

AzureのBasicプランに使えないRegionがある?

起きたこと

AzureをBasicプランにアップグレードしてVMを作ろうとしたら、料金などが表示されず、VMが作れない。 US Eastが自分のサブスクリプションに対応していないらしい。

Japan Eastを選択したりAsia圏を選択すると色々出てきたのだが、なぜなのだろう? 同じAsia PacificでもSoutheast Asiaは使えなかったりと意味がわからない。 職場でもサイトでは使える予定のRegionが使えなかったり、トラブルあるっぽい。改善を強く求めたいですね。 AWSではあり得ないことです。

VMが利用可能か確認する。

ここらへんでVMが利用できるのかは検索すればいいのだろうか?

Azure Products by Region | Microsoft Azure

AzureのアカウントをPayAsYouGoにしてみた

題名の通り、Azureの無料クレジットが終了したので、従量課金性に変更してみました。 個人で利用するため、料金には注意するようにしたいです。

無料クレジットが終了した後に従量課金にするには?

azure.microsoft.com

こちらのページからガシガシ進んでいけばいけました。 4種類くらいあり、techinical supportの有無により基本月額が変わるようです。

私は月額無料のBasicを選択いたしました。

数分経過するとアカウントがupgradeされメールなどが届きました。

VMのメトリクスアラートの設定

VM Insights始め方

VM > Monitoring > Insights でEnable をクリック

Monitoring workspaceというのに紐づける必要があるようで、選択します。 defaultのものが私の場合は存在していました。

f:id:shohei-kun:20220321111645p:plain
VM insights

Monitor > Insights > Virtual Machinesで存在を確認。

f:id:shohei-kun:20220321112836p:plain
VM insight screen

VMの死活監視をする。

死活監視のためにInsightsを有効にする。

Tutorial - Alert when Azure virtual is down - Azure Monitor | Microsoft Docs

Monitor > Logsで以下のように入力するとHeartbeatが確認できる。

Heartbeat
| where Computer == 'vm name'
| where TimeGenerated > ago(10m)

みたいにして検索してみる。

f:id:shohei-kun:20220321114504p:plain
heartbeat

その後、New alert ruleをクリック。

Log queryやMeasurementは勝手に入力されていて、必要に応じて変更できる。 Alert logicで0以下のときにアラートを設定

f:id:shohei-kun:20220321115244p:plain
alert logic

あとはaction groupや名前などを設定して作成する。

テストするには?

対象のVMをストップ

放っておくとalertが確認できました。

f:id:shohei-kun:20220321120721p:plain
alert fired

再起動しても鳴り続けるアラート

再度VMをスタートすれば、アラートが解除されると思ったのですが、アラートは鳴り続けてしまっています。

治し方がわからなかったので、別のVMを作り同様の手順を行ったところ、再起動後にもheartbeatを確認できました。

Heartbeatの頻度は?

60秒に一回っぽい

Agent Health solution in Azure Monitor - Azure Monitor | Microsoft Docs

参考

Enable Azure Monitor for single virtual machine or virtual machine scale set in the Azure portal - Azure Monitor | Microsoft Docs

Tutorial - Alert when Azure virtual is down - Azure Monitor | Microsoft Docs

Monitor virtual machines with Azure Monitor: Alerts - Azure Monitor | Microsoft Docs

【Azure】Virtual Machineへのディスクのマウント

ディスクのアタッチ

ディスクをつけたいVMのメニューからDisksを選択し、Create and attach a new diskをクリックします。 Disk名などをつけて、Saveをクリックします。

ディスクを見つける

sshvmに接続し、以下のコマンドを打ちます。

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

こんな感じの出力結果

shohei@disktestapp:~$ lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     0:0:0:1       4G
└─sdb1                4G /mnt
sdc     1:0:0:0       4G
sdd     1:0:0:1     200G

ちなみに、sshVMに接続した後、azure portalでdiskを追加して上記のコマンドを再度実行すると、diskの項目が増えてますのでわかりやすいです。 上記例ではsdcとsddが追加したディスクです。

ディスクのフォーマット

今回は新しいディスクのアタッチなので、フォーマットが必要です

2TiB以下なのでgptを入力します

sudo parted /dev/sdd --script mklabel gpt mkpart xfspart xfs 0% 100%

こちらで問題ないか確認

sudo mkfs.xfs /dev/sdd1
sudo partprobe /dev/sdd1

もう一度 lsblkで確認すると以下のようになっていました。

sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     0:0:0:1       4G
└─sdb1                4G /mnt
sdc     1:0:0:0       4G
sdd     1:0:0:1     200G
└─sdd1              200G

ディスクのマウント

sudo mkdir /datadrive
sudo mount /dev/sdd1 /datadrive

マウントがこれで完了します

再起動時の設定

再起動後にディスクが再度マウントされるために設定を追加します。 UUIDでディスクを指定すると良いそうです。

UUID発見のコマンド

sudo blkid

/etc/fstabに上記でわかったUUIDを以下のように書き込みます。

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive   xfs   defaults,nofail   1   2

dfの違い

ディスクの状態をdfを比べてみます

VM起動直後

shohei@disktestapp:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  1.4G   28G   5% /
devtmpfs        200M     0  200M   0% /dev
tmpfs           203M     0  203M   0% /dev/shm
tmpfs            41M  936K   40M   3% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           203M     0  203M   0% /sys/fs/cgroup
/dev/loop1       68M   68M     0 100% /snap/lxd/22526
/dev/loop0       44M   44M     0 100% /snap/snapd/14978
/dev/loop2       62M   62M     0 100% /snap/core20/1361
/dev/sda15      105M  5.2M  100M   5% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
tmpfs            41M     0   41M   0% /run/user/1000

partition後

shohei@disktestapp:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  1.4G   28G   5% /
devtmpfs        200M     0  200M   0% /dev
tmpfs           203M     0  203M   0% /dev/shm
tmpfs            41M  940K   40M   3% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           203M     0  203M   0% /sys/fs/cgroup
/dev/loop1       68M   68M     0 100% /snap/lxd/22526
/dev/loop0       44M   44M     0 100% /snap/snapd/14978
/dev/loop2       62M   62M     0 100% /snap/core20/1361
/dev/sda15      105M  5.2M  100M   5% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
tmpfs            41M     0   41M   0% /run/user/1000

mount後

shohei@disktestapp:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  1.4G   28G   5% /
devtmpfs        200M     0  200M   0% /dev
tmpfs           203M     0  203M   0% /dev/shm
tmpfs            41M  940K   40M   3% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           203M     0  203M   0% /sys/fs/cgroup
/dev/loop1       68M   68M     0 100% /snap/lxd/22526
/dev/loop0       44M   44M     0 100% /snap/snapd/14978
/dev/loop2       62M   62M     0 100% /snap/core20/1361
/dev/sda15      105M  5.2M  100M   5% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
tmpfs            41M     0   41M   0% /run/user/1000
/dev/sdd1       200G  1.5G  199G   1% /datadrive

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd" でもマウントされていることは確認できます。

初期設定でdiskを追加したときは勝手にmountしてくれるか?

してくれませんでした。

shohei@testdiskfirstmount:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  1.4G   28G   5% /
devtmpfs        200M     0  200M   0% /dev
tmpfs           203M     0  203M   0% /dev/shm
tmpfs            41M  924K   40M   3% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           203M     0  203M   0% /sys/fs/cgroup
/dev/loop0       68M   68M     0 100% /snap/lxd/22526
/dev/loop1       62M   62M     0 100% /snap/core20/1361
/dev/loop2       44M   44M     0 100% /snap/snapd/14978
/dev/sda15      105M  5.2M  100M   5% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
tmpfs            41M     0   41M   0% /run/user/1000

参考

Attach a data disk to a Linux VM - Azure Virtual Machines | Microsoft Docs

【Azure】ディスク追加後にLinux仮想マシンへアタッチ&マウント設定をする│Soy Pocket

【Azure】DNSをホストする

AWSで取得したドメインをAzureで使ってみます。

DNS Zone作成

DNS Zones > Createから作成します。 nameにはxxx.comなど自分が取得しているドメインを入力します。

f:id:shohei-kun:20220314100509p:plain
DNS zone作成

Tutorial: Host your domain and subdomain - Azure DNS | Microsoft Docs

NS 変更

DNS Zoneを登録するとName Serverがそのドメインの詳細ページに現れます。 このName Serverをドメインを取得したサービスのコンソールで登録します。 私の場合はAWSのRoute53の登録ドメインのページです。

nslookup -type=SOA xxx.comを入力して、azure的なものが表示されれば設定されているみたいです。 AWSからメールも来ます

record

対象Domainの+ record setをクリック Alias record setをYes Alias typeをAzure resourceにします。

その上でwebサーバーのpublic IPを指定します。 すると5分もたたないうちにドメインにアクセスができるようになります。

aliasをwebappのように書いた場合は、http://webapp.xxx.comのようにブラウザ等でアクセスします。 Tutorial: Create an Azure DNS alias record to refer to an Azure public IP address | Microsoft Docs