Azure Automation の RunBook で Add-AzureAccount を使用する場合の注意

寒くなってまいりました。PowerShell 使ってますか?暖かくなりますよ。たぶん。 Ch9 に PowerShell 日本語専門チャネルを作りましたMastering Windows PowerShell for Japanese 以下の記事は、動画でも解説していますので、デモンストレーションとともにご覧ください。 #01 Azure Automation 概要と Add-AzureAccount 使用時の注意点 PowerShell から Azure サブスクリプションに接続するには Add-AzureAccount コマンドレットを使用します。 Add-AzureAccount をそのまま実行すると、以下のようなサインイン画面が表示されます。 しかし、Azure Automation 上からスクリプトを実行する場合、資格情報の入力を省きたいものです。自動化ですから当然です。その場合は、-Credential パラメタを使用するのが定石です。 Azure Automation には「アセット」として「資格情報」を保存しておくことができます。 例えば、Azure サブスクリプションの管理者アカウントを「資格情報」アセットとして登録しておけば、Azure Automation の Runbook からアセット名を指定するだけで呼び出すことができて便利です。 ただ、1点注意があります。 -Credential に指定できるアカウントは「組織アカウント」だけなのです。 しかし、Azuer サブスクリプションの管理者は、規定ではマイクロソフトアカウントです。hotmail.com とか outlook.jp とかのアレです。これを –Credential の引数として使用すると、以下のようにエラーになります。 同じエラーは 手元のPowerShell のコンソールからも確認することができます。 ためしに、PowerShell コンソールを起動して以下のコマンドレットを実行してみてください。 $cred =…

0

PowerShell スクリプト用の新エディタ登場 ~ Visual Studio Code

Windows PowerShell、使ってますか? 多くの方は、PowerShell のエディタとして PowerShell ISE(Integrated Scripting Environment)を使用していると思います。ISE では Intellisence も使用できて便利です。PowerShell だけ使用しているのであれば、これで十分な気もしますね。 ただ、入力データを編集したり、出力結果を確認するなど、スクリプト以外の作業も必要なわけで、そうなると別のエディタを併用することになります。特に、JSONファイルやXMLファイルなどを ISE やメモ帳で扱うのは非常にうっとうしいです。 そこで、PS1 を含め複数のファイル形式に対応したエディタが望まれるわけですが、つい先日とても素敵なツールが Public Preview 版として提供されました。 Visual Studio Code です。 開発者用の Visual Studio にも PowerShell Extention が用意されているのですが、インフラエンジニアが使うには Too Much な感が否めません。そこで、Visual Studio Code です。その名の通りコード専用エディタで、”余計な”機能は実装されていませんので、使い方はとてもシンプルです。 VS Code の詳しい話はこちらの解説をご覧いただくとして、VS Code で PowerShell スクリプトを扱うためのセットアップ方法が少々難しいので以下で紹介します。 まずは、以下のページから「Codeをダウンロードする」をクリックして Visual Studio Code をインストールしましょう。 VS Code は Linux や MAC…

0

ARM 配下のマスターイメージをVMに展開するためのリソーステンプレートを作成する

