Azure Powershellをインストールする方法
本日もコロナウイルスの影響でリモートワーク。
(本当は出社しても良いんですが。)
週末の都内は外出規制もあり、昨日は志村けんさんの訃報があったりで、真剣にコロナウイルスの恐ろしさが身に染みてきました。
.....余談はさておき、本日はAzure Powershellのインストール方法について。
先日「サービスプリンシパルでAzure Powershellにログインする方法」っていう記事を書いたのですが、
そもそもAzure Powershell使用方法書いて無くない?と思ったのがきっかけです。
markdownを使用してブログ書くのにも慣れてきたので、今日はさくっと記事を書き上げたい。
目次
Azure Powershellとは
Azure Powerhshellとは、Powerhshellの拡張機能で、Azureリソースを直接管理するためのコマンドレットのセット。
Azure Powershellが使いこなせれば、普段Azure Portalで行ってる操作はなんでもできます。
Azureの操作をスクリプトで動かす、とかいう時もAzure Powershell。
というか、Azure Portalでは出来ない操作も、Azure Powershellを使えばだいたい出来てしまう優れもの。
Azure使いになるのなら、Azure Powershellは知ってないと行けないなあ、と思い......私も勉強中の身です。
Azure Powershellのインストール方法
ここからは実際にAzure Powershellを使えるようにする方法をご紹介。
★インストールの前提条件
① Windows上のPowershellのバージョンが5.1以上であること。
Powershell上でバージョンを確認するコマンドは以下。
PS> $PSVersionTable.PSVersion
下記はPowershellのバージョンが5.1のとき。
Major Minor Build Revision ----- ----- ----- -------- 5 1 18362 628
ちなみに、最初Powershell5.1使ってたけど、途中からバージョンアップしてPowershell coreを使うようになった、なんてことになると、
Azure Powershellも再インストールやらバージョンアップすることになります。
②.NET3.5がインストールされていること
.....これか厄介で、よく分かっていなかったりするんですが.....
あと、Azure Powershellには、
- AzureRMモジュール
- Azモジュール ← 今回インストールしたモジュール
の2種類があって、今回はAzモジュールのインストール手順です。
1つの端末(またはサーバ)に2つのモジュールを同時にインストールすることは不可で、
すでにAzureRMモジュールがインストールされている場合は、アンインストールしてからAzモジュールをインストールする必要があります。
AzureRMモジュールは古いバージョンだと思ってもらえれば良いはず。
少なくとも私はAzモジュールで困ったことがないです。
★インストール方法① PowershellGetコマンドを使用してインストールする
Azure Powershellをインストールする方法は2通りあるので、1つずつ紹介。
1つ目は簡単。(2つ目も別に難しくないけど)
Azure Powershellをインストールしたい端末(もしくはサーバ)でPowershellを開いて、下記のコマンドを入力するだけです。
PS> Install-Module -Name Az -AllowClobber -Scope CurrentUser
- -Scope XXXXでインストール範囲を変更していて、"CurrentUser"だとログイン中のユーザにのみインストールされる。
- "CurrentUser"を"AllUsers"に変更すれば、全てのユーザに対してインストールされる。
- ただし、Microsoftの推奨事項は "- Scope CurrentUser" らしい。
インストールコマンドを実行すると、下記の警告画面が表示されたりしますが、「[Y] Yes」か「[A] Yes to All」入力して「Enter」。
Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the `Set-PSRepository` cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
そうするとインストールが開始されるので、
インストールが終わったらPowershellを再起動して、Azure Powershellへのログインコマンドを実行。
PS> Connect-Azaccount
すると、Azureに登録しているユーザとパスワードの入力画面、または認証コードが表示されて、
(Powershellのバージョンによって何が表示されるか変わる)
ポチポチ実行していけば、ほら簡単、ログイン完了です。
Account SubscriptionName TenantId Environment ------- ---------------- -------- ----------- XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXX
↑ ログインに成功したら、上記のように、自分のアカウント名と使えるサブスクリプション、Azure ADのテナントIDなどが表示されます。
★インストール方法② MSIパッケージを使用してインストールする
2つ目はMSIパッケージをダウンロードしてAzure Powershellをインストールする方法。
基本的には①のコマンドでインストールすれば良いんじゃないかと私も思ってるんですが、
インターネット環境に接続できないと①の方法は実行できないので、オフラインインストールを行う際には必要だったりします。
ただし、後程記載しますが、Azure Powershellインストールするのは場合によってはかなり大変だったりします。
MSIパッケージを使ったAzure Powershellのインストールも基本的には簡単。
まず、下記のGitHubのページから、Azure PowershellのPowershellをダウンロード。
MSIパッケージのダウンロードはここから
ダウンロードが完了したら、あとはポチポチ実行していくだけです。
インストールが完了したら、Powershellを開いて、
PowershellGetコマンドでインストールした時と同様にAzure Powershellにログインすれば良いだけです。
【おまけ】オフラインでAzure Powershellを使えるようにする方法
ここまでインストール方法を2つ上げましたが、インストールするのは簡単。
オンラインであれば、の話ですが。
Azure環境って、基本的にはインターネットにそのまま接続される環境なので、ほとんどの場合問題無いんですが、
インフラエンジニアとして仕事をしていると、自社のネットワーク環境でのみAzureに接続できるようにしてほしい、なんてお客様は割とたくさんいらっしゃいます。
オフライン環境(インターネットに接続出来ない環境)のサーバに、Azure Powershellをインストールすることになると、
上述したインストール方法①のPowershellGetコマンドは、インターネット上のPSgarallyというリポジトリに情報を見に行ってインストールを実行しているため、使用不可。
となると、②のMSIパッケージを使ってインストールすることになるのですが、まあこれが面倒だったりします。
何が面倒かというと。
まず、Azure Powershellのインストール前提条件より
②.NET3.5がインストールされていること
サーバに.NETをインストールするためには、「サーバーマネージャー」の「役割と機能」からインストールする必要があります。
ただこれも、オンライン環境だと「役割と機能」の画面からポチっとすれば、
インターネット上から情報拾ってきて勝手にインストールしてくれるんですが、
オフライン環境だと、OSのインストールメディアが必要になります。
OSのインストールメディアだと.....?!
オンプレミス環境なら存在していることもあるかもしれませんが、
(私もデータセンターで構築してた頃にその辺に転がっていたメディアを拝借してインストールしたことがあります。)
クラウド環境なんて、インターネットに繋がってさえいれば、ポチポチしていけばメディアなんて使わずとも勝手にVMは作れてしまうので、
「インストールメディアなんて存在しない」なんてことも多いんじゃないかと...(´・ω・`)
また、奇跡的にインストールメディアが存在して、.NETがインストール出来たとしても、
Azure Powershellに接続する際にインターネット見に行ってしまうので、
のどちらかの手段を実行する必要があります。
【Azure ADでサービスプリンシパルを作成して、Azure Powershellにログインする方法についてはこちら】 mikaaaaaaan.hatenablog.com
おわりに
と、まあ、長々と書きましたが、言いたかったのは、
- Azure PowershellはAzure使う上で必須なので、とりあえずインストールしよう
- でも、オフラインでインストールするのはむずかしいよ
ということです。
今回の記事だとまだインストールしか出来てないので、
続きはまたいつか記事にしようと思います。
では、また次回.......!!
「人生でやりたい100のことリスト」を公開
コロナウイルスの影響で、外にも出れずこれと言ってネタが無いので、
前に作成した「人生でやりたい100のことリスト」をブラッシュアップしつつ、公開。
目次
人生でやりたい100のことリストとは
人生でやりたい100のことリストとは、ロバート・ハリス著の「人生の100のリスト」で書いていたリストのこと。
本の中で彼はこう言っています。
「”人生でやりたい100のリスト”は、自分自身の生き方を見つめ直しやりたいこととやるべきことを明確にしてくれる人生の羅針盤だ」
と。
なんかこういう風に書くと、すごく堅苦しくて難しそうに聞こえますが、なんてことはないです。
自分のやりたいことをそのまま書いて行けば良いだけ。
私が人生でやりたい100のリストを作成する上で意識したこと
私が「人生でやりたいことリスト」の存在を知ったのは、今から約5年前。
知り合いが書いているのを見て、「なんて夢のあるリストなんだ!」って思った記憶があります。
存在をしったあと、すぐさま書いてみようと思ったのですが、やりたいことを100こ上げるのは意外と難しい。
そんな時に意識したことは次の3つ。
- 自分のやりたいことに正直になること。
- 実際に叶えられるか叶えられないかを意識せずにとにかくやりたいことを書くこと。
- 「○○に行きたい」「○○に行ったらXXしたい」など、実際に「次に何したいか」を連想しながら書くこと。
簡単そうに見えますが、自己分析を行う上でもすごく大事なことだったりします。
実際に作成した人生でやりたい100のリスト
ここからは実際に私が作った100のリストをご紹介。
5年前に作ったものをブラッシュアップしているので、過去に達成したものもありますがご了承ください。
- 世界一周する
- ウユニ塩湖に行く。
- リアル版桃鉄で日本放浪。
- ディズニーランド世界制覇。
- 富良野でラベンダーを見る。
→2016.7.30達成 - 大曲の花火大会に行く。
- 国内の離島全制覇。
- ホテルのスイートルームに宿泊する。
- 貴志川でタマと握手。
- 東京オリンピックを見る(種目は何でも)
- 天の川を見る。
- アンコールワットで朝日を見る。
→2016.9/8 朝日見てないけど、アンコールワットには行った - トゥクトゥクに乗る。
→2016.8/31 タイとカンボジアで - イルカと泳ぐ。
- スカイダイビングする。
- バンジージャンプもしたい。
- 小樽でお寿司を食べる。
- 人力車に乗る。
- 10000人の人と出逢う。
- Facebookで500いいね。
- Twitterで1000リツイート以上。
- 叙々苑に行く。
- ご当地ラーメンを30種類食べる。
- 動員1000人以上のイベントの企画をする。
- 世界各国マクド巡り
→現在2ヶ国(オーストラリア、タイ) - 恵比寿ガーデンプレイスで13時に待ち合わせ。
- 近江神宮参拝。
- 麻雀出来るようになる。
- 何でもいいから日本一になる。
- 坪尻駅に行く。
- ヒッチハイクする
→2016.8.10達成 - 枕投げ大会優勝
- コムローイ祭りに行く
→2016.11.14達成 - NYでブロードウェイを見る。
- オーロラを見る。
- ラクダに乗って砂漠を歩く。
- 宇宙旅行に行く。
- ラスベガスでカジノ。
- 北極か南極に行く。
- 富士山登頂
- 国内の世界遺産全制覇。
→残:白川郷、熊野古道、平泉、富岡製糸場、白神山地、小笠原諸島 - 世界遺産全制覇。
- TOEICで満点をとる。
- ユーロスターで大陸横断。
- 中型か大型のバイクの免許をとる。
→2019.6.14 中型バイクの免許を取得。 - ベトナムでバイクに乗る。(一緒に走る)
- バイクで日本一周。
- コンサート以外で松潤に遭遇する。
- ラテアートやってみたい。
- 総合旅行業務取扱管理者試験に合格。
- エキストラで良いからドラマに出る。
- 万里の長城でかけっこする。
- ウエディングケーキの入刀がしたい
- こたつ列車に乗る。
- 国内全県制覇 →残:青森、山形、岐阜、福島、愛知、山口、宮崎、佐賀
- かまくらを掘る。
- でっかい雪だるまを創る。
- 紅白を生で観る。
- 1000冊本を読む。
- コナンの最終回を観る。
- ドラえもんの最終回も観る。
- サザエさんの最終回も観る。
- ピースボートに乗る。
- モンサンミッシェルで夕日を観る。
- マイエンフェルト(ハイジの舞台)に行く。
- ドイツでフランクフルトを食べながらビールを呑む。
- 東大生と友達になる。
- 死にたくないけど北朝鮮に行く。
- ピラミッドに行く。
- カッパドキアに行く。
- 有名歌手のお忍び路上ライブに遭遇する。
- 劇団四季のリトルマーメイドを見に行く。
- アラジンも見たい
- 国内のご当地駅弁を50種類。
- ヘリコプターに乗る。
- 飛行機のファーストクラスに乗る。
- 裁判傍聴する
- オロロンラインをバイクで走る。
- ダイビングのライセンスを取る。
- トマティーナ参戦。
- NYのカウントダウン参戦。
- フィリピンのゴミ山に行く。
- ラピュタの道に行く。
飯田線絶景を撮りに行く。
→2020.3.13達成。 mikaaaaaaan.hatenablog.com- マチュピチュに行く。
- ラオス行きたい。
- ブログで稼ぐ。
- 年収800万稼ぐ。
- 会社の経営層になる。
- アプリ作って稼ぐ。
- シェアハウスに住む。
- ワーホリ行ってマクドでバイト。
- 枕投げの広報したい。
- 枕投げがオリンピック種目になることを見届ける
- バーテンやりたい。
- 自分のバイクを持つ。
- 好きな場所で好きな時間に働ける人間になる
- 気球に乗る
- 全ての電車に乗る。
実際に人生でやりたい100のリストを作ってみて思うこと
とりあえず100こ羅列してみましたが、他の方のブログとか見ると200とか1000とか、かなりの数書かれている方も沢山素晴らしいな、と思ってます。
でも、私が実際にリスト作成してみて思ったことは、
- 自分が思っている以上にやりたいことは沢山ある
- 書き出してたまに見返すだけで、自分のやりたいこととか方向性が意識できる
ってことです。
あと、書いている間は夢が膨らんですごくわくわくします......!
皆さんも家からなかなか出にくいこの機会に是非書いてみては?
では、また次回......!!
片道15時間かけて飯田線経由で実家に帰った話
先日、友人の結婚式で兵庫県の実家に帰省することに。
結婚式前日に偶然にも有休が取れたので、
せっかく青春18きっぷが使えるシーズン、ということもあって鈍行列車実家に帰ることを決意。
※先に言っておきますが、鉄道オタクではないので、 旅好きの旅日記だと思って読んで頂けると幸いです。
目次
青春18きっぷとは
青春18きっぷは、日本全国のJR線が乗り放題になるフリーパス。
1枚で1日乗り放題×5回分が楽しめて、お値段は¥12,050。
ただし、特急列車には乗れず、普通列車と快速列車のみ乗車可能。
そのため移動にはとても時間がかかるので、時間がある時にしか使えません。
この「青春18きっぷ」、名前的に年齢制限あるの?とか思われがちですが、年齢制限はありません。
ただし、発売時期が決まっていて、年3回、大体学生の休暇と重なっているようです。
青春18切符の発売期間と詳細をもっと詳しく知りたい方はこちら
今回の帰省ルート
長野→静岡→愛知をまたぐ飯田線。
今回どうしても乗りたかった理由があったので、
新幹線なら片道2時間半で移動できる東京-大阪間を今回は以下のルートで帰省しました。
★今回の帰省ルート
都内某所(自宅の最寄り駅)
↓
↓ JR総武線(所要時間約1時間半)
↓
八王子
↓
↓ JR中央線(所要時間約3時間)
↓
岡谷
↓
↓ JR飯田線(所要時間約7時間)
↓
豊橋
↓
↓ JR東海道本線(所要時間約2時間)
↓
米原
↓
↓ JR琵琶湖線/京都線新快速(所要時間約1時間半)
↓
大阪
↓
↓
↓
実家
こんな感じでこの日の総移動時間はなんと15時間!
東京→神奈川→山梨→長野→静岡→愛知→岐阜→滋賀→京都→大阪→兵庫
と気が着いたら11都道府県またがって移動してました。最高記録な気がする。
でも、これだけ移動に時間を費やせる、ってなかなかの贅沢な気がします。
出発!
朝5時前に出発。
最近は、平日も7時半頃にしか起床しないので眠い眠い。
平日とは言えども早朝なので都内の電車も空いていました。
八王子に到着。
この辺りまでは来たことあるんですが、ここからは未知の世界。わくわく。
だんだん自然が増えてきて、
駅も都会っぽくなく良い幹事の風情になってくる。
※途中下車する時間は無かったので今回はほとんど全て車窓からの写真です。
飯田線に乗換
岡谷駅に到着。
ここから飯田線に乗換。
今回乗車する飯田線は、長野県の岡谷駅ー愛知兼の豊橋駅間を約7時間かけて移動します。
飯田線は車窓からの絶景と秘境駅が有名なんですが、この日は景色もよかった。
車窓から綺麗なエメラルドグリーンの天竜川が綺麗に見えました。 一見ただの濁った川に見えてしまいますが、もともとこの色なんだとか。
あくまでもこの日の1番の目的が、その日中に実家にたどり着くということだったので、途中下車出来なかったのが残念。
そんなこんなで約4時間。
中部天竜駅に到着。
ここで7分ほど停車したので、ホームに出て少しだけ休憩。
この時岡谷駅を出発して約4時間半。
やっぱり座りっぱなしは辛い、、、
ここからは少しずつ都会になってくる、なんて噂もあったのですが、
個人的にはあまり感じませんでした。
豊橋駅到着の少し前に少しだけ「あー、都会に戻ってきたかな」なんて思いましたが、
意外とあっという間に時間は過ぎました。
豊橋駅に到着。
豊橋駅で食べたあんまき
時間はすでに16:30.
実はここまでご飯を調達する時間が無く、一食も食べずに豊橋駅に到着したわけですが、
さすがにお腹すいた、、、
この時も次の電車が発車するまで15分ほどしかなかったのですが、何か食べようと思い駅構内を散策。
すると、駅構内でこんな美味しそうなものが売られていました。
あんまき..........!!!♡
お店の写真の撮影を忘れてしまったのですが、藤田屋、というお店の出張販売だったみたいです。
(出張販売だけど、いつも出店されているという話もあります)
次の電車に乗ってから調べてみたら、あんまきはもともと、知立市の名物なんだとか。美味でした。
そしてついに到着!
豊橋駅から先は、特筆すべき事項もなく......
金曜日だったので、帰宅ラッシュの時間に重なってしまい、途中から電車がすごく混んでいました。
(衣装があったのでキャリーケースで移動してたんですが、そのキャリーがすごく邪魔でした。)
豊橋駅から4時間ほどで大阪に到着。
時間も時間だったので、大人しくまっすぐ家に帰りました。
まとめと感想
やっぱり15時間は長かった。
そして目的が車窓と雰囲気を楽しむことだったので、ほとんど寝ずにただ電車に乗ってたので疲れました。
あと、15時間ぼーっとしてるのもなーと思ったので、今回は今まで青春18きっぷ+第三セクター鉄道での移動した分を地図にまとめてみました。
するとこうなった!!!
青春18きっぷを使い始めて約5年。
なんだかんだ色々旅したなー、と感激。
これまで、写真は残してきたけど、「どこを通ってどこに行った」などは記録してなかったので、
自分が旅してきた経路をまとめるのに、結局10時間くらいかかりました。笑
飯田線に乗ったらもう18きっぷは良いかな~、なんだ思ってたんですが、
自分が旅してきた道をまとめてみて、まだまだ行きたいところも出てきたので、まだまだ旅は続きそうです。
今回の移動距離まとめは定期的に更新していこうと思います。
あと、今まで行った場所も写真はたくさんあるので、まとめていきたいです。
というわけで、また次回。
サービスプリンシパルでAzure Powershellにログインしてみた
- サービスプリンシパルとは
- Azure ADでサービスプリンシパルを作成する方法(Azure Portal)
- 登録したサービスプリンシパルに証明書を登録する
- 作成したサービスプリンシパルでAzure Powershellにログインする
今回は最近よく遊んでいるAzure Powershellへのログイン方法。
いちいちユーザとパスワード入力してログインするの不便だったし、スクリプト実行時はそれじゃダメじゃんということを理解したので、サービスプリンシパルの作り方とAzure Powershellへのログイン方法を備忘録的に書きました。
#記念すべき初技術的なブログ、の巻。
サービスプリンシパルとは
サービスプリンシパルは、プログラムからAzureのリソースを使用する際に使用する、ユーザの代替となるアカウントのこと。
(Azure PowershellやRestAPI、Web Appなどのプログラムで主に使われる。)
Azureに登録されているユーザを使用することもできるけど、セキュリティ的に良くなかったり、会社単位でAzureのユーザが管理されていたりすると、使われているユーザの人が退職されてユーザを削除したら、紐づいているプログラムが正常に動作しなくなった、なんてこともあるみたいです。
最近遭遇したのは、インターネットに接続できない環境でAzure Powershellにログインしようとしたときに、Azure Firewallで接続経路のURLを設定するか、サービスプリンシパルを作成してログインする方法にしないとできなかったりなんなり.....
というわけで今回は、Azure PortalからAzureADでサービスプリンシパルを作成して、Azure Powershellにログインする方法を紹介。
#そのうちPowershellでサービスプリンシパル作成する方法も追記する予定。
Azure ADでサービスプリンシパルを作成する方法(Azure Portal)
- Azure Portalにアクセスして、Azure Active Directoryを開く
- 「アプリの登録」をクリックする
- 「新規登録」をクリック
- 「アプリケーション」の登録画面で、以下を入力して「登録」をクリック
- 名前:登録するサービスプリンシパル名
- サポートされているアカウントの種類(サービスプリンシパルで接続するプログラムによって違う):今回はAzure Powershellへ接続したいので、「この組織ディレクトリの実に含まれるアカウント」を選択
これで、「アプリの登録」画面にサービスプリンシパルが追加される....!
登録したサービスプリンシパルに証明書を登録する
サービスプリンシパルを作っただけだと接続できないので、証明書を登録して使えるようにする
- 作成したサービスプリンシパルをクリック
- 「証明書とシークレット」をクリック
- 「新しいクライアントシークレット」をクリック
※証明書が手元にあるときは「証明書のアップロード」で証明書をアップロードできるらしいけど、無かったので今回はクライアントシークレットを使用。 - 「説明」と「有効期限」を設定して「追加」をクリック
- 説明:クライアントシークレットの使用用途(特に書かなくても良い)
- 有効期限:今回は特に意識せずに「なし」にしたけど、仕事のプロジェクトとかで一時的に使用するクライアントシークレットとかであれば、期限を設定しておいた方が良さげな気がしました。
これで証明書の登録も完了........!
※証明書のパスワードは一度しか表示されず、ログイン情報として必要なので必ずメモしておくこと。
作成したサービスプリンシパルでAzure Powershellにログインする
あとは作成した情報を使ってログインすれば良いだけ
★ログインに必要な情報
- AzureADのテナントID(サービスプリンシパルの「概要」に記載)
- 作成したサービスプリンシパルのアプリケーションID(サービスプリンシパルの「概要」に記載)
- 取得した証明書(クライアントシークレット)のパスワード(上でメモってねって言ったパスワード)
Powershellを開いて、必要な情報を下記のコマンドをあてはめて実行すると......
$tenantId = "XXXXXXXXXXX" # Azure ADのテナントID $username = "XXXXXXXXXXX" # サービスプリンシパルのアプリケーション(クライアント)ID $password = ConvertTo-SecureString "XXXXXXXXXX" -AsPlainText -Force # 証明書のパスワード $cred = New-Object System.Management.Automation.PSCredential -ArgumentList ($username, $password) Connect-AzAccount -ServicePrincipal -Credential $cred -Tenant $tenantId
下記のような画面が表示されてログイン完了
これでAzure Powershellでの操作が可能になります。
続きも色々あるんですが疲れたので続きはまた別の機会に。