北陸新幹線開通記念! 北陸・信州合同勉強会

今更ですけど、「北陸新幹線開通記念! 北陸・信州合同勉強会」でLTしてきました。

ネタはApp Serviceがらみです。ざっくり概要。それより筏井さんの後とかハードル高かったですね。

全体としてはHackforPlayとか知れたり、やっぱ高専とか若い人の活力っていいなーって思いました。うらやま羨望な眼差しで見てました。あと地場の人の吸引力というのは大事だなと思いました。(自分はどうなんだろうと振り返りつつ)

反省点は5分キッチリ終わらなくても大丈夫っていう油断があると5分で終わらせる気が全くないところですかね。。あとアイコン詐欺してますはい。 # あかん

なんにせよ皆さん楽しそうでよかったです!

CentOS がCPU張り付いて起動しない

主にAzure上のCentOSなイメージで、CPU使用率が100%に張り付いて起動しないケースがたまにあるみたいです。

うそかほんとか微妙な現象

  • インスタンスサイズがA1で頻発する
  • データディスクをアタッチしてると頻発する

よくわかりません。

どうもこちらの問題が該当しそう?

インスタンスサイズをA2にすると大丈夫らしいですが。

暫定対応

というわけで、さくらいさんがパッチをあてたRPMパッケージを作ってくれました。

Kernel-firmwareパッケージを最新にしてから以下のコマンドみたいな。

# rpm -Uvh kernel-2.6.32-504.12.2.el6.x86_64.rpm

言わずもがな自己責任でお願いします。

その他カーネルパニックする場合とか、同じ原因かもしれないので一度試してみてはどうでしょう。

Azure Backupの拡張

今日のUpdateでAzure Backupが仮想マシンレベルで利用できるようになりました。

今まではBackup Agentを使用してデータのバックアップなどは行えましたが、ベアメタルというかスナップショット的な使い方は結構面倒くさい感じでした。
今日のアップデートではAzure Backupの機能としてAzureのファブリックレベル(インフラ側)でBackupできるようになり、ノンストップで仮想マシンのイメージを取得することができます。またWindowsだけでなくLinuxでも取得できます。(なおPublic Preview機能です)

  • 一貫性のあるバックアップ
    • 本番ワークロードに影響を与えないバックアップ
    • VMのダウンタイムなしでのバックアップ
    • Windowsでのアプリケーションレベルでの整合性
    • LinuxでのOSのファイルシステムレベルの一貫性
  • ファブリックレベルのバックアップ
    • バックアップに必要な環境のスケーラビリティ
    • 複数VMを同時に、エージェントレスでバックアップ
    • ポータルからの集中管理
    • ジョブの追跡・状況の確認
    • 最後のリカバリポイントからの増分バックアップ
  • ポリシー主導
    • スケジュール
    • オンデマンド
    • Backup Vault内でリカバリポイントの自動管理
    • 元VMが削除されてもバックアップデータを保持

簡単にいうと、Hyper-Vでいうところのチェックポイント(スナップショット)をAzureのポータルから行えます。
ファイルレベルで取得するBackup Agent方式と違って、ファブリックレベルなのでOS側にAgentを入れたりせず行えることとバックアップに要する時間が早く、予測できる点が大きいですね。

※但しAgentは不要だけどVM Extensionsは必要(自動でインストールされる)なようす

続きを読む →

Microsoft Convergence 2015

Microsoft Convergence 2015というイベントがあるようです。(書いてる時点で現在進行形)

イベント自体はMSのビジョナリーリーダーによるいろいろなお話という感じですね。さてKey NoteでCEOのSatya氏がいろいろアナウンスしていましたのでざっくり抜粋します。全体的にかずあきさんに任せてればよさそうです。

Office 2016 IT Professional and Developer Preview

唐突ですがOffice 2016がITProと開発者向けプレビューとしてアナウンスされました。

詳細は上記Blogだったり、今後たくさん出てくるかと思います。とりあえずゲットするには登録する必要があるっぽいですね。

 

Office Delveがロールアウト

噂にはあった(?)DelveがワールドワイドのOffice 365にロールアウトされました。

