Help us understand the problem. What is going on with this article?

WindowsとUbuntuでAWS Tools for PowerShellを構成する手順書

WindowsとUbuntu on WSL上でAWS Tools for PowerShellを構成したので、最小限の手順書にまとめてみた。基本的に公式情報を見てという感じだけど、順番にどこを見てなにをすればよいかを示し、OSごとにちょっと変わる部分(PowerShellのデフォルトの実行ポリシーとか)に言及したつもり。

公式のドキュメントではなく、現時点の情報を元にした内容であり、as isの形でご利用いただける方向けに投稿しておきます。右上の歯車マークから「Markdownで本文を見る」をすると元のテキストが採れるのでコピペに便利だと思います。

概要

PowerShellはMicrosoft社の開発したシェル環境およびスクリプト言語です。PowerShell 6からはオープンソース化され、LinuxやMac OSでも動作するようになりました。またMicrosoft Azure、Amazon Web Service、Google Cloud Platform、VMwareなどが公式の管理ツールをPowerShell用のモジュールとして提供しています。

ここでは、AWSをPowerShellから操作できるように、以下の流れでAWS Tools for PowerShellを構成します。

  1. OSごとの手順で、PowerShellをインストールします。
  2. PowerShell上で、AWS Tools for PowerShell( AWSPowerShell.NetCore モジュール)をインストールします。

PowerShellのインストール

以下のOSごとの手順で、PowerShellをインストールします。

WindowsへのPowerShellのインストール

WindowsへのPowerShellのインストール方法は「Windows への PowerShell Core のインストール - PowerShell | Microsoft Docs」を参照してください。
通常は、以下を行います。

  1. リリースページLatest releaseから PowerShell-x.x.x-win-x64.msi ファイルを取得
  2. 取得したファイルを実行し、ウィザードに従ってインストールを完了

LinuxへのPowerShellのインストール

LinuxへのPowerShellのインストール方法は、「Linux への PowerShell Core のインストール - PowerShell | Microsoft Docs」を参照してください。
例えば、Ubuntu 18.04では以下を行います。

  1. 上記ページの「Ubuntu 18.04」の項を参照する
  2. 記述に従い、Microsoftの universe リポジトリを使用可能にする
  3. 記述に従い、 sudo apt-get install -y powershell でPowerShellをインストールする

MacOSへのPowerShellのインストール

MacOSへのPowerShell のインストール方法は、「macOS への PowerShell Core のインストール - PowerShell | Microsoft Docs」を参照してください。

AWS Tools for PowerShellの構成

本手順は、PowerShellでAWSを管理する際に必要な準備です。

AWS Tools for PowerShellのインストール

PowerShellのコンソールを起動します。

  • Windowsでは、スタートメニューから PowerShell > PowerShell 6 (x64) を選択します。
  • MacOS、Linuxでは、シェル環境から pwsh を実行します。

まず外部から取得するスクリプトやモジュールを、署名付きのものであれば実行できるようになっているか、実行ポリシーを確認します。PowerShell上で Get-ExecutionPolicy を行います(なお PS> はPowerShellのプロンプトを表わしています)。

PS> Get-ExecutionPolicy
RemoteSigned

実行ポリシーが RestrictedAllSigned の場合はインターネットからダウンロードされたスクリプトおよび構成ファイルが実行できないので、以下を実行して RemoteSigned に変更します。すでに RemoteSigned またはそれより寛容なポリシー(例えばUbuntuでは通常 Unrestricted )の場合は、変更不要です。

PS> Set-ExecutionPolicy RemoteSigned

またAWS Tools for PowerShellの配布リポジトリであるPowerShell Galleryが信頼済みか確認します。

PS> Get-PSRepository                                                                                   
Name                      InstallationPolicy   SourceLocation
----                      ------------------   --------------
PSGallery                 Untrusted            https://www.powershellgallery.com/api/v2

Untrusted の時は、以下を実行して信頼済みにします。

PS> Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

これでインストールできる環境が整ったので、Install-Module コマンドにより、AWS Tools for PowerShell Coreをインストールします。

PS> Install-Module -Name AWSPowerShell.NetCore -AllowClobber

AWS Tools for PowerShell Coreは、自動では読み込まれません。Import-Module コマンドにより読み込みます。その後 Get-Module によりAWS Tools for PowerShell Coreを読み込めていることを確認しておきます。

PS> Import-Module AWSPowerShell.NetCore
PS> Get-Module AWS*

ModuleType Version Name                  ExportedCommands
---------- ------- ----                  ----------------
Binary     4.0.1.1 AWSPowerShell.NetCore {Add-AASScalableTarget, Add-A…

なお、PowerShell環境ではコマンドレット名やファイル名はもちろん、引数でも補完機能が利用できること多くあります。 Import-Module ではモジュール名をすべて入力する代わりに AWS まで入力してTABキーを押下すると、このモジュール名が補完されて出てくるはずです。

参照

以下を元情報としています。本手順が古くなった場合や正しく動かないと思われたときには、こちらをご参照ください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした