たいちの何か

趣味を中心に車・クラウド・サーバーなどの話を勝手気ままに書いています

Azure - Powershellを使ってAzureに接続してみる - 接続編

今回はPowershell経由でAzureに接続してみたいと思います。

[2017.08.15追加]
サービスプリンシパルを使った自動ログオンの方法を書きました。
edge.hateblo.jp

目次

前回の記事はこちら。
edge.hateblo.jp

How to connect to Azure using Powershell

Powershellを使ってAzureに接続するためには、Webブラウザ経由で接続と同様にログインが必要です。 (ログインなしで接続で来たらセキュリティ的にまずいですからね)

PowershellでAzureにログインするためには以下のコマンドを実行します。

add-azureaccount

すると下記の画面が出てくるのでIDとパスワードを入れればログイン完了です。
f:id:taitioooo:20150812212822j:plain

簡単ですね。
でも!毎回ログインするのって面倒じゃないですか?
Powershellを起動したら、Azureにログインが完了していてほしいと思いませんか?
スクリプトを使ってAzureのコマンドをたたきたいときはどうすればいいのと思いませんか?
(少なくとも私はそう思います笑)

この辺りは天下のマイクロソフト様なのでしょうか。ちゃんと自動ログインする方法が用意されています。
早速自動ログインの設定をしてみます。

import PublishSettingsFile to logon Azure automatically

1. login Azure portal

まずWebブラウザを起動し、 Azureポータルにログインしておきます。
f:id:taitioooo:20150812213818j:plain

2. Invork Get-AzurePublishSettingsFile

次にPowershell*1を起動し以下のコマンドを実行します

Get-AzurePublishSettingsFile

実行するとWebブラウザに以下のページが表示され従量課金-x-xx-xxxx-credentials.publishsettingsというファイルのダウンロードが始まります。
このファイルをダウンロードします。(設定変更後削除するので、わかるところに保存しておいてください)
f:id:taitioooo:20150812214354j:plain

3. import Publishsettings file

以下のコマンドを実行して、先ほどダウンロードしたpublishsettingsfileをインポートします。

import-AzurePublishSettingsFile -PubliseSetiingsFile <ファイルのフルパス> 


以上で自動ログインの設定終わりです。
これでAzureサブスクリプションに対する自動ログインが可能になりました。

さてpublishsettingsfileをインポートしたらAzureに接続できるようになりましたが、このファイルは何なのでしょうか。
ググってみたところこんな記事を見つけました。

About Windows Azure Publish Settings File and how to create your own Publish Settings File

A publish settings file is an XML file which contains information about your subscription. It contains information about all subscriptions associated with a user’s Live Id (i.e. all subscriptions for which a user is either an administrator or a co-administrator). It also contains a management certificate which can be used to authenticate Windows Azure Service Management API requests. Typically a publish settings file look something like this:

確かにmmcを起動して証明書の[個人]-[証明書]を見てみると[Windows Azure Tools]という証明書が入っているではないですか。 有効期限は1年のようですね。つまり1年に1回は更新する必要があるということですね。 f:id:taitioooo:20150812221019j:plain

ちなみに、PublishsettingsFileをインポートすると、下記に設定ファイル(.json)が作られるようです。

%UserProfile%\AppData\Roaming\Windows Azure Powershell
f:id:taitioooo:20150812221644j:plain

jsonファイルの中身はこんな感じです。 (個人情報は削っています)
自動ログインに必要がなくなったら、下記のファイルと証明書を削除すればよさそうですね。

{  
  "Environments": [],  
edge.hateblo.jp


  "Subscriptions": [  
    {  
      "Id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",  
      "Name": "従量課金",  
      "Environment": "AzureCloud",  
      "Account": "xxxxxxxxxxxxxxxxxxxxxxxx",  
      "Properties": {  
        "SupportedModes": "AzureServiceManagement",  
        "Default": "True"  
      }  
    }  
  ],  
  "Accounts": [  
    {  
      "Id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",  
      "Type": 0,  
      "Properties": {  
        "Subscriptions": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  
      }  
    }  
  ]  
}  

関連ページ

Azure - Powershellを使ってAzureに接続してみる - 接続編 - たいちの何か Azure - Powershellのバージョン確認方法とアップデート - たいちの何か

*1:管理者権限・ユーザー権限どちらでも構いません

Azure - Powershellを使ってAzureに接続してみる - 準備編

Windows 10の環境にMicrosoft Azureへ接続するための環境を構築します。  

目次

そもそもMicrosoft Azureってなによ?という方はGoogle先生に聞いてみるとわかりやすい説明があると思います。(簡単に言うと、マイクロソフトが提供するクラウドサービスです。)

Azureの管理画面は、お馴染み(?)のこんな画面ですよね。
慣れてくると使いやすいような錯覚に陥るのですが、基本的に使いにくいです。
f:id:taitioooo:20150806210445j:plain

それに何かの値を一括で取得しようとしてもレポート出力機能などなく規模が大きくなると集計作業などほぼ不可能に近いです。
これは最近のMicorsoftのクラウドサービス全般にいえることなのですが、画面は最低限の機能(時には最低限の機能もない)が表示されており、使い倒したい人やカスタマイズしたい人はPowershell使ってね!!というスタンスをとっています。

つまりPowershellがないと、Microsoftクラウドサービスを使いきれないってことなんですね。
もちろんPowershellなしでも、ある程度までは十分に使えますが、この業界で食べていくにはPowershellは必須でしょう。

What is needed to connect Azure using Powershell?

PowershellでAzureに接続する方法は、実はいろいろあります。。
それぞれ用途が微妙に違い混乱のものとなっています。

  1. Microsoft Online Services Sign-In Assistant for IT Professionals RTW
  2. Azure Active Directory Module for Windows PowerShell
  3. Mixorosft Azure Powershell

今回は、Azure管理画面をコマンドで操作できるMicrosoft Azure Powershellモジュールを導入します。

How do you setup Microsoft Azure powershell ?

このモジュールの導入はとても簡単。

1. Get Web Platform Installer

まずMicrsoft Web Platform installerのダウンロードページにアクセスして、Web Platformインストーラーを入手します。
f:id:taitioooo:20150806211941j:plain

2. Install Azure Powershell module

ダウンロードが完了したら、インストーラーを起動して、Microsoft Azure Powershellを追加し、インストールを押します。
f:id:taitioooo:20150806213620j:plain
f:id:taitioooo:20150806213621j:plain
f:id:taitioooo:20150806213623j:plain
f:id:taitioooo:20150806213624j:plain

3. Import Azure Powershell Module

インストールが完了したらPowershellを起動します。2の手順でMicrosoft Azure PowershellモジュールがPCにインストールされてるので、Powershellコンソールで以下のコマンドを実行してモジュールを読み込みます。

Import-Module Azure

f:id:taitioooo:20150806214014j:plain

これでAzureに接続する準備が整いました。何が入ったか気になる方は以下のコマンドを実行してみてください。
かなりのCmdletが追加されているので、びっくりしますw

  • インポートしたCmdletを確認する
get-Module -moduletype Azure

  • 追加されたCmdletの個数を調べる(737個も追加されています><)
(get-Module -moduletype Azure).count
  • モジュールのバージョンを調べる
(Get-Module -name "azure").version

あっという間にインストール完了ですね。次回は実際にAzureに接続してみたいと思います。

関連ページ

Azure - Powershellを使ってAzureに接続してみる - 接続編 - たいちの何か Azure - Powershellのバージョン確認方法とアップデート - たいちの何か

Windows - UAC無効化のススメ

Windows10をインストールしてまず最初にやったこと。 それは、UAC(ユーザーアクセス制御)の無効です。  

目次

What is UAC ?

UACと言われてもなかなかピンと来ない人が多いのではないでしょうか。*1    では、下の画像に見覚えがあるかと聞かれたら、大体の人は「ある」と答えるのではないでしょうか。  

そうです。これがUACと呼ばれるアクセス制御の仕組みです。

UACとは、Windows Vista以降のWindowsに搭載されているセキュリティ機能の一つ。管理者(アドミニストレータ: Administrator)権限を持つユーザに普段は一般ユーザと同じ権限しか与えず、ソフトウェアが管理者権限の必要な 処理を実行しようとした際に警告ダイアログを表示して本当に実行してよいかユーザに確認する機能。*2

f:id:taitioooo:20150729232520j:plain

コンピューターには大きく分けて2種類の権限があります。(実際はものすごく細かく権限が分かれていますが)

  • 管理者権限(root, administrator)
  • ユーザー権限

家庭などで個人がWindowsを使う場合の多くは、ログインしているアカウントは管理者権限を持っています。
管理者権限とは、あらゆる設定を変更できあらゆるソフトウェアをインストールできる権限のことです。*3

管理者権限を持つと、何でもできるので使い勝手の面では申し分ないのですが、セキュリティ面で不安なところもあります。   そのため、管理者権限を持つアカウントも通常時はもてる権限を制限し、必要な時だけ管理者権限に昇格する仕組みが設けられました。それがUACという仕組みです。

LinuxUNIXの世界では、何十年も前からこの仕組み*4が実装されていましたが、Windowsに実装されたのは、10年前のWindows Vistaからです。

普段使う分には、UACが有効になっていても手間さえ気にならなければ、利用に支障はないのですが、スクリプトなどを書く場合には、この仕組みがあだとなる場合があります。
スクリプトで様々な処理を書く場合、大抵管理者権限がないと実行できない処理をするため、UACが有効になっていると、管理者権限で実行しているつもりが、ユーザー権限で実行していたという状態になり処理が失敗します。

というわけで、私はUACを無効にしています。 無効にする方法は下記のとおりです。

How do you disable UAC ? (case of Windows 10)

  1. 画面左下のウインドウズマークの上で右クリックをして、管理メニューを呼び出し、[コントロールパネル]を開きます。
    ※画像はメニューを表示する前の状態です。 f:id:taitioooo:20150729234656j:plain

  2. コントロールパネルの[ユーザー] - [ユーザーアカウント] - [ユーザーアカウント制御方法の変更]を開きます
    f:id:taitioooo:20150729234910j:plain
    f:id:taitioooo:20150729234914j:plain
    f:id:taitioooo:20150729234916j:plain

  3. デフォルトで下から3番目に設定されているので、1番下に設定してOKを押します。
    f:id:taitioooo:20150729234919j:plain
    f:id:taitioooo:20150729234922j:plain

  4. コンピューターを再起動すれば、UACが完全に無効になった状態で利用することができます。


以上がUAC無効化の方法でした。 (セキュリティレベルを下げることになるので、設定変更は自己責任で)

*1:ピンときた人も結構いるかな?

*2:抜粋: http://e-words.jp/w/UAC.html

*3:かなりざっくり言いました

*4:sudoなど

Windows - Windows 10をインストールする

本日7月29日。Windows10が正式リリースされる日ですね!
新しい物好きななので、早速Windowsをインストールしてみましたw

目次

Windows 10インストールの方法

Windows10はマイクロソフト初が目白押しです。

  • 初めてOSイメージをインターネット経由で提供する
  • 初めて無償で提供(SP除く。1年以内に限る)

Macを使っている私からは、はやりに乗ったねという感じですが、マイクロソフトの成り立ちを考えるとかなり画期的ですね。

さっそくインストールしましょう。

セットアップツールを入手する


Windows10はWindows Updateというパッチ配布の仕組みを使って提供されるそうですが、29日になったからといって全員にヨーイドン で配信されるとは考えにくいです。*1
せっかちな私はセットアップツールをダウンロードしてアップブレードしました。  

  1. まず下記のサイトにアクセスします。

    Windows10のダウンロード  

  2. インストールできる種類に32bit/64bitの2つがありますが、自分の使っているOSに合わせてダウンロードします。 f:id:taitioooo:20150729212908j:plain f:id:taitioooo:20150729213836j:plain

32bit/64bitの調べ方
[スタート] - [コントロールパネル] - [システムとセキュリティ] - [システム]のシステムの種類に記載があります。 f:id:taitioooo:20150729213118j:plain

セットアップツールを実行する


  1. ダウンロードしたツールを実行して[このPCを今すぐアップグレードする]を選択して次へ進みます。
    f:id:taitioooo:20150729213454j:plain

  2. [Windows10をダウンロードしています]と表示されるのでダウンロードが完了するまで待ちます。 f:id:taitioooo:20150729213500j:plain

  3. ダウンロードが完了したらEULAに同意して次へ進みます。
    f:id:taitioooo:20150729213507j:plain

  4. なんだか自動で引き継ぐアプリとか設定してくれたようでいつの間にかこの画面にきていました。しかたがないのでインストールを押しインストールを開始します。
    f:id:taitioooo:20150729225626j:plain

5.インストールが終わるまでひたすら待ちます。今までのWindowsだと自動で終わるかと思いきや、ボタンを押さないと進まない処理が多かったのですが、Windows10では1回もボタンを押さずインストールが進み、自動で再起動実行されました。
f:id:taitioooo:20150729225635j:plain

  1. 30分ほど放置したらインストール処理が完了してWindows10が利用可能な状態となります f:id:taitioooo:20150729225643j:plain

以上でWindows10のインストールが終わりました。自分の環境では約1時間半でダウンロードからセットアップまで終わった感じです。これはすごい!!!  

これからいろいろとWindows10をいじってみようと思います。

*1:負荷分散のためにずれて配信されるでしょう

Markdown記法 - コードを強調表示させる「ハイライトシンタックス」の使い方

技術系の記事を書く上で一番大事*1なのは、やはりコードのハイライトかなと思います。

目次

↓こういうの、よく見かけますよね??ね?

class Foo
  def bar'baz' # return baz
  end
end

自分はプログラマーではないので、特にコードの書き方にこだわりというものはありませんが、見やすいに越したことはありません。

さて、はてなブログで使えるハイライトシンタックスは、スーパーpre記法Markdown記法の2種類のようですね。*2

はてな開発ブログ

◯◯記法というのは、特定の記号を記述することで文字の表現方法を変える書き方です。*3

# 見出しです。大きく表示されます

例えば上のよう書くとこのように表現されます。

見出しです。大きく表示されます

ちなみに、この記事はMarkdownという記法で書いています。記法は、昔からあるので結構種類があります。他にはpukiwiki記法というのもあります。*4 Markdown記法を使うのは初めてなのですが、構造がシンプルで、簡単に覚えられますね。*5 メモ帳などで書いても構造がわかるくらい見やすいそうです。 *6

Markdown Basics
はてなで使えるMarkdown記法まとめ

コードが見やすいブログを書くためにも、シンプルな記法は必要ですね。結構負荷が変わりますw

これからPowershell布教ということで、しばらくPowershell ! Powershell !と会社やプライベートで叫んでいますので、ハイライトシンタックスはちょくちょく見るかと思います。*7 その時は、あんな記法あったなーと頭の片隅で思い出してもらえれば幸いです。

*1:あくまで個人の見解です

*2:他にもあったらごめんなさい

*3:wikiなどでよく使いますね

*4:ほか多数

*5:Githubでのスタンダードなんですね

*6:今度メモ帳で使ってみることにしますw

*7:そろそろレガシーなノウハウだけで生きていけなくなるでしょう。(個人の見解です)

Copyright © 2014 - taitioooo. All Rights Reserved.