読者です 読者をやめる 読者になる 読者になる

あじゅらーの成長日記

にわかITインフラエンジニアがMicrosoft AzureなどIT関係全般を綴ります。

【まとめ】Global Azure Bootcamp 2017@Tokyo

Global Azure Bootcamp 2017@Tokyoに参加してきたので、内容を備忘録も兼ねてまとめます。
重要そうなところを抑えつつ、気になったところをまとめていきたいと思います。
(★〜)は僕のコメントです。

<目次>

Azureって何よ2017年の最新情報をゆるまとめ

スライド

https://www.slideshare.net/jazug_girls/azure2017

メモ

  • BLOBストレージアカントだとHOTとCOOLを使い分けることができるが、Page Blobはない。つまりVMのディスクは格納できない。
  • Managed Disksが登場したおかげて、ストレージアカウントを意識しなくてよくなった。
  • Marketplace/カスタムイメージを扱いやすくなった。
  • VMディスクの暗号化ができるように。(201609GA)。ただしKey Vaultが必要。
  • App Service
  • Web Apps
  • Mobile Apps
  • Logic Apps(201607GA)
  • API Apps(201608GA)
  • My SQL in App.Web Apps内で利用できるローカルのMySQLインスタンス。(201703GA)
  • 高度なアプリケーション再起動のより、自分で設定した秒数によりアプリを再起動できる。アプリの全断を避けられる。
  • Functions(201611 GA)
  • サーバーレスで処理の実行が可能。
  • FunctionsがVSを使ってローカルで開発できるようになった。
  • Face API(201704 GA)
  • Av2,Dv2(汎用型),F(コンピューティング最適化),L(ストレージ最適化),N(GPU),G(最適化されたメモリと),H(ハイパフォーマンス)
  • VNET Peering.VNET同士の接続が可能に。(★今までも vnet to vnetでできたのでは?)
  • シングルインスタンスでSLAの対象になったインスタンスも。
  • リージョン自体の切り替えはMS側で判断するため、ストレージの切り替えは個別に行われない。
  • azure security centerを使うとポチポチとウイルス対策ソフトをインストールしたりできる。

    Azure 2017年3月障害Deep Dive

    スライド

    https://www.slideshare.net/YutoTakei/azure-75296598

    メモ

  • Azure.moe slack channel(auto invite)
  • ラジオをやっている。毎週木曜日12時。
  • 議題は3月の一回目の東日本のストレージ障害。
  • Root Cause Analysisが大きな障害が発生した場合は公開される。
  • RCAを理解するにはStream Managerの理解が大事なので、Stream Managerが何をしているものか理解するのが目的。
  • ストレージ内にあるオブジェクトに対してのURLはそのままURIになるように設計されている。
  • ストレージの構成
  • ロケーションサービス
  • VIP
  • ストレージスタンプはラック10-20本くらいのサーバの塊
  • フロントエンドレイヤ
  • パーティションレイヤ
  • ストリームレイヤ
  • ロケーションサービスはURLの中身がどこにあるか知っている。
  • Frond End Layer
  • ユーザーからの要求を受け付ける役目
  • パーティションの名前とパーティションが存在しているサーバーとのマッピングを保持して管理している。
  • Partition Layer
  • データの管理(blob,table,queue,file)
  • 強い一貫性を確保する。(★多分書き込み完了するまで、古いの見せるとかなんだろう。)
  • 分割によるスケーラビリティの実現
  • Stream Layer
  • 最終的にデータを永続化する役割
  • データセンタ内で3つのレプリカを作成して維持する。
  • GRSのレプリケーションはPartition Layer。LRSはStream Layer.
  • スタンプ内レプリケーション
  • HW障害のためのデータ耐久性の保持が目的
  • レプリカは同期
  • Stream Layer スタンプ間レプリケーション
  • レプリカは非同期
  • Partition Layer
  • Paxosプロトコル
  • 合意を形成するためのプロトコル
  • 複数の参加者の間で、ある1つの結果について承認を得ること
  • Stream Managerはストリーム、エクステントを管理する。
  • エクステントノードはエクステントとブロックを管理する。
  • Stream Managerへの要求はPartition Layerから。
  • プライマリ1個とセカンダリー2個を決めてPaxosクラスタを形成する。
  • パーティションレイヤがデータを書き込む際にはStream Managerは介在しない。
  • あるエクステントが壊れたらStream Managerがプライマリのエクステントノードに新しく用意したエクステントノードにレプリケーションを支持。
  • (★東日本のRCAに戻ると、「Stream Managerが不健全な状態になったから、エクステントノードに命令が出せなくて落ちた」ということかな?)

    bitFlyerを支える仕組み - Azure障害の中1時間未満でサービス復旧を実現-

    スライド

    まだ公開されていません。

    メモ

  • マイクロソフトのページに事例紹介あり。
  • ビットコインのシステムをAzure上で運用
  • 2016/9/15 DNS障害
  • システム上で発注が一切出せなくなった。
  • 緊急時にはIP直打ち、DNS冗長化が良い?
  • 2017/3/8 東日本ストレージ障害
  • Redis Cacheが死ぬ。
  • Azure Statuで東日本ストレージ障害を確認。
  • 西日本に切り替えた。
  • Multi-AZ構成を事前に検討することが大事
  • 影響範囲と依存関係の明確化。
  • 緊急時手順と予行演習をしていないと見落としがある。
  • 2017/3/28 西日本ストレージ障害
  • Redis Cacheが死ぬ。
  • AWSでは警告アイコンがS3に入ってて出せなかったが、Azureはでた。
  • (すぐに東、西を切り替えられたのはすごい)
  • 2017/3/31 東日本ストレージ障害
  • 22:44に未処理の注文がキューにたまり、監視システムからアラート
  • 22:54 Cloud ServiceのVMに接続ができなくなる。Azure Statusページ確認は「正常稼働」
  • 23:13 Azure Statusページ確認は「正常稼働」.DB以外を西へ移行開始した。
  • 23:28 Azure Portal「東日本サービスが停止しています」
  • サポートに問い合わせするもイケてない。
  • ジオレプリを使っても死ぬときは死ぬ。
  • GRSは実は発動したことはないらしい。(勝手にMSが切り替えるもの?)
  • DNSの設定変更を忘れることなく。必要なところはTTLを短く。
  • Redis Cache
  • 起動までに30分かかるので、事前に作っておくことなども考慮したほうがよい.
  • Geoレプリ
  • とりあえずFailoverしてからスケールアップ
  • SQL Database
  • 1つのDBから同時コピーすると遅くなる。
  • コピーよりgeoリストア推奨
  • コピー元DBでreconfigurationが発生していた。それによりDBのコピーに時間がかかってしまった。
  • SQL Databaseクエリプランの強制に失敗する場合がある。
  • SQL Databaseはセカンダリもプライマリと同じ100%.
  • (QA)返金は障害があった翌月までにSRをサブスクリプションごとにあげる必要がある。
  • (QA)プレミアじゃないとサポートは過去の情報が引き継がれない。
  • (QA)3つのリージョンでサービスを提供して、2/3返ってきたらOKという構成にしてはいかがですか。

    サポートエンジニアが紹介する、Azure Portal/CLI 使いこなし

    スライド

    https://docs.com/tanaka-takayosh/a8d11684-d658-4789-9405-744106cbbb96/2017-04-22-azure-portal-cli

    メモ

  • 最近はAzure CLI 2.0推しを感じる。
  • Azure CLI Shell 2.0もGAした。コマンドの補完もしてくれるしとても便利そう!
  • リソースはタスクごとに作成している。新しい機能を調査する場合も新しいリソースグループで。
  • レイテンシーが気にならない場合は一番安いwestus2か少し安くレイテンシ遅くないjapanwestに。
  • 無駄遣い帽子のために、Azure Automationで定期削除を。
  • Azure AutomationはAzure版のタスクスケジューラ。実例入りのドキュメントもたくさん。高度な作業はDSC、単純作業はRunbook。
  • UnmanagedなVMにManagedなDiskはattachできない。
  • MarketplaceのVMがもともとUnmanagedだとManagedにするには変換が必要。
  • Managed Diskはさいずによる課金が階段状.32GBと33GBの値段は倍。(standard)
  • Azure上ではOSディスクのLVNは非推奨
  • OSディスクをLVMにするとUUIDがかぶるので復旧が大変。
  • OS Diskの暗号化はディストリビューション次第.
  • ImageからVMを作成する際は予約語を使うとMarketplaceのものが使用される可能性がある。
  • 課金明細をダウンロードしてあたりを付けてからサポート問い合わせすると楽。

    Azure ML系 「practice over theory」

    スライド

    https://docs.com/user142134/1717/japan-azure-boot-camp

    メモ

  • Cortana Intelligence GalleryにMLのサンプルがたくさんおいてある。
  • Cognitive Servicesは英語版の方がデモ環境が整っている。
  • BotFrameworkでQ&AをBot化できる。
  • BotFrameworkはWest USリージョンが良い。裏で動いているファンクションが同一リージョン。

    DocumentDB DeepDive

    スライド

    まだ公開されていません。

    メモ

  • SQLでクエリができるスキーマフリーなNoSQL
  • 勝手にindexing
  • レイテンシが保証されている。
  • Read:<10ms,write:<15ms
  • Partition KeyによってどこのPartitionが使われるかが選択されるため、Key選びは大事。
  • 全体に負荷がかかるよなkeyにする。
  • トランザクションはPartitionをまたげないので、Partition Keyの選択は大事。
  • Partition key rangeを取得することができる。
  • Partition切る設計を間違えると、思い通りの性能がでない。 
  • クエリにPartition Keyを指定しないとクライアント側で処理が必要で大変。

オルターブースさんのAzure事例(松村さん、森田さん.NET CoreとACS、Web Apps)

スライド

メモ

  • Web AppsをフロントにバックはAPIを呼び出す方式。
  • ログはfluentdを動かしてelasticsearchに入れて、kibanaで可視化。
  • エンドポイントの監視はZABBIX.結果はslackに
  • コンテナの監視はOMS.ZABBIXのリソース監視はうまく動かなかった。
  • Route53からプライマリでWebApps、セカンダリはCloudFront.
  • Route53はAlias機能でZone Apexが使えた。Azure DNSとTraffic Managerは使えなかった。
  • チケット管理はBacklog.プルリクストはコードレビュー。
  • Backlogの通知が多すぎるから、Web hookからAzure Functionを使って個人のSlackに通知。
  • Docker pullでAzure Container Serviceにデプロイ。
  • リリース管理はGit Tag.
  • Tagは2種類(staging/honban)
  • tagの指定で本番デプロイ
  • chromeの操作履歴をトレースして負荷テストできる。VS Team Testの機能
  • 自社サービスで徹底的にいばらの道を楽しむ。受託開発は安定.
  • アイデアソンは肉食べながら、寿司食べながら、ビール飲みながら。
  • Dockerを使った本番運用は調べても全然出てこない。
  • (QA)DockerがHostプロセスを巻き込んで死ぬ減少があるがどうか。->今のところない。

Application Insights Profiler

メモ

  • App Insightsはポータルからぽちぽちして作れる。
  • Site Extension(App insightsとProfiler)を入れると使える。
  • ポータルからインストールすると表示上は失敗するが、裏では動いていてインストールできる。
  • Windowsのイベントログも見れるようになる。

    DocumentDBとFunctionsの良い関係

    メモ

  • DocumentDBはレイテンシが早い、スケーラビリティがある。
  • 429問題で苦労した。キューを使ってRUの調整。

    Azureにフィードバックしよう

    メモ

  • フィードバック方法はフィードバックサイトに投げましょう。
  • https://feedback.azure.com/
  • BUG対応もしてくれる。
  • 最悪日本語でOK.

    Azure Media Serviceで初めてPower Apps使ってみた

    メモ

  • プログラムしなくても動画配信ができる。

    Kubernetes Helmから始めるコンテナ生活

    メモ

  • Kubernetes
  • コンテナオーケストレーション
  • Helmを使うと管理が簡単に。
  • Helmを使うと使いたいアプリのデプロイが簡単.

    その他

  • JAZUG TOKYO NIGHT 6/22(木)
  • JAZUG 女子部主催 インフラ野郎 5/17(水)

Azure Translator Text API使ってみた!

ひょうんなことからAzure Translator Text APIに興味を持ったので、どのようなサービスか、実際の使い方など調べてみました。
同じようにAzure Translator Text APIを使いたい方の参考になれば幸いです。

<目次>

概要

Azure TranslatorはREST APIで呼べるAzureの翻訳サービスです。

docs.microsoft.com

マイクロソフトのTranslator APIは今までは統計的なマシンラーニングを使っていたようですが、最近ニューラルネットワークに置き換えられたそうです。

それだけでも随分精度が上がったそうですが、 Collaborative Translations Framework (CTF)という仕組みでユーザーが翻訳エンジンに翻訳結果をレーティングでできるような仕組みとなっています。

Azure Translatorを使うには

以下の手順で作成していきます。

  1. Azureにサインイン

  2. Microsoft TranslatorをSubscribeする。

  3. Authentication Keyを発行する。

  4. 実際にAzure Translatorを使う。

Azureにサインインする部分は省きます。

Azure TranslatorはCognitive Serviceの一部なのでCognitive Servicesから作成します。

f:id:hayato320:20170421155905p:plain

f:id:hayato320:20170421160317p:plain

f:id:hayato320:20170421160528p:plain

Translatorを作成するとキーを取得できるようになります。
このキーは使用してREST APIを発行するので、このキーは重要です。

f:id:hayato320:20170421161350p:plain

さて、3まで完了したので、実際にTranslatorを呼び出してみましょう。 githubにマイクロソフトのサンプルコードがあるので、今回はその中からpythonを使います。

https://github.com/MicrosoftTranslator

"""                                                                                                                                                                                                                                          
Example application showing the use of the Translate method in the Text Translation API.                                                                                                                                                      
"""

from xml.etree import ElementTree
from auth import AzureAuthClient
import requests

doItAgain = "yes"

def GetTextAndTranslate(finalToken):

    fromLangCode = " "
    toLangCode = " "
    textToTranslate = " "

    print " "
    print "   Language List"
    print "     English"
    print "     German"
    print "     Italian"
    print "     Spanish"
    print "     French"
    print "     Japanese"

    # Get the source language                                                                                                                                                                                                                 
    while (fromLangCode == " "):
        sourceLang = raw_input("Type the name of a language from the list that you want to translate from: ")

        if (sourceLang == "english") or (sourceLang == "English"):
            fromLangCode = "en"
        elif (sourceLang == "German") or (sourceLang == "german"):
            fromLangCode = "de"
        elif (sourceLang == "Italian") or (sourceLang == "italian"):
            fromLangCode = "it"
        elif (sourceLang == "Spanish") or (sourceLang == "spanish"):
            fromLangCode = "es"
        elif (sourceLang == "French") or (sourceLang == "french"):
            fromLangCode = "fr"
        elif (sourceLang == "Japanese") or (sourceLang == "japanse"):
            fromLangCode = "ja"
        else:
            print " "
            print "You need to pick a language from the List"

            raw_input("Press any key to continue")

    print " "

    # Get the destination language                                                                                                                                                                                                            
    while (toLangCode == " "):
        destLang = raw_input("Type the name of a language from the list that you want to translate to: ")

        if (destLang == "english") or (destLang == "English"):
            toLangCode = "en"
        elif (destLang == "German") or (destLang == "german"):
            toLangCode = "de"
        elif (destLang == "Italian") or (destLang == "italian"):
            toLangCode = "it"
        elif (destLang == "Spanish") or (destLang == "spanish"):
            toLangCode = "es"
        elif (destLang == "French") or (destLang == "french"):
            toLangCode = "fr"
        else:
            print " "
            print "You need to pick a language from the List"

            raw_input("Press any key to continue")

    print " "

    textToTranslate = raw_input("Type the text that you want to translate:  ")

    print " "

    # Call to Microsoft Translator Service                                                                                                                                                                                                    
    headers = {"Authorization ": finalToken}
    translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?text={}&to={}".format(textToTranslate, toLangCode)

    translationData = requests.get(translateUrl, headers = headers)
    # parse xml return values                                                                                                                                                                                                                 
    translation = ElementTree.fromstring(translationData.text.encode('utf-8'))
    # display translation                                                                                                                                                                                                                     
    print "The translation is---> ", translation.text

    print " "


if __name__ == "__main__":

    client_secret = 'YOUR SECRET KEY'
    auth_client = AzureAuthClient(client_secret)
    bearer_token = 'Bearer ' + auth_client.get_access_token()

    while (doItAgain == 'yes') or (doItAgain == 'Yes'):
        GetTextAndTranslate(bearer_token)
        print ' '
        doItAgain = raw_input('Type yes to translate more, any other key to end: ')

    goodBye = raw_input('Thank you for using Microsoft Translator, we appreciate it. Good Bye')

githubにあるauth.pyも同フォルダに置く必要がありますが、かなりシンプルなコードですね。

実際に実行してみるとこんな感じです。
日本語から英語に翻訳できているのがわかります。

$python MTPythonSampleCode.py
 
   Language List
     English
     German
     Italian
     Spanish
     French
     Japanese
Type the name of a language from the list that you want to translate from: Japanese
 
Type the name of a language from the list that you want to translate to: english
 
Type the text that you want to translate:  こんにちは
 
The translation is--->  Hello

もちろん単語ではなく文章も翻訳できます。

python MTPythonSampleCode.py
 
   Language List
     English
     German
     Italian
     Spanish
     French
     Japanese
Type the name of a language from the list that you want to translate from: Japanese
 
Type the name of a language from the list that you want to translate to: English
 
Type the text that you want to translate:  私はAzureが好きです。
 
The translation is--->  I like Azure.
 

料金

200万字までは無料のプランで使用することができます。
使用する量に応じて料金が発生しますが、翻訳ロジックを簡単に使用できるのはとてもうれしいですね。

https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/translator-text-api/

まとめ

今回はCognitive Servicesの中からTranslator Text APIを使ってみました。
Translatorには他にもTranslator HUBというものがあり、こちらだと学習させながら精度を上げることが可能になります。
Translator HUBについてはまたどこかで。

これはすごい!ストレングスファインダーで自分の強みを見つけよう!

最近友人に紹介してもらった本が面白かったので紹介します!

ストレングスファインダーです!!

f:id:hayato320:20170306152433j:plain

少しだけ本の紹介

人が強固な人生を歩むために必要なものは何かを紹介するところから始まります。
強固な人生を歩むためには、強みを活かし弱点と折り合いをつけることが必要だそうです。
強みとは以下の3つから構成されるそう。

  • 才能
  • 知識
  • 技術

知識と技術は後から習得することが可能ですが、才能は自分で見つけることが難しいため、「ストレングスファインダー」で見つけましょう。

才能を「ストレングスファインダー」で見つける

ストレングスファインダーを購入するとWebで自身の強みを見つけるためのアクセスコードが付いてきます。
Webで200問くらい回答すると自身の強みを見つけることが可能です。

実際にやってみた筆者の強み

筆者が実際にやってみて、診断された強みは以下でした。

  • 学習欲
  • 最上志向
  • 達成欲
  • 自己確信
  • 自我

かなり筆者の強みや思考がよく診断されたなぁと感じました。
実際の本では上記の強みがそれぞれどのような強みか詳しく解説されています。
自分の人生を強固にするためには、上記の強みを認識して人生を過ごす必要があるそうです。
同時に上司に上記を認識してもらい、マネジメントをしてもらえるとありがたいなぁと感じました(笑)

是非皆さんも読んでみて下さい!

【Azure】Azure CLI 2.0を使用したAzureへのログイン方法まとめ

Azure CLI 2.0が2017/2/27にGAしました。
本記事ではAzure CLI 2.0を使用したAzureへのログイン方法をまとめたいと思います。
Azureは日本語のドキュメントが出るのが遅く、また内容が分散していて分かりづらいと感じますので、同じように感じる人の参考になれば幸いです。

<目次>

Azure CLI 2.0ログイン方法

ARM(Azure Resource Manager)モデルでは以下の3つの方法でログインすることが可能です。

  1. 対話形式
  2. ユーザー名とパスワードによる Azure ログイン
  3. サービス プリンシパルによる Azure ログイン

「対話形式」のログインは特に難しいことがないため本記事では取り扱いません。
本記事では「ユーザー名とパスワードによる Azure ログイン」と「サービス プリンシパルによる Azure ログイン」を利用してログインする方法をまとめます。

ユーザー名とパスワードによる Azure ログイン

なぜかマイクロソフトのドキュメントには記載がないのですが、以下のように-u-pオプションをつけることで煩わしいブラウザのコード入力画面が立ち上がらずログインすることが可能です。

az login -u test@contoso.com -p contosoweb

2017/04/23追記
※MicrosoftアカウントとMFAが有効になっているアカウントでは上記は利用できません。

サービス プリンシパルによる Azure ログイン

エンタープライズの環境では、Azure ADに自動化用のユーザーを作成することが難しいことがあります。
ユーザーを払い出した場合でも、パスワードポリシーによっては定期的にパスワードの変更が必要なため、スクリプトで使用するパスワードを変更する手間が発生してしまいます。 サービスプリンシパルによるログイン方法を使用すれば、新たにユーザーを作成する必要がありません。

また、こちらを使用する用途としてはRBACを利用してユーザーアカウントとは異なるRBACをで操作したいというケースに有効です。
さて、それでは実際にサービス プリンシパルを使用して Azure ログインしてみましょう。

1.まずはAzure CLIでログインします。

az login

ログインするユーザーの権限には注意が必要です。
サービスプリンシパルを作成するにはAzure Active ADと Azure サブスクリプションの両方で適切な権限が必要です。
もしこれから実行するコマンドが上手く行かなかった場合、まずは権限の確認をしてみてください。
確認する項目、内容は以下にまとまっています。

docs.microsoft.com

2.次にサービスプリンシパルを作成します。

az ad sp create-for-rbac --name "enjoymylife" --role contributor

権限に問題なければ以下のような標準出力が得られるはずです。
※実際の値から変更しています。

{
  "appId": "xxxxxxxx,
  "displayName": "enjoymylife",
  "name": "http://enjoymylife",
  "password": "yyyyyyyy",
  "tenant": "zzzzzzzz"
}

ちなみにRoleで与えることができる権限は以下の3種類です。

Role 説明
owner 全てのリソースを作成可能。
contributor 全てのリソースを作成可能。ただし、他のユーザーへのアクセス権限付与不可能。
reader 既存リソースの表示のみ可能。

詳しくは以下を参照してください。

docs.microsoft.com

3.最後に作成したサービスプリンシパルでAzrueにログインします。

az login --service-principal -u "http://enjoymylife" -p "yyyyyyyy" --tenant "zzzzzzzz"

問題なくログインできると以下の標準出力が得られます。
※実際の値から変更しています。

[
  {
    "cloudName": "AzureCloud",
    "id": "aaaaaaaa",
    "isDefault": true,
    "name": "bbbbbbbb",
    "state": "Enabled",
    "tenantId": "zzzzzzzz",
    "user": {
      "name": "http://enjoymylife",
      "type": "servicePrincipal"
    }
  }
]

まとめ

今回はAzure CLI2.0のログイン方法についてまとめました。
筆者はMSのドキュメントを読み解くのが苦手なのですが、同じく苦手な人の参考になれば幸いです。

【Azure】 Managed Diskを使って仮想マシンをデプロイしてみた

2/9にAzureでManaged DiskがGAしました。
これによりストレージアカウントを作成しなくても仮想マシンを作成することができ、かつストレージアカウントによる様々な制約から解放されるようになりました。
前回はドキュメントベースでManaged Diskとは何かを読み解きました。

enjoymylife.hatenablog.com

今回は実際にAzureポータル上でManaged Diskを使用した仮想マシンを作成し、気になるところを確認していきます。

<目次>

仮想マシン作成

今までと変わらないところは割愛します。
今回のManaged DiskのGAに伴い、設定画面に「管理ディスク」という項目が追加されていました。

左が管理ディスクを使わない場合、右が管理ディスクを使う場合です。 右はストレージアカウントの項目がなくなっていることがわかると思います。

f:id:hayato320:20170211121239p:plain f:id:hayato320:20170211121243p:plain

気になったこと

  • Managed Diskを使う場合、ストレージアカウントを作成しないので冗長性はどうなるの?
     ->ローカル冗長ストレージのみしか利用できないようです。ポータル上ではStandard_LRSとPremium_LRSの画面しかありませんでした。
      MSのページにもLRSであることの記載があります。
    [http://blog.hatena.ne.jp/hayato320/enjoymylife.hatenablog.com/edit?entry=10328749687215810082:title]

  • ディスクのエクスポートは可能?
    ->可能でした。一時的にダウンロード用のURLを作成してエクスポートできるようになります。ただし、仮想マシンに割り当て中の場合は、URLを作成できませんでした。
      また、仮想マシンにアタッチしているOSディスクの場合はデタッチできないため、エクスポートできなさそうです。   f:id:hayato320:20170211122624p:plain

  • バックアップはできる?
     ->仮想マシンのビューからバックアップできました。ポータル上ではディスク単位のバックアップの画面はありませんでした。

まとめ

今回はManaged Diskの基本的な操作を試してみました。
使い方はとても単純で難しいところはありませんでした。
今後は仮想マシン用途ではManaged Diskがメインになっていくでしょうね。
今後の事例やアナウンスは注意深くウォッチしていきたいです。  

【Azure】Managed DiskがGAしました

AzureのManaged Diskが2/9にGAしました。
本記事ではドキュメントベースでManaged Diskのメリットについてまとめたいと思います。

<目次>

Azure Managed Disk

英語ですがいかにドキュメントがあるので、読み解いていきます。

docs.microsoft.com

Simple and scalable VM deployment

今まではストレージアカウントごとにIOPSの制限があるため、それ以上のIOPSを出したい場合は、複数のストレージアカウントを作成して、それぞれのストレージアカウントにディスクを作成する必要がありました。
Managed DiskはストレージアカウントごとのIOPSの制限(20、000)がなくなるため、上記のような心配をする必要がなくなりました。
ストレージアカウント毎にIOPSに制限があると、たくさんVMを作成する場合などはストレージアカウントを分ける必要があったため、管理しづらい状態でしたがそれがなくなりました。

Better reliability for Availability Sets

ディスク毎に孤立(ストレージが別れているのかな)しているから可用性が上がったそうです。

Better security

Managed Diskはディスク毎にRBACを使用することができます。セキュリティのことも考えているそうな。

その他

  • カスタムイメージ使えます。
  • スナップショットが使えます。ディスク毎に使えます。
  • Azure Backupサービスとも連携しています。

ちなみに

下記の記事に記載があるのですが、ストレージアカウントとはAzureストレージを使うよーという宣言のようです。

http://www.slideshare.net/ToruMakabe/azure-night

実際の動き的にはストレージアカウント作成によって、アカウント名とURLの紐付けや、アカウントとデータ配置場所のヒモ付等を行っているようです。

まとめ

よりシンプルに使いやすくなったイメージです。
ストレージアカウントによるIOPSの制限がなくなったことは大きいですね。

2017年目標

2016年も終わり、2017年になりましたね。。
みなさん、昨年に立てた目標は達成できたでしょうか。
(私は達成できなかったのですが、それには触れないでおきます。。。)

ということで今回は2017年に達成したい目標を仕事もプライベートも含めて整理したいと思います。
本エントリーは2017年の終わりに必ず振り返るので、その時には全部達成した!と言えるように頑張ります!

<目次>


仕事面の目標

クラウドエンジニア

昨年は既存のデータセンタサービスの保守運用をメインに行なっていました。
事業部内のAzureに関する活動も行っていたので、その点では楽しく仕事ができていました。

とはいいつつも、Azureに関しては突き抜けて仕事をすることができませんでした。
既存業務がメインだったためAzureに関して積極性が足りませんでした。

2017年はクラウドエンジニアとしてより精進します!
事業部内にはあまりいないAWSも少し分かるAzureエンジニアになってバリューを出していきます。

特に、Azure分かる人いない?と言われたときに客先でうろたえることなく説明できるエンジニアになりたいです。
目標は定量的な方が良いと思っているので資格取得を目標にします!

プライベートの目標

マラソン

昨年は趣味のフルマラソン目標サブ3.5を達成することができました。
ただ、早々に目標を達成した後は怠けてしまって、タイムが伸びなかったのも事実です。

趣味も目標を決めて、達成したほうが楽しいです。
なので、今年も今の自分よりレベルが高い目標を設定します!
フルマラソン200分切り、ハーフマラソンは90分切りを目標にします!

体づくり

昨年はジムに通い始め筋肉をつけることに尽力した一年でした。
結果、筋肉はかなりついたと思いますが、脂肪を落とすところまで出来なかった一年になりました。
今年は体を絞り、見栄えの良い体を作ります!
具体的に言うと、体脂肪率を13%以下に絞ります!  

2017年目標まとめ

ということでまとめると2017年の目標は以下です!

No. 分類 目標 備考
1 資格 70-532 Azureの資格
2 資格 70-533 Azureの資格
3 資格 70-534 Azureの資格
4 資格 高度情報技術者試験 IPAの資格
5 資格 TOEIC 800点
6 資格 TSST レベル6
7 健康・スポーツ フルマラソン 200分切り
8 健康・スポーツ ハーフマラソン 90分切り
9 健康・スポーツ 体脂肪率13%以下

以上が目標になります!
具体的にどのように上記を達成するか別途計画を立てます!
2017年の末に全て達成できたことを報告できるように頑張ります!