Azure Managed Disk(管理ディスク) を節約して使う

blog.nnasaki.com Azure Stack を Azure 上で構築したのは良かったですが、常時立ち上げているとお金がかかります。https://azure.microsoft.com/ja-jp/pricing/calculator/で見積もるとこんな感じです。 f:id:nnasaki:20170725155406p:plain インスタンスサイズとかちょっと違うので正確ではありませんが、だいたい 18万/月ですね。 Manged Disk(管理ディスク) は使っても使わなくても同じ値段 VMについては300円/時間ぐらいなので、検証しているときだけ付けておけばなんとかなるのですが、ストレージが問題ですね。SSDを使ったPremium管理ディスクの場合、仮想マシンを停止していても課金がされます。なので約3.7万/月が固定費とかかってしまうことになるので、これは避けたい。 f:id:nnasaki:20170725155809p:plain 解決策:VMを止めている間はスタンダードに変更する Manged Disk(管理ディスク) はVMを停止していれば、ポータルから簡単にスタンダードとプレミアムを変更できます。 f:id:nnasaki:20170725160218p:plain ですが、今回ディスクが5本あるのでいちいちポータルでやるのは面倒くさい。そうするとコマンドラインでやろうかなと思います。思い出したらAzure Container Serviceを使ったときも同じようなことを書いていました。 blog.nnasaki.com 今はわざわざインストールしなくてもポータルから Azure Cloud Shell を使用すれば、すぐに実行出来ます。コマンドはこんな感じです。 -g azurestack は各自のリソースグループ名に変更してください。 az disk update --sku Standard_LRS --ids $(az disk list -g azurestack --query "[].id" -o tsv) --no-wait f:id:nnasaki:20170725160920p:plain 節約効果は 5548円/月になりました。およそ1/7ぐらいでこれくらいならなんとかという感じです。 f:id:nnasaki:20170725161231p:plain 起動するときはPremiumに戻す このままでも起動は出来るんですが、パフォーマンスが著しく落ちるので、SSDに戻します。VMを停止した状態で行ってください。 az disk update --sku Premium_LRS --ids $(az disk list -g azurestack --query "[].id" -o tsv) --no-wait まとめ VMの停止と起動の度にコマンド実行を忘れそうですので、Azure Automation で自動化するもよし、VMの操作もCLIでやるもよし。ご利用は計画的に。 ...

July 26, 2017 · nnasaki

AzureStack on Azure を作ってみた

azurestack.blog Azure 上で Azure Stack を動かすという誰得な話ですが、ハードが必要なく必要な時だけ1時間数百円ほどで検証できます。まずはどんな感じか触ってみたいとかPoCとしてはコスト削減が出来るので、意外と良いかもしれません。 やってはいけないこと コンピューター名を azurestack にする インストールスクリプトでエラーになる。ポータルで VM を作成する際は azurestack 以外の名前にすること 注意点 インストールスクリプトを流している間に、リモートデスクトップセッションが切れて入り直す場合、ADを作成したあたりのタイミングから Administrator ではなく、 AzureStack\AzureStackAdmin で入らないと、セッションの復元が出来なくなる。さらに Administrator ではインストールスクリプトを流せなくなる。 所要時間 躓きながらやってたので、土日でなんとか出来た感じ。 慣れれば放置している時間が長いので、5時間ぐらいあれば出来そうな気はする。 前準備 余裕のある Azure サブスクリプション コア数制限解除 Windows Server 2016 E16s v3 (16 cores, 128 GB memory) 以上 あくまでMinimum。もう一つ上の E32s v3 (32 cores, 256 GB memori) 以上が推奨 手順 VM にリモートデスクトップする 管理者ユーザーのyournameをadministratorに変更 Rename-LocalUser -Name yourname -NewName Administrator ログオフ Azureポータルで停止 AzureポータルでOSDiskを256GB、データディスクを256GB4本 Azureポータルで開始 ディスクマネージャーでCドライブを256に拡張 データディスクをGPTで初期化 タイムゾーンを東京にする IE Enhanced Security Configuration を無効化 f:id:nnasaki:20170722100627p:plain 次のスクリプトでHyper-Vなど必要な機能を有効化 Add-WindowsFeature Hyper-V, Failover-Clustering, Web-Server -IncludeManagementTools Add-WindowsFeature RSAT-AD-PowerShell, RSAT-ADDS -IncludeAllSubFeature Install-PackageProvider nuget –Verbose 再起動 Azure Stack Development Kit をダウンロード https://azure.microsoft.com/en-us/overview/azure-stack/development-kit/ Azure Stack Development Kit を起動して、必要なファイルをダウンロード、解凍 f:id:nnasaki:20170722123006p:plain CloudBuilder.vhdx をマウントして CloudDeployment , fwupdate , tools をCドライブ直下にコピーする。CloudBuilderはイジェクトする。 次のスクリプトのyourdirectoryを自分のディレクトリに変更して実行 cd C:\CloudDeployment\Setup .\InstallAzureStackPOC.ps1 -InfraAzureDirectoryTenantName yourdirectory.onmicrosoft.com -NATIPv4Subnet 172.16.0.0/24 -NATIPv4Address 172.16.0.2 -NATIPv4DefaultGateway 172.16.0.1 -Verbose administrator パスワード入力 しばらくすると Azure のアカウントを入力 エラーが起こる f:id:nnasaki:20170722140421p:plain C:\CloudDeployment\Roles\PhysicalMachines\Tests\BareMetal.Tests.ps1 を 開いて $isVirtualizedDeployment の -not を消す。3箇所ある f:id:nnasaki:20170722140713p:plain 下記コマンドを実行 .\InstallAzureStackPOC.ps1 -Rerun -Verbose CredSSP エラーが起きる f:id:nnasaki:20170723012640p:plain 次のスクリプトを実行 Enable-WSManCredSSP -Role Server Set-Item wsman:localhost\client\trustedhosts -Value * Enable-WSManCredSSP -Role Client -DelegateComputer * gpedit.msc を開いて、Local Computer Policy > Computer Configuration > Administrative Templates > System > Credential Delegation の Allow Delegating Fresh Credentials with NTLM-only Server Authentication を有効にして、 WSMAN/* の value を追加する。 f:id:nnasaki:20170723013026p:plain 再び下記コマンドを実行 .\InstallAzureStackPOC.ps1 -Rerun -Verbose 数時間後エラー VERBOSE: 1> [IdentityProvider:Deployment] ERROR: An error occurred while trying to verify connection to the graph endpoint f:id:nnasaki:20170723093415p:plain - IE でなにも見えない状態になっていた。NATが失敗してる? - 下記NATSwitchを追加する手順を行ったら、IEからも見られるようになった New-VMSwitch -Name "NATSwitch" -SwitchType Internal -Verbose $NIC=Get-NetAdapter|Out-GridView -PassThru New-NetIPAddress -IPAddress 172.16.0.1 -PrefixLength 24 -InterfaceIndex $NIC.ifIndex New-NetNat -Name "NATSwitch" -InternalIPInterfaceAddressPrefix "172.16.0.0/24" –Verbose デプロイ完了 ...

July 24, 2017 · nnasaki

Microsoft MVP for Microsoft Azure を再受賞しました

Microsoft MVP は1年ごとの更新となっており、今回で4回目(4年目)となります。 f:id:nnasaki:20170703104239p:plain ふりかえり 過去の受賞記事を貼っておきます。昨年(2016年)は記事に書いていなかったっぽい。 blog.nnasaki.com blog.nnasaki.com 初受賞の2014年は今の自分からみると、めっちゃまじめで赤面しちゃいますね。 今後は目標は二つです。 一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。 二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。 一つ目のモバイルサービスはサービス終了し、Mobile Appsと名前を変えて別サービスとなりました。モバイルアプリの延長線上でde:codeにも登壇できましたし、今では他のサービスの紹介も出来つつあるので、目標としては達成出来ているのかなぁと思います。 blog.nnasaki.com blog.nnasaki.com 二つ目の .NET 界隈の盛り上げはあまり出来ていないですね。あまり自分自身が .NET を使用する機会が無かったのと興味が薄れているのが原因だと思います。しかしながら、 サトヤ仙台のコミュニティの立ち上げで仙台のコミュニティを盛り上げたいという思いは変わりません。仙台だけでなく東北地方でもっとMVPも増やしていければと思っています。 satoyasendai.com 今年(今期)の目標 Azure 全般については Azure 界のレジェンド 世界で数人しかいない リージョナルディレクタ(RD) かつ MVP であるブチザッキ兄さんに任せては安心ですので、 Microsoft MVP for Microsoft Azurebuchizo.wordpress.com 自分はサトヤ仙台とJAZUG東北(Japan Azure User Group)のコミュニティ活動を継続して行い、仙台と東北でコミュニティを形成していくということは2014年から一貫して変わりません。 早速de:codeふりかえりイベントを立ち上げましたので、是非ご参加ください。 satoyasendai.connpass.com また、今年あえてチャレンジしたいことといえば、インフラ技術面を深掘りしたいです。具体的には Azure Container Service を活用して、dockerやkubernetesといったコンテナ技術を駆使した、アプリケーションプラットフォームの構築です。Blogで公開するのももちろんですが、実案件で使っていけるよう準備していければと思います。 今後とも皆様よろしくお願いします!

July 4, 2017 · nnasaki

Azure スキルのトレーニングを受けてみた

Azure Training Courses | Microsoft Learning というものがあり、試しに受講してみました。無料でどなたでも利用できます。 ページにはこんな感じで複数のコースが日本語で並んでいます。英語の物もあります。 f:id:nnasaki:20170620182229p:plain 今回は「Azure 基礎」と「AWS の専門家のための Microsoft Azure」を受けてみました。 理由は基礎周りの確認と、AWSの知識とAzureの知識を紐付けるためです。 若干日本語が怪しい部分もありますが、気にせず進めましょう。 f:id:nnasaki:20170620182512p:plain Open edXというものが使われているらしく、インタラクティブに進みながら、動画やテキストで知識の確認が出来ます。 このように、章ごとに確認問題で理解度チェックが出来ます。 f:id:nnasaki:20170620182658p:plain 最終試験に合格すると証明書が発行されます。遠い昔、MCPに合格した時はビルゲイツのサインでしたが、今はサティア・ナデラなんですねー。感慨深い。 f:id:nnasaki:20170620182953p:plain まとめ 良かった点 「Azure 基礎」ではあやふやだった知識が再度確認出来たと思います。 「AWS の専門家のための Microsoft Azure」ではAzureでのサービスはAWSだとこういうのかー。という感じで理解が深まりました。 実際の時間は空いた時間に気分転換も兼ねてやっていたのですが、おそらく8時間もかかっていないと思います。集中してやれば1日かからず出来るのではと思います。 受講するとき気をつけた方が良い点 「AWS の専門家のための Microsoft Azure」はこんな感じで機能比較表とかあり、わかりやすい感じでした。Direct Connectが直接接続と訳されていてちょっと訳しすぎな感じがありますが… f:id:nnasaki:20170620183455p:plain f:id:nnasaki:20170620183542p:plain Azure Functionsも選択肢では「関数」というように訳されており、ちょっと推測が必要になっていますので、お気を付け下さい。

June 29, 2017 · nnasaki

JAWS-UG仙台で「Azure使いから見たAWSの良いところ」を発表しました

JAWS-UG 仙台勉強会 [6/23夜] にて「Azure使いから見たAWSの良いところ」を発表しました。 ** Azure使いから見たAWSの良いところ ** from 誠樹 山本 JAWS-UG 仙台の皆さん親切にしていただき、2度目か3度目の発表になります。幸いなことに興味を持っていただいた方が多く、資料公開後も沢山の反響をいただきました。 今回はAWSとAzureを比較してどちらが良い・悪いではなく、設計方針の違いについて説明したつもりです。スライド50枚に対して時間が15分で大分早口になってしまったので、若干誤解して伝わったかもしれません。 今度はJAZUG 東北でもJAWS-UGの方がお話したいとも伺っていますので、近々JAZUG 東北を開催します。具体的な日程と場所が決まり次第、本Blogでも告知いたしますので、皆さん楽しみにしていてください!

June 28, 2017 · nnasaki

de:code 2017 のセッション資料・動画が公開されました

タイトルの通り、de:code 2017 のセッション資料・動画が公開されました。 前半は戸倉さんによるMobile Appsを活用し node.js を使用したデモと Cloud Shell のデモです。後半は私自身の体験を元に、VM から Azure Web Apps on Linux に移行するシナリオとメリットを解説しています。 スライド ** [MW07] OSS on Azure で構築するモバイルバックエンド ** from de:code 2017 動画

June 20, 2017 · nnasaki

Draftがリリース

正式なアナウンス azure.microsoft.com 日本語のニュース japan.zdnet.com GitHubのリポジトリ github.com Azure上で試した人 www.noelbundick.com

June 1, 2017 · nnasaki

Azure Site Recovery で東日本と西日本でCentOS Linuxをディザスタリカバリー構成してみた

Azure Site Recovery で Azure の VM がリージョン間でディザスタリカバリー(DR)に対応しました。 azure.microsoft.com 構成は簡単でポータルからクリックするだけで出来ます。 EXTENDED BODY: 手順 Azure Portalにて Backup and Site Recovery (OMS) を選択 f:id:nnasaki:20170601101901p:plain 名前をいれて作成をクリック f:id:nnasaki:20170601101951p:plain すぐに作成されますので、レプリケーションをクリック f:id:nnasaki:20170601102131p:plain ソースにVMのあるリソースグループを選択 f:id:nnasaki:20170601102216p:plain 対象のVMを選択する。今回はCentOS 7.3 Linuxにしました。 f:id:nnasaki:20170601102252p:plain DR先のターゲットを選択します。西日本以外にもインドやアジアが選択可能でした。 f:id:nnasaki:20170601102338p:plain レプリケーションポリシーの設定。アプリ整合性スナップショットの頻度はOFFにもできるし1時間刻みで設定可能です。 f:id:nnasaki:20170601102417p:plain 検証が通ったら、レプリケーションを作成します f:id:nnasaki:20170601102547p:plain 確認 デプロイが完了しましたら、「レプリケートされたアイテム」を選択 f:id:nnasaki:20170601105617p:plain Linux を選択 f:id:nnasaki:20170601105721p:plain 復旧ポイントは複数選べます f:id:nnasaki:20170601110436p:plain フェールオーバーのテスト 「テスト フェールオーバー」を選択します、Azure 仮想ネットワークを既存のを選んだところ次のメッセージが出ました。 テスト フェールオーバーには (仮想マシンの [コンピューティングとネットワーク] の設定で指定した) 実稼働ネットワークとは異なるネットワークを使用することをお勧めします。 f:id:nnasaki:20170601105937p:plain テスト用のネットワークを作成して再度行い、フェールオーバーのテストが始まりました f:id:nnasaki:20170601110615p:plain テストフェールオーバーのって切れていますが、クリックすると詳細が確認できます。 f:id:nnasaki:20170601110852p:plain f:id:nnasaki:20170601112341p:plain テストフェールオーバーのクリーンアップはこちら。 f:id:nnasaki:20170601112248p:plain OKをクリックすると削除が始まります。 f:id:nnasaki:20170601112456p:plain フェールオーバー フェールオーバーを選択してOKをクリックします。 f:id:nnasaki:20170601113153p:plain フェールオーバーが始まりました。 ...

June 1, 2017 · nnasaki

Azure Container Service における設計上の注意点

Azure Container Service(ACS) にて kubernetes を作成した場合、2017/5/29現在はストレージアカウントの制限を受けるため注意して下さい。 何故かというと Azure Container Service の Agent(Node) はストレージアカウントごとに10個VMを作ります。 f:id:nnasaki:20170527103838p:plain ストレージアカウントには下図の通り、最大IOPSとスループットの制限があります。 f:id:nnasaki:20170527104220p:plain 下図のように片方のストレージアカウントのコンテナに負荷がかかると、上限に引っかかる場合があり、もう片方のストレージアカウントに余裕があっても負荷分散が出来ません。 f:id:nnasaki:20170527104236p:plain これを解決するための手段はストレージアカウントを意識して自分でコンテナを再配置することが必要ですが、具体的にどのようにするかはちょっと分かっていないです。 ですが、悲観的になる必要は無くて、ストレージアカウントの制限については Managed Disk(管理ディスク)が使用できるようになれば解決すると思われます。 f:id:nnasaki:20170527110329p:plain 管理ディスクを使用する場合、今すぐできる解決策と将来に期待する2つの選択肢があると思いますので、ご紹介します。 今すぐできる解決策 ACS Engine という OSS プロジェクトを利用することで、Azure Manged Disk(管理ディスク)を使用して、KubernetesやMesosとDocker Swarmをデプロイすることが出来ます。 ACS Engine については Container Service についてよく寄せられる質問 を引用します。 Azure Container Service と ACS Engine の違いは何ですか。 Azure Container Service は SLA による保証が付いた Azure サービスで、Azure Portal の各種機能、Azure コマンドライン ツール、Azure API が付属しています。 Azure Container Service を使用すると、比較的少ない選択肢を選んで構成するだけで、標準のコンテナー オーケストレーション ツールを実行するクラスターを簡単に実装して管理できます。 ACS Engine はオープンソース プロジェクトで、パワー ユーザーがクラスター構成を各レベルでカスタマイズするのに適しています。 インフラとソフトウェアの両方の構成に変更を加えることができるため、ACS Engine には SLA が用意されていません。 サポートは、Microsoft の公式チャネルではなく、GitHub のオープンソース プロジェクトを通じて提供されます。 ...

May 29, 2017 · nnasaki

de:code 2017で発表してきました

de:code (decode) 2017 | 日本マイクロソフトの開発者/アーキテクト/IT Pro 向けイベント - Microsoft Events & Seminars 「OSS on Azure で構築するモバイル バックエンド」でテクニカル エバンジェリストの戸倉さんと一緒に発表しました。 数千人集まる大規模な有償イベントでは初の登壇でしたので、大変緊張しましたが貴重な経験をさせていただきました。 資料と録画は後日公開されますが、書ける範囲で簡単にまとめておきます。発表内容は前半Mobile Appsの部分は戸倉さんに対応していただき、私の発表は次の通りです。 事例紹介 Linux と Java で構築 VirtualMachineだったので、辛いところもあった 今から作るならWeb Apps On Linux Docker は良いぞ Azure Database for MySQL or PostgreSQL 出ましたね どちらもまだプレビューだけど期待大ですね Demo DemoではOpenCVを扱い、画像をアップロードして顔認識をさせました。 f:id:nnasaki:20170526072756p:plain Web Apps On Linuxのデプロイメントスロットを使用して、ちょっと改造したり f:id:nnasaki:20170526073951p:plain 反省点 デモは本番で失敗してしまい、事前に録画しておいたムービーを流しました。失敗した理由はIPv6環境でlocalhostが通らなかったからです。 リハでは有線LANがドライバ不足で使えず、当日有線LANを使用したところIPv6が有線されてしまい localhost に接続できなかった模様です。 あとは声が出にくかったりなどなど、数えると切りが無く。 まとめ スピーカーとして最終日の最後でしたので、自分の番が終わるまで落ち着きませんでした。セッションを何個か見ましたが頭に入ってこない感じ。 私の発表は導入部分について、なぜ導入するか?導入すると皆さんにどういうメリットがあるかという部分を中心に説明しましたので、技術的な機能紹介はポイントを絞り、あえて削りました。 Web Apps On Linuxについてはしばやん先生が既に資料も公開しておりますので、詳しくはそちらを参照していただくと良いです。 blog.shibayan.jp Azure Database for MySQL/PostgreSQL についてはテクエバの久森さんが、 「Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介」というタイトルで発表されていますので、詳しくはそちらをご参照ください。 ...

May 26, 2017 · nnasaki