前回までの投稿は以下の通りです。 インフラエンジニアのための ARM シリーズ Azure Resource Manager で作成した仮想マシンをキャプチャーするhttp://blogs.technet.com/b/junichia/archive/2015/11/25/3657462.aspx リソーステンプレートを作成する~超基礎編http://blogs.technet.com/b/junichia/archive/2015/11/25/3657470.aspx 今回は、キャプチャーしたマスターイメージをVMに展開するためのリソーステンプレートを作成します。 作成後のリソーステンプレートはこちらからダウンロードしてください。 以下のオペレーションは動画で実際に確認することができますので、実際に試すことができない方は是非ご覧ください。 まずは、作成しなければならないリソースを把握しておきます。 今回作成する仮想マシンをリソースに分解した図が以下の通りです。 既に、マスターイメージと仮想ネットワーク、サブネットは作成済みなので、作成しなければならないのは、以下の4つのリソースです。リソースを識別するには「リソースタイプ」を使用します。()内の文字列がそれぞれのリソースタイプです。 Public IP(Microsoft.Network/publicIPAddresses) NIC(Microsoft.Network/networkInterfaces) VM(Microsoft.Compute/virtualMachines) OS Disk(Microsoft.Storage/storageAccounts) もちろん、ただ作成するだけでなく、リソース間の関連付けや依存関係も定義しなければなりません。 OS Disk は本来ストレージアカウントから作成する必要があるのですが、今回は既存のストレージアカウントに展開します。そのため、今回は明に作成する必要はありません。仮想マシンを作成する際に OS のディスクパスがどこか?を指定すれば、そこに自動的にディスクを作成してOSを展開してくれます。 Local IP アドレスはリソースではなく、これは NIC のプロパティとして位置づけられています。 リソーステンプレートの大まかな構造については前回解説した通りです。Parameters、Variables、Resourcesの3つが重要だと書きました。上記のリソースを作成するには Resources 句を使用しますが、まずは Parameters 句から順に読み解きましょう。 ■ Parameter 句 仮想マシンを展開するには、以下のように多くの引数が必要です。このことは、実際に仮想マシンを作ったことがある方ならばお分かりかと思います。 マスターイメージの URI(要はディスクが格納されているパスのことです) 仮想マシンの名前 展開する OS のタイプ(Linux or Windows) 管理者のユーザーID 管理者のパスワード 仮想マシンのサイズ(A1とかDS1とかいうやつ) ストレージアカウント(仮想マシンのOSディスクを格納するためのストレージを指定する必要があります) 仮想マシンを展開する仮想ネットワーク 仮想マシンを展開する仮想ネットワーク内のサブネット…

0

リソーステンプレートを作成する~超基礎編

前回の投稿で、ARM 配下に仮想マシンを作成し、それをキャプチャーしてマスターイメージを作成しました。 Azure Resource Manager で作成した仮想マシンをキャプチャーするhttp://blogs.technet.com/b/junichia/archive/2015/11/25/3657462.aspx 今回はリソーステンプレートン作成方法について、基本的なことを学習しましょう。 なお、以下の手順は動画のデモンストレーションでも確認いただけます。感覚的に手っ取り早く理解したい方は動画のほうがお勧めです。 また、以下に関するPPT資料は こちら にあります。 作成したマスターイメージを展開するには、はじめにリソーステンプレートという JSON 形式の定義体を作成する必要があります。実は、クラシックタイプの仮想マシンには、Azure 新ポータルに「キャプチャー」や「VMイメージからのVM作成」機能が標準で提供されています。 が、残念ながら ARM 配下の仮想マシンにはマダなんです。なので、少々面倒ではありますが「リソーステンプレート」を作成して展開する必要があるのです。 既に書いたように、リソーステンプレートとは JSON 形式のファイルで、基本フォーマットは以下の通りです。他に Output があるのですが、ここでは省略します。 {"$schema": http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#,"contentVersion": "1.0.0.0", "parameters": { }, "variables": { } "resources": [ ] } それぞれのカテゴリには、以下のように引数、定数、リソースを記述します。 では、ここで簡単な「仮想ネットワークを作成する」リソーステンプレートを作成してみたいと思います。 まずは Parameters 句 から。Parameters には引数を定義します。ここで仮想ネットワークを作成する場合、「仮想ネットワークの名前」や「仮想ネットワークのIPプレフィックス」などが引数になることは、仮想ネットワークを作ったことがある方であれば容易に想像できると思います。 "parameters": { "VNETName": {"type": "string","metadata": {"description": "仮想ネットワークの名前"}}, "VNETPrefix": {"type": "string","metadata": {"description": "仮想ネットワークのIPレンジ(e.g….

1

Azure Resource Manager で作成した仮想マシンをキャプチャーする

Azure のリソース管理手法が充実してきて、すごくワクワクしております。 この投稿では、Azure リソースマネージャー(ARM)配下に仮想マシンを作成して、マスターイメージとしてキャプチャーする手順について解説します。 実際の操作方法は動画でも紹介していますので、以下をご覧ください。なお、この動画は Part 7 なのですが、全手順はこちらで参照可能です。 Azure 上にリソースを作成する場合、2つの方法が用意されています。 従来通りの方法(クラシック) リソースマネージャー(ARM)を使用する方法 ARM を有用性については別途きちんと解説したいと思いますが、1 つ利点を挙げるとすればリソース管理の容易さと視認性向上です。 SIer の SE であれば、お客様先に展開するサーバーの構成なんてのは大体決まっているもんで、通常はそれを展開するために手順書なんてものを作ったりします。まぁそれでも間違えたりなんだりで手戻りが発生するわけです。じゃ、スクリプトで自動化するか?なんて意見が出たとしても、意外にスクリプトって理解している人が少ないという。スクリプトは視認性が悪いって面もありますし、個人のクセが色濃くでてしまうので引継ぎしづらいって面もあります。 ARM を使用すると、Azure 内のリソースの属性や、リソース間の関係性を明確に宣言することができます。ARM で作成した仮想マシンや、仮想ネットワーク、仮想ディスク等をテンプレートとして保存しておくと、同じ環境がいつでも簡単に作成できるわけです。PowerShell に DSC(Desired State Configuration)という機能がありますが、DSCがサーバー内のリソース構成を宣言したテンプレートであるのに対し、ARM は Azure 内のリソース構成を宣言したものです。宣言という言い方はわかりずらいですかね。「定義」とでも読み替えてください。 ただ、現時点では難点(というか未実装な部分)がいくつかあります。例えば、仮想ネットワークにゲートウェイを作ることができないとか、仮想マシンをキャプチャしてイメージを作成できないとか。これらはPowerShell を使うと可能ではありますが、残念ながら Azure ポータルからは行えません。 で、本題ですが。 ちょっと ARM 配下の VM をキャプチャしなければならない状況になりまして、せっかくなのでここで手順を簡単にご紹介しておきたいと思います。まだ Preview の機能ですので、今後変更される可能性があることをご承知おきください。 VMをリソースマネージャー配下に作成する 日本語化等、必要な作業を行う Sysprep して一般化しシャットダウンする キャプチャする 1. VM をリソースマネージャー配下に作成する 仮想マシンをリソースマネージャーに作成するには、新ポータルか ARM Explorer、または PowerShell を使用する必要があります。従来のポータルでは作成できないので注意しましょう。今回は新ポータルで行います。まず新ポータルを開いてください。…

2

新ポータルで行う AD on IaaS と Azure AD ハイブリッドIdP を構成する紙上ハンズオン

なかなかハンズオンを開催する時間が無く、こうなったら記事にしてしまえということで、マイナビさんでハンズオンの連載をしてみることになりました。 あと、せっかくなので、新ポータルと Azure Resource Manager を使うことにしました。 【連載】 ハンズオンで身につく! 初めてのActive Directory on IaaS第1回 http://news.mynavi.jp/series/ad_iaas/001/ 最終的には以下のような構成を作成します。 いっしょに Azure を使って試していただきたいのですが、そうはいっても実際に試すのはなかなか難しいという方のために、構築手順を収録した動画も以下に公開します。 合わせてご覧ください。 #1 Introduction #2 Azure 仮想ネットワーク:解説編 #3 Azure 仮想ネットワーク:構築編 #4 仮想マシンのマスターイメージとは

0

PowerShell の多要素認証について

先日、Azure AD PowerShell モジュールの多要素認証対応についてご紹介しました。 Azure AD PowerShell モジュール群がフェデレーションとMFA対応に(Preview)http://blogs.technet.com/b/junichia/archive/2015/11/06/3656755.aspx ここで、「あれ?Azure PowerShell ってどうだっけ?」と混乱される方もいらっしゃると思うので、Azure 系 PowerShell の多要素認証についてまとめておきたいと思います。 より細かな解説とデモを以下に動画で用意しましたので以下もご覧ください。   上記ビデオで使用している資料はここからダウンロードできます。 Azure に関するモジュールというのは2種類あります。 Azure PowerShell モジュールと Azure AD PowerShell モジュールです。前者は、Azure サブスクリプションを管理するためのコマンドレット群です。仮想マシン作ったり、起動したりするためのものですね。後者は、Azure AD のテナントを管理するためのものです。ユーザーを作成したり、Office 365 のライセンスを与えたりといった用途で使用します。 それぞれの最新版と多要素認証の対応状況についてまとめると以下の通りです。 Azure PowerShell モジュール V 0.9.8(2015/11/9 現在) Web Platform Installer からインストールする V 1.0 Preview 版公開中 ここからダウンロード 既に MFA 対応済 Add-AzureAccount でログオンする Azure AD PowerShell…

0

Active Directory の最新情報を手っ取り早く動画で理解

みなさま、おつかれさまです。Active Directory、楽しんでますか? 最近、Active Directory や Azure Active Directory 関連の情報、Enterprise Mobility 関連の情報が次々と出てくるため、情報収集にてんてこ舞いです。 あまりにも動きが速いので、エンジニアの皆さんも大変だとおもいます。 かといって頻繁にセミナーを開催したところで、参加も大変でしょうから、Preview 版について手っ取り早く理解いただくための動画サイトを用意しました。 ここで、Preview が発表されたら、極力3日以内(あくまで努力目標ということで。すんまへん。)に日本語のデモ付き解説動画を投稿します。がんばります。 とりいそぎ、Azure AD ドメインサービス と Azure AD B2C について説明しましたのでご覧ください。 Azure AD B2C Preview とは Azure AD ドメインサービス とは

0

Azure AD PowerShell モジュール群がフェデレーションとMFA対応に(Preview)

Azure AD を PowerShell から管理するとき、最初に入力するコマンドは、 Connect-MSOLService ですね。このコマンドで Azure AD の管理対象テナントにサインインすることができます。 ただし以下の制限がありました。 サインインに使用できるユーザー ID は Azure AD のローカルアカウントadmin@hogehoge.onmicrosoft.com のようなアカウントで、オンプレミスADのアカウントは使用できない 多要素認証が効かない多要素認証を有効にしてもスルーされてしまう そのため、せっかくアプリケーションはセキュアにアクセスできても、肝心の Azure AD 管理はあと一歩。。。といった状況が続いていました。 でも安心してください。朗報があります。 つい先日 Azure Active Directory PowerShell with Modern Authentication の Preview 版がリリースされました。 Azure AD PowerShell: Public Preview of support for Azure MFA + new Device Management Commandshttp://blogs.technet.com/b/ad/archive/2015/10/20/azure-ad-powershell-public-preview-of-support-for-azure-mfa-new-device-management-commands.aspx これにより、Azure AD のコマンドレット群が ADAL(Active Directory…

1

15分で理解する Intune による Windows 10 のデバイス管理機能

2015年11月2日現在、Microsoft Intune のアップデートが世界中で進められています。このアップデートによって Windows 10 の Enterprise Data Protection が可能になる予定ですが、ひとまず、現時点でどのような管理が行えるかについて ソフィアネットワークの国井さんがデモ動画にまとめてくださいました。 この10本のショートビデオだけ見ておけば、Intune の全体が理解できてお勧めです。新機能の検証前に、現機能の総復習をしておきましょう ! 国井さんの Channel9 サイト 1. Microsoft Intune の概要と Windows 10 デバイスの登録 (1) 2. Microsoft Intune の概要と Windows 10 デバイスの登録 (2) 3. 特殊な Windows 10 デバイスの登録方法とインベントリ参照 4. デバイスのセキュリティ ポリシーの実装 5. Windows 10 カスタム ポリシー/コンプライアンス ポリシーの実装 6. Windows 10 デバイスのための電子メール プロファイルの配信 7. 条件付きアクセスによるコンテンツ アクセス制限…

0