Azure Update (2016.02.04) その2

Updateの記事かいたらUpdateが増えた。

Azure IoT Hub

GAしたようです。4月1日からGA価格が適用。

Azure Premium Storage

オーストラリア南東部、東アジアでも利用可能に

HDInsight

Dv2(Dシリーズのv2)が使えるようになりました。

※西日本はDv2がまだ使えない

あとはDv2の料金引き下げ(2がつ1日以降)の話と、メーター名の変更などがいくつかですね。

Azure Update (2016.02.04)

いろいろ。

Azure Media Services

Azure Automation

Azure Site Recovery

Azure App Service

  • Azure welcomes Parse developers
  • WebHooks available for Logic apps
    • Logic AppsでWebHookする話。
    • トリガーの静的エンドポイントのおかげでリソース移動とかサブスクリプション移動してもエンドポイントは維持されます
    • トリガーにてリクエストヘッダとかリクエストボディにフルアクセスできます
    • SASスタイルで認証できるようになりました
    • 同期応答
    • これらの機能はスキーマバージョンが2015-08-01-previewで使えますが、ポータルのコードビューはサポートするけどグラフィカルデザイナーではまだサポートされません。
    • デモ動画

Azure Search

  • Azure Search .NET SDK roadmap
    • .NET向けSDKのロードマップの話ですね。
    • 1.1でLucene Query SyntaxがGA、2.xでカスタムアナライザーやBlob Indexerなどなど。
    • 1.1は2月、2.xのプレビューはQ1を予定してるようです。

Network

Azure CDN

Security

そのほか

Azure Stack Technical Preview

というわけで敬虔なあじゅらーの皆様におかれましてはAzure Stack Technical Previewに申し込んですでにPoCを始められてるころあいだと思いますが如何お過ごしでしょうか。

Azure Stackの概要についてはホワイトペーパーみるといいかと思います。あとドキュメント。
image

こういうAzureと同じ操作性(ARMだったりポータルだったり)や機能がオンプレ上で展開できます。

続きを読む

Azure Update (2016.01.28)

Newsとかがメイン

Azure Stack

ついにAzure Stackに動きが!?

SQL Database

App Service

  • Progress update: Node.js SDK for Azure App Service Mobile Apps
    • Node.js使ったMobile AppsをYeomanで生成したりオフライン対応だったりその他テンプレートやサンプルが充実です
  • File management with Azure Mobile Apps
    • .NET向けですがStorageでファイル管理したりクライアントとStorageで同期したりするための情報です。
  • App Service API Apps – What’s changed
    • Logic AppsというかTwitter Connectorは文字化けすることで有名ですが、ここにある通り近いうちにアーキテクチャが変わり(API Gatewayが不要になったり)するようで、その際に文字化け周りというかAPI間のやり取りも変わるようです。(もっとシンプルな形になる?)
    • ちょっと期待
  • “Let’s Encrypt” Azure Web Apps the Free and Easy Way
    • Let’s Encryptを使った証明書をWeb Appsで使う方法+WebJobsを使って証明書をRenewする方法
    • Let’s Encryptの証明書は期間が短く、自動更新される前提なのでこういうのは助かりますね。

Storage

Media Services

Azure Search

Application Insights

OSS周り

Operations Management Suite

その他

Azure のデモですっきりさせる

Azureで業務以外(検証とか)で弄繰り回してるとだいたいひどいことになります。

例:乱立するリソースグループ
image

この状態でデモとかすると非常に面倒くさいことになります。なのでそういう時は組織アカウントのユーザーを作ってデモ予定のリソースグループにだけRBACで所有者などの権限を追加してあげましょう。

そしたらすっきり。
image

他のリソース見えないので余計なごみが映らないですね。デモもしやすいかと思います。アカウントもデモ終了後消せばバレても問題ないですね!

なおクラシックポータルを使わないといけない場合はちょっと無理なのであきらめましょう。

Azure Resource Manager のロック機能

Azrue Resource Manager(ARM)にはリソースロック機能があります。

何をするものですが

ロールベースのアクセス制御(RBAC)は特定ユーザーの操作を制限するものですが、リソースロック機能は管理側ですべてのユーザーにCanNotDelete(削除不可)またはReadOnly(読み取り専用)のどちらかの状態にリソースをロックする機能です。

※ただし現状Azure PowerShellで指定できるのはCanNotDeleteのみっぽいです

削除不可はリソースに対して変更などは可能ですが削除をできなくします。読み取り専用はそのままですね。

ロックを制御できるのは所有者かユーザーアクセス管理者だけになります。

またロックは継承されます。その際、最も厳しいロックの状態が優先されます。(親リソースにReadOnlyが付与されている場合、子リソースにCanNotDeleteを付与してもReadOnlyのほうが強いのでReadOnlyが優先されます)

ロックを制御するには

REST APIかAzure PowerShellを利用します。Azure PowerShellの場合、 New-AzureRmResourceLock を使用します。

> New-AzureRmResourceLock -LockLevel CanNotDelete -LockName samplelock -ResourceName test -ResourceType Microsoft.Network/publicIPAddresses -ResourceGroupName testgroup

確認
Are you sure you want to create the following lock:
/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/testgroup/providers/Microsoft.Network/publicIPAddresses/test/providers/Microsoft.Authorization/locks/samplelock
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): y


Name                  : samplelock
ResourceId            : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/testgroup/providers/Micros
                        oft.Network/publicIPAddresses/test/providers/Microsoft.Authorization/locks/samplelock
ResourceName          : test
ResourceType          : Microsoft.Network/publicIPAddresses
ExtensionResourceName : samplelock
ExtensionResourceType : Microsoft.Authorization/locks
ResourceGroupName     : testgroup
SubscriptionId        : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Properties            : @{Level=CanNotDelete}
LockId                : /subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/testgroup/providers/Micros
                        oft.Network/publicIPAddresses/test/providers/Microsoft.Authorization/locks/samplelock

これで削除不可になりました。実際に削除してみるとエラーが発生して削除することができません。(サブスクリプションの所有者でも!)

image

ロックを解除(削除)するには Remove-AzureRmResourceLock を使用します。

> Remove-AzureRmResourceLock -LockName samplelock -ResourceName test -ResourceType Microsoft.Network/publicIPAddresses -ResourceGroupName testgroup

その他

ロックはARMテンプレート内でも利用できます。

まとめ

うまく活用して不慮の事故を未然に防ぎましょう。

See Also:

Azure Update (2016.01.23)

Azure SDK 2.8.2 for .NETとかいろいろ。

Azure SDK

Azure SDK 2.8.2 for .NETがリリースされました。

App Service連携部分とかARM Template絡みの操作がよくなってます。接続文字列のセットアップだったり、ARM TemplateをExportできるようになったりとか。

Azure App Service

Azure Batch

Azure Media Services

Azure Search

Application Insights

  • Application Insights Proactive Detection
    • Application Insightsで予防的検出ができるようになりました。特に追加の設定とか不要なようです。
    • ポータル上で是非どうぞ。

Azure Automation

  • Public preview: Automation Graphical Authoring SDK
    • グラフィカルなRunbookを操作するためのSDKです。Azureのポータルからエクスポートしたのを編集したり、作ったものをインポートしたりできます。
    • 使いどころが悩ましい
      image

その他

Azure x Laravel

いろいろ縁がありましてLaravel勉強会でLTしてきました。

ネタ的にはAzure App Service Web Appsの概要と、Azure上でPHP/Laravelを動かすところまでをざっくりまとめてます。
Gitデプロイした後のデプロイスクリプトでちょっとはまったけど問題なく動いてヨカッタヨカッタ。もともとPHP動くしデプロイだけ気を付けたら(仮想アプリケーションのサイトルートをsite\wwwroot\publicにすれば)普通に動きますです。(FTPデプロイだと何も問題ない)

LaravelはComposer使うのですが、Corey Fowler氏が作ったSite Extensionのおかげで超楽ちんでした。ありがたや。

それからはまったポイントですがWeb Appsのプランにもよると思いますがGitデプロイ後、デプロイスクリプト走るんですけどオプティマイズ辺りの処理でタイムアウトしちゃいます。ディスク遅いからなぁ。。こちらに回避方法あるので参考に。

具体的にはcomposer.jsonのpost-install-cmdをからっぽにしてCompiledCommonClasses.phpを追加することぐらいですかね。

当日の資料もこちらに置いておきますので参考まで。