【Azure】Azure Media Serviceを使ってみる

Azure Media Serviceは動画コンテンツをアップロード、解析、公開ができて、それでいてAzure上のストレージにファイルを配置するので、失われることはほぼない。
アップロードして、公開するだけならとても簡単。

「リソースの作成」から「media service」を検索する

「Media Service」を選択

アカウント名、リソースグループ、ストレージアカウントを指定して作成

指定したリソースグループ内に、MediaServiceリソースができてる

MediaServiceリソースを開いて、「アセット」-「アップロード」

適当な動画ファイルtest.mp4をアップロードする

「アセット」からuploadしたmp4ファイルを選択

「公開」を選択
※今回のファイルはエンコードは不要みたい

「再生」を選択

こんな感じで再生される。

再生URLを指定すればこんな感じに。

外部サイトへの埋め込み

埋め込み用URLの作り方
https://daiyuhatakeyama.wordpress.com/2016/09/23/%E8%B6%85%E7%B0%A1%E5%8D%98-azure-media-services-%E3%81%AEhtml%E3%82%BF%E3%82%B0%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9/

【Azure】PowershellでAzure Resource Managerをデプロイする

テンプレートはMicrosoftのチュートリアルを参考に作成
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-manager-quickstart-create-templates-use-the-portal

ポータルで見るとこういう感じになるネ。
… }]

【Powershell】ネットワーク設定

毎回GUIでやってたけど、これからはPowershellでやったほうが早いかな?
オプション多くて長いですね。nmcliも長いですよね。

【Windows】ディスクの種類

Windowsではディスクの種類は、ベーシックディスクとダイナミックディスクの2種類をサポートする。
ディスク初期化時の規定はベーシックディスクで、古い形式で、ディスクの分割にパーテーションをベースとしたボリュームを使用する。
ダイナミックディスクは、独自のデータベースを作成してディスクをダイナミックボリュームという単位に分割して管理する。
ダイナミックディスクでは、次の5種類をサポートしている。

種類 説明 対応RAID
シンプルボリューム 1つのディスクの空き領域に作成する
スパンボリューム 2つ以上のディスク上の空き領域にまたがって作成しまとめる
ストライプボリューム 2つ以上のダイナミックディスクを使用して作成する
同時の並列アクセスにより、ディスクの性能を高める構成
RAID0
ミラーボリューム 2つのダイナミックディスクを使用して作成する
同一データを2つのディスク上の保存することで、1つのディスクに障害が発生してもデータ損失を防ぐ
RAID1
RAID5ボリューム 3つ以上のダイナミックディスクを使用して作成する
データをストライプ化して複数ディスクに書き込む際に、パリティ情報を保存する
1つのディスクに障害が発生しても、パリティからデータを再構成し、データ損失を防ぐ
RAID5

【Windows】パーティションスタイル

Windows上でディスクを使用可能にするには、オンライン後にパーティションスタイルを決定(初期化)する必要がある。
パーティションスタイルとは、ディスク上にパーテーションやボリュームを作成する際の形式。
MBRとGPTは相互変換することができるが、ディスクは空である必要がある。
GPTが完全上位互換ともいえるので、新規に作成する場合は考えなしにGPTにしてしまってよい気がする。
データを含んでいるディスクのパーティションスタイルを返還する場合、パーティションを削除する必要がある。

種類 説明
MBR(マスターブートレコード) 古くから利用されているパーティションスタイル。
多くのOS、ツールに対応しているという利点があるが、制約もある。
・最大2TBまで
・ディスクごとに、最大4つまでのプライマリパーティション
GPT(GUIDパーティションテーブル) MBRの制約を解決するために開発されたパーティションスタイル。
OSの種類によって異なるが、Windows Server 2016でGPTを使う場合の利点は以下の通り。
・最大8ZBまで
・ディスクごとに、最大128パーティション
・パーティションテーブルの複製と、CRC機能による信頼性の向上

【Windows】Windowsのファイルシステム

NTFS形式にしておけば、オールOKという感じだと思う。

種類 説明
FAT(File Allocatio Table) ・FAT 最大4GBのボリューム、2GBのファイルまで
・FAT32 最大2TBのボリューム、4GBのファイル
・exFAT フラッシュドライブ向けのファイルシステムで32GB以上に対応ユーザーやグループごとのアクセス許可設定や暗号化はできない。
非推奨で、レガシーな技術。
NTFS(NT File System) Windows Serverで使用される標準なファイルシステム。
以下がサポートされ、FAT形式ではできない
・ファイル、フォルダの暗号化
・ファイル、フォルダの圧縮
・ユーザー、グループへのアクセス許可設定
・ディスククォータ
・ブロック単位での重複除去
ReFS(Resilient File System) Windows Server 2012から実装されたファイルシステム。
データセンターでの使用を想定し、NTFSとの互換性を持ち、以下の特徴がある。
・PBサイズのデータへの対応
・停電、電源障害時のデータ損失からの復旧
・データ損失時にオンラインでデータ修復可能制限事項もある
・ブートボリュームに使用することはできない
・NTFSの特徴である、暗号化、圧縮、ディスククォータ、データ重複除去などの機能をサポートしない

【Windows】NLBを使ってWebサーバを作ってみる

NLB(Network LoadBarancer)機能は、サーバーアプリケーションの可用性、拡張性を高めるためのもの。
WEBベースアプリケーションやVPNなどがメリットを受けやすい。
クラスタ内のノードに障害が発生した場合、その生涯は自動的に検知され、残ノードに引き継がれる。
要件としては、
・同一サブネットに所属している必要がある
・同一クラスタ内でユニキャスト・マルチキャストのミックスはできないので、一方に決めておく
・対象ノードに静的IPが付与されている

こんな感じの構成。

サーバ2台にIISをインストールする。

インストールしたサーバへブラウザでアクセスするとホスト名が表示される


「ネットワーク負荷分散」をインストールする

サーバーマネージャーから「ネットワーク負荷分散」を選び、設定していく。2台のうちの1台でOK。



クラスタ用のIPアドレスを設定

FQDNを決める。DNSのレコードに登録してあげるといい感じになるけど、今回はやらない。
クラスタ操作モードが結構ミソ。今回はマルチキャストで設定。(ムズイ・・・)
https://milestone-of-se.nesuke.com/sv-basic/windows-basic/nlb-cluster/


httpを通すので、80版ポートを設定。アフィニティの「なし」はランダムで振り分ける。


2台目のサーバをクラスターに組み込む。


一応、これで完成。

ブラウザでアクセスしてみると、負荷分散されていることがわかる!
(Chromeで試したんだけど、CtrlF5でも切り替わらなかった。ブラウザを再起動したりしたら切り替わった。そういうもん??)

実際には、ネットワークアダプタにセカンダリIPアドレスが付く

結局、F5更新でうまくばらけなかったところがうやむやなままだったけど、とりあえずこういうもんということろは分かったので良しとしよう。(ハマりすぎて、3日くらい頭を悩ませていた)

【雑記】2018年を振り返る

2018年ももうすぐ終わってしまいますね。
ということで、今年を振り返ってみましょう。

2018年は、僕の中でも価値観の変化というかそういうものが大きく変わった年でした。
今までは、こういうことしたら後のことをどうしても考えてしまいがちだったんだけど、とりあえずさっさとやってみて、そのあと考えよう。っていう気持ちに変わってきました。
自分に自信がついたというか、こういう格好ってその場にふさわしくないよなとか、この場でこういう発言したら空気読めてないかなとかを考えてしまっていたけど、自分に正直なれたというか、殻を破いたような感じもあります。
あと、関わる会社、関わる人も増えて、そういう人との繋がりは、ありきたりだけどすごく大事だなということも実感した年でした。

今年は、会社を作ったということが、とくに大きな出来事だった。
作るまでは、フリーランスでいいかな気楽だしと思っていたけど、単純に「代表取締役CEO」って肩書、めちゃくちゃかっこよくない?というくらいのノリでした。
なので、気持ち的にはフリーランスのときとはさほど変わらないけれど、事業拡大というかどういう風にしたら儲かるかな、どういうことなら始めやすいかなって以前よりも考えるようになった気がします。

というところで、2019年の目標を。

・人を雇う
会社はぼく一人だけなので、人を雇ってチームとして働きたいなと思ってます。
とりあえず、自社開発を始めるかーと思ってます。そのための人材を募集する予定です。開発する内容は検討中。

・不労所得となる基盤を作る
このブログにはアフィリエイトリンクが張ってあるんだけど、月100円くらいなんです笑(このブログで稼ごうとは思ってない)
なので、とりあえずYoutubeを始めました。1000人いかないと収益化ができないようなので、まずはそれを目指します。

・ハンズオンセミナーをやる
実は、5回くらいはやってはいたんですが、来年も継続してコツコツ続けていくつもりです。
こういうやつをやってます。2000円也です。
 https://cloudhack.connpass.com/event/112026/

・顧客の分散
とてもありがたいことに、今は3社と契約させていただいています。
もう少し手を広げたいっていうのと、現状だと自分ひとりでさばき切れているので、ギリオーバーヒートするくらいの仕事をとってきて、そのタイミングで人を雇ったり、外注してみたりしたいなと。

・自分自身のスキルアップ
当分はぼく自身も技術者として働くわけだから、そこはないがしろにはできない。
当面の間はWindows系、Azureを主軸としてスキルアップしていきたいなと思ってます。

このブログも早いもので、始まってから2年以上続いてるんだね。
2年続けられたというのは、自分にとても大きいことで自身にもつながります。
飽きっぽいので、だいたい3日坊主で終わってしまうしね。
たいした記事は書いていないけど、どなたかの参考になっていればうれしく思います。

2019年もよろしくお願いします!

【Powershell】共有されているフォルダの確認

MMCコンソールからだと「共有フォルダ」を開くと出てくるコンソールをPowershellでも操作できる

Powershellの場合

フォルダのアクセス許可の確認はGet-Acl

【Hyper-V】仮想ポートACLを使って通信を制御する

仮想ポートACLを構成することで、仮想マシンの通信を制御することができる。
特定のIPアドレス、ポートなどに基づきトラフィックを条件付けして、仮想マシンに対する通信の許可/拒否を制御することができる。
操作は、GUIのHyper-Vマネージャーからの操作はできず、Powershellのみから。

仮想マシン単位のファイアウォール的なイメージかな。
たぶん用途としては、同じネットワークに所属させるけれど、通信のブロックを行いたいときとかかな。

IPアドレスでの制御を行いたい場合、Add-VMNetworkAdapterACLコマンドを使う

ポートでの制御を行いたい場合は、Add-VMNetworkAdapterExtendedAclを使う

通信量も確認することができる