連載
» 2018年08月06日 05時00分 公開

Microsoft Azure最新機能フォローアップ(57):Azure Cloud ShellがフルLinuxベースに

Azure Cloud Shellの「PowerShell(プレビュー)」は、これまでWindowsベースのAzure PowerShell利用環境をプレビュー提供してきました。これが2018年7月、LinuxのPowerShell Core 6ベースに切り替わりました。

[山市良,テクニカルライター]
「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

Azure Cloud ShellのPowerShell(プレビュー)がLinuxコンテナーに変更

 「Azure Cloud Shell」は、Azureポータルから素早く開始できる、Webブラウザベースのシェル/端末環境であり、「Bash」と「PowerShell(プレビュー)」の2種類が用意されています。前者は主にAzure CLI 2.0の利用環境を、後者はAzure PowerShellの利用環境を提供しますが、BashまたはPowerShellのシェルを提供するOSが備えるコマンド(sshやopensslなど)も使用できます。

 Azure Cloud Shellは「Docker」のコンテナ技術をベースにした環境で、開始するたびにユーザー専用のコンテナが準備されます。これまで、BashはUbuntu 16.04 LTSベースの「Linuxコンテナー」、PowerShellはWindows Server 2016のServer Core(microsoft/nanoserver:sac2016)ベースの「Windowsコンテナー」で提供されていました。

 Azure CLI 2.0はマルチプラットフォーム対応であるため、Linuxコンテナーとして提供できましたが、Azure PowerShellの利用環境を提供するにはWindowsコンテナーが必要でした(画面1)。

画面1 画面1 旧バージョンの「PowerShell(プレビュー)」(画面は2018年5月時点)は、Windows PowerShell 5.1上で最新のAzure PowerShellモジュールを利用できた

 2018年7月、PowerShellの環境はLinuxコンテナーに変更されました(画面2)。その理由は、2018年1月にマルチプラットフォーム対応のPowerShell Core 6が正式版として一般提供されたこと、そしてLinuxコンテナーの方が素早くデプロイでき、すぐに利用可能になるという利点があるからです。今回の変更は、本連載第54回でお伝えしたものです。

画面2 画面2 2018年7月からの新バージョンの「PowerShell(プレビュー)」は、PowerShell Core 6.1プレビューと.NET Core版Azure PowerShellプレビューのLinuxコンテナー環境

 ただし、以前のPowerShellはプレビュー提供ではありましたが、Windowsコンテナーであったため、ネイティブな最新のWindows PowerShell 5.1上で最新のAzure PowerShellモジュールを利用できました。

 しかし、新しいPowerShellは2018年8月初めの時点で、Ubuntu 16.04 LTSベースのLinuxコンテナーに、PowerShell Core 6.1.0-preview.4と.NET Core版のAzure PowerShellモジュールがインストール済みの環境になっており、両方ともプレビュー版(PowerShell Core 6の正式版は6.0の方)であることに注意が必要です。

 特に、.NET Core版のAzure PowerShellモジュールでは、最新のAzure PowerShellモジュールが提供する全てのコマンドレットが利用できるわけではなく、まだ実装されていないものが幾つかあります。また、Windowsのコマンドが利用できなくなることや、PowerShellの一部のエイリアスが変更になることも、Windowsユーザーにとっては戸惑うことになるでしょう。詳しくは、以下のドキュメントを参照してください。

2つのAzure Cloud Shell、実はほとんど同じもの?

 2018年7月からBashとPowerShell(プレビュー)の両方がLinuxコンテナーに統一されたわけですが、実は、両者は同じUbuntu 16.04 LTSのベースOSイメージで作成されており、開始するシェルが異なるだけです。

 Bashでは「/bin/bash」が開始し、PowerShellでは「/usr/bin/pwsh(/opt/microsoft/powershell/6-preview/pwsh)」が開始するようになっています。また、Bashで「pwsh」を利用することもできれば、PowerShellでAzure CLI 2.0(azコマンド)を利用することも可能です(画面3)。

画面3 画面3 Bashで「pwsh」を開始すれば、Azure PowerShellを利用することができる。PowerShell(プレビュー)で「az」コマンドの実行も可能

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。