Office 365 E1~E4プラン(アカデミックなA2~A4と政府向けのG1~G4含む)で使えるようです。Office 365 Business EssentialsとBusiness Premiumなテナントはもう少し時間がかかるっぽいですね。(Q&A参照)

Office DelveはOffice Graph APIを使った自分やチームメイトに関連するドキュメントを纏めて参照したりすることができるサービスです。テナント上にある関連ドキュメントなど検索したり引っ張ってくるのに便利そうですね。より関連度高いものが出るっぽい?ので普段使いによさそうなのかな?人数少ないとつらいものがありそうですが(

image

image

また関連してOffice 365 Videoも追加されました。こちらは動画を引っ張ってくる感じですね。

image

何もなかった(

とりあえずチーム作業に便利そうです。

Skype for Business Technical Preview

Skype for Businessもテクニカルプレビューが始まりました。

Microsoft Lyncは今後Skype for Businessになるんでしたっけね。とりあえずこのプレビュー版は4末まで利用可能なようです。用法・用量を正しく守ってプレビューに参加しましょう。

Power BI Preview

Power BI Previewということで、Office 365上で使えるオンラインのPower BIがワールドワイドで利用可能になったようです。

今のところサインアップが必要です。こちらからどうぞ。

接続先とかいろいろあって面白いですね。

image

 

Dynamics CRM Spring 2015 Release

そんな感じです。2014あたりからだいぶ変わってたみたいだけど、追ってないからよくわかりません。

 

Microsoft announces Azure IoT Suite

デバイス等からのデータの収集・保存・分析・予測などの一連のサービスまとめたSuiteらしいです。

今年後半にプレビュー予定。Azure IoT Servicesとかいう分け方になるんです?ムズカシイデスネ

概要みると

  • Event Hubs
  • DocumentDB
  • Stream Analytics
  • Notification Hubs
  • Machine Learning
  • HDInsight
  • Power BI

あたりのようです。ちなみにBlogにしれっと4月(来月)にStream AnalyticsがGAって書いてますね(

まとめ

いやーOffice 365の拡充がすごいのと、Azure Machine Learningの使われ具合がなんか凄いですね。普通の企業がサクッとこの辺のIT使えちゃうのはいい時代だな。使わない理由なんてなかった。ビジネスを変革しようとはまさにその通りな感じです。Office 365やAzureにデータため込んで可視化して(BIして)予測してコラボレーションするとかクリックぽちぽちの世界ですよ。

どうしましょうかねw

AzureのVNETとAWSをVyOSでつなぐ

なんとなくお蔵入りしてたネタを引っ張りだしてきました。

AzureのVNETと動的ゲートウェイと、AWS上のVyOSなVPNルーターを使ってVPN接続しようというネタです。出来上がる環境はこんな感じ。

image

IPアドレスとかは例です。あと数か月以上前のネタなのでちょっと変わってる箇所あるかも(VyOSのAMIのバージョンとか)しれませんが適宜読み替えてください。それから簡易な接続なので本運用とかには使わない方がいいかもですね。なんにせよ自己責任で。

続きを読む →

Azure Update (2015.02.19)

はいはいUpdateですよー。

続きを読む →

Get-AzureVMでout of range

なんかAzure PowerShellのGet-AzureVMとかGet-AzureDeploymentとかで得られる応答の一部要素(PersistentVMDowntimeのEndTime)でDateTime.MaxValueなISO8601形式の値(9999-12-31T23:59:59Z)が入ってるようで、こいつを日本みたいなUTCにプラスするタイムゾーン圏内でDateTime.Parseしようとして例外吐いてるみたいです。

> get-azurevm
get-azurevm : The DateTime represented by the string is out of range.
At line:1 char:1
+ get-azurevm
+ ~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Get-AzureVM], FormatException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.GetAzureVMCommand

仮想マシンをシャットダウンしたり再起動したりすると、EndTimeの値がまともな値になるのかちゃんと動作するようです。いやいや。。。

Management API側の挙動が変わったのかなー?(こんな値入ってたっけ?)という気がしますが、仮想マシンの再起動とかフザケンナという人はAzure PowerShellを実行するPCのタイムゾーンをUTCとかPSTにして凌ぎましょう。(なんとなくMSには報告済み)

DateTimeOffset使えば問題なさげだけど。

D:\> [System.DateTime]"9999-12-31T23:59:59Z"
Cannot convert value "9999-12-31T23:59:59Z" to type "System.DateTime". Error: "The DateTime repres ented by the string is out of range."
At line:1 char:1
+ [System.DateTime]"9999-12-31T23:59:59Z"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvalidCastParseTargetInvocationWithFormatProvider

D:\> [System.DateTimeOffset]"9999-12-31T23:59:59Z"


DateTime      : 9999/12/31 23:59:59
UtcDateTime   : 9999/12/31 23:59:59
LocalDateTime : 9999/12/31 23:59:59
Date          : 9999/12/31 0:00:00
Day           : 31
DayOfWeek     : Friday
DayOfYear     : 365
Hour          : 23
Millisecond   : 0
Minute        : 59
Month         : 12
Offset        : 00:00:00
Second        : 59
Ticks         : 3155378975990000000
UtcTicks      : 3155378975990000000
TimeOfDay     : 23:59:59
Year          : 9999

やれやれです。

2015.02.17 9:56 追記

Management REST API側で吐き出す値を修正したらしいです。とりあえず動作するようになりました。

同期環境下のOffice 365でExchange属性を弄りたい

あるよね。そういうこと。

オンプレに

  • Active Directoryドメインはある
  • Exchange Serverはない。過去も含めてない。
  • Active Directory SyncとかでOffice 365とアカウントを同期させてる

という環境があるとします。

※ちなみにオンプレ環境は全部Windows Server 2012 R2とします

で、ちょっとアドレス帳から非表示にしたいなーとか思うと

image

はい。ソウデスネ。

もちろんオンプレのADにはそんな(Exchange関連の)属性ありません。

image

どうしましょうか?素直なのは他の属性の値を使ってAADSyncとかのマッピングをいじることです。(ただこれも直感的に何をしてるのかわかりにくいのとSyncするツールに依存しちゃうのでどうなんだろう)
ということで今回は少し斜め上の対応をしてみましょう。

そう、Exchangeスキーマの拡張だけしてしまいましょう。

身もふたもない。

まず評価版のExchange Server 2013をダウンロードしましょう。

ダウンロードしたEXEを実行してファイルを展開します。その後以下のコマンドでSetup.exeを起動してスキーマ拡張だけ行います。(※もちろんバックアップとかその辺ちゃんと考えてください)

Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms

image

※細かい話はこの辺参照

完了後、スキーマが拡張されたので後はお好きにどうぞ。

image

image

やりました。

ASP.NET 5 (CTP5) のプロジェクトを Azure Websites で動かす

タイトルの通り。前回せっかくDocker on Ubuntu用に作ったのでそのままWebsitesで動かしたいと思います。

やり方は2通り。

  • Visual Studio 2015 (CTP5)から直接発行する
  • ASP.NET5 (CTP5)なソースがあるGit(GitHub)からソース連携して発行する

※Docker on Ubuntu用のproject.jsonなどは前回のPost参照で

結論から言うとVSからの直接発行は何の問題もなし。すんなり動作します。

でGit連携のほうはちょっとだけコツが必要。

How to

Websitesの構成でアプリケーション設定にSCM_KRE_VERSIONを追加し、CTP5用のバージョン(1.0.0-beta2)を指定します。

image

これだけ。

x64にしたりランタイム全部持ってくる場合とか用(?)にSCM_KRE_ARCHやSCM_KRE_CLRとかの引数もあります。VS2015でプロジェクトのプロパティみたときのTarget KRE Versionで指定するあれを分解した感じですね。

※SCM_KRE_VERSIONを指定しないとbeta1が使われてCTP5だと500エラーになります。

※デプロイは一応成功する

まぁそんなわけで、設定してあげてあとはGit連携すればちゃんと動作するようになります。

一応これでASP.NET5 CTP5をWindowsでもLinuxでもAzure Websitesでも動作させられるようになりましたね。理屈的にはMac OS上でも動作すると思いますが環境ないのでわかりません。

細かい話はきっとしばやん先生が解決してくれると思います。あとこちら参照。