Windows への AWS Tools for PowerShell のインストール - AWS Tools for PowerShell

Windows への AWS Tools for PowerShell のインストール

Windows ベースのコンピュータでは、AWS Tools for PowerShell パッケージオプションのいずれかを実行できます。

  • AWS.Tools - モジュール化されたバージョンの AWS Tools for PowerShell。AWS の各サービスが、個別の小さなモジュールと、共通のサポートモジュール AWS.Tools.Common および AWS.Tools.Installer によってサポートされます。

  • AWSPowerShell.NetCore - 大きな単独モジュールバージョンの AWS Tools for PowerShell。AWS のすべてのサービスが、この大きな単独モジュールでサポートされます。

  • AWSPowerShell - Windows 固有の大きな単独モジュールのレガシーバージョンの AWS Tools for PowerShell。AWS のすべてのサービスが、この大きな単独モジュールでサポートされます。

選択するパッケージは、実行している Windows のリリースとエディションによって異なります。

注記

Tools for Windows PowerShell (AWSPowerShell モジュール) は、Windows ベースのすべての Amazon マシンイメージ (AMI) にデフォルトでインストールされています。

AWS Tools for PowerShell のセットアップには、このトピックで詳しく説明する次の大まかなタスクが含まれます。

  1. 環境に適した AWS Tools for PowerShell パッケージオプションをインストールします。

  2. Get-ExecutionPolicy コマンドレットを実行して、スクリプトの実行が有効になっていることを確認します。

  3. PowerShell セッションに AWS Tools for PowerShell モジュールをインポートします。

Prerequisites

AWS Tools for PowerShell のセットアップの前提条件 に記載されている要件を満たしていることを確認します。

新しいバージョンの PowerShell (PowerShell Core を含む) は、Microsoft のウェブサイトの「PowerShell のさまざまなバージョンのインストール」からダウンロードできます。

Windows に AWS.Tools をインストールする

モジュール化されたバージョンの AWS Tools for PowerShell は、Windows PowerShell 5.1 または PowerShell Core 6.0 以降を搭載する Windows が実行されている コンピュータにインストールできます。PowerShell Core をインストールする方法については、Microsoft のウェブサイトへの「PowerShell のさまざまなバージョンのインストール」を参照してください。

次の 3 つの方法のいずれかで AWS.Tools をインストールできます。

  • AWS.Tools モジュール内のコマンドレットを使用する。この AWS.Tools.Installer モジュールは、他の AWS.Tools モジュールのインストールと更新を簡素化します。AWS.Tools.Installer では、PowerShellGet の更新済みバージョンを必要とし、これを自動的にダウンロードしてインストールします。AWS.Tools.Installer モジュールは自動的にモジュールのバージョンを同期させます。1 つのモジュールの新しいバージョンをインストールまたは更新すると、AWS.Tools.Installer 内のコマンドレットによって、他のすべての AWS.Tools モジュールが同じバージョンに自動的に更新されます。

  • AWS.Tools.zip からモジュールをダウンロードし、モジュールフォルダの 1 つにそのモジュールを展開する。$Env:PSModulePath 変数の値を出力することで、モジュールフォルダを検出できます。

  • 次の手順で説明するように、Install-Module コマンドレットを使用して PowerShell ギャラリーから各サービスモジュールをインストールする。

Install-Module コマンドレットを使用して Windows に AWS.Tools をインストールするには

  1. PowerShell セッションを起動します。

    注記

    PowerShell は、実際のタスクで必要とされる場合を除き、昇格されたアクセス許可を持つ管理者として実行しないことをお勧めします。これは、潜在的なセキュリティリスクを避けるためであり、最小限の特権の原則にも反します。

  2. モジュール化された AWS.Tools パッケージをインストールするには、次のコマンドを実行します。

    PS > Install-Module -Name AWS.Tools.Installer 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"): y

    リポジトリについて「信頼されていない」という通知を受けた場合は、これをインストールするかどうかを確認するメッセージが表示されます。PowerShell がモジュールをインストールできるようにするには、y を入力します。プロンプトを回避し、リポジトリを信頼せずにモジュールをインストールするには、-Force パラメータを指定してコマンドを実行します。

    PS > Install-Module -Name AWS.Tools.Installer -Force
  3. AWS コマンドレットを利用することで、使用する Install-AWSToolsModule のサービスごとのモジュールをインストールできるようになりました。例えば、次のコマンドは IAM モジュールをインストールします。このコマンドは、指定したモジュールの動作に必要な依存モジュールもインストールします。たとえば、最初の AWS.Tools サービスモジュールをインストールすると、AWS.Tools.Common もインストールされます。これは、すべての AWS サービスモジュールに必要な共有モジュールです。また、古いバージョンのモジュールを削除し、他のモジュールを同じ新しいバージョンに更新します。

    PS > Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp Confirm Are you sure you want to perform this action? Performing the operation "Install-AWSToolsModule" on target "AWS Tools version 4.0.0.0". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Installing module AWS.Tools.Common version 4.0.0.0 Installing module AWS.Tools.EC2 version 4.0.0.0 Installing module AWS.Tools.Glacier version 4.0.0.0 Installing module AWS.Tools.S3 version 4.0.0.0 Uninstalling AWS.Tools version 3.3.618.0 Uninstalling module AWS.Tools.Glacier Uninstalling module AWS.Tools.S3 Uninstalling module AWS.Tools.SimpleNotificationService Uninstalling module AWS.Tools.SQS Uninstalling module AWS.Tools.Common
    注記

    Install-AWSToolsModule コマンドレットは、すべての要求されたモジュールを PSRepository という名前の PSGallery (https://www.powershellgallery.com/) からダウンロードし、これを信頼できるソースと見なします。この Get-PSRepository -Name PSGallery の詳細を参照するには、PSRepository コマンドを使用します。

    デフォルトでは、このコマンドはモジュールを $home\Documents\PowerShell\Modules フォルダにインストールします。コンピュータのすべてのユーザー用に AWS Tools for PowerShell をインストールするには、管理者として起動した PowerShell セッションで次のコマンドを実行する必要があります。これにより、すべてのユーザーがアクセスできる $env:ProgramFiles\PowerShell\Modules フォルダにモジュールがインストールされます。

    PS > Install-AWSToolsModule AWS.Tools.IdentityManagement -Scope AllUsers

Windows で AWSPowerShell.NetCore をインストールする

AWSPowerShell.NetCore は、PowerShell バージョン 3~5.1 または PowerShell Core 6.0 以降を搭載する Windows が実行されているコンピュータにインストールできます。PowerShell Core をインストールする方法については、Microsoft の PowerShell ウェブサイトの「PowerShell のさまざまなバージョンのインストール」を参照してください。

AWSPowerShell.NetCore は、次の 2 つの方法のいずれかのでインストールできます。

  • AWSPowerShell.NetCore.zip からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開する。$Env:PSModulePath 変数の値を出力することで、モジュールディレクトリを検出できます。

  • 次の手順で説明するように、Install-Module コマンドレットを使用して PowerShell ギャラリーからインストールします。

Install-Module コマンドレットを使用して PowerShell ギャラリーから AWSPowerShell.NetCore をインストールするには

PowerShell ギャラリーから AWSPowerShell.NetCore をインストールするには、コンピュータで PowerShell 5.0 以降が実行されているか、PowerShellGet が PowerShell 3 以降で実行されている必要があります。次のコマンドを実行します。

PS > Install-Module -name AWSPowerShell.NetCore

管理者として PowerShell を実行している場合、先述のコマンドはコンピュータ上のすべてのユーザーに対してAWS Tools for PowerShell をインストールします。管理者権限のない標準ユーザーとして PowerShell を実行している場合、同じコマンドは現在のユーザーのみに AWS Tools for PowerShell をインストールします。

現在のユーザーが管理者権限を持っている場合に、そのユーザーに対してのみインストールするには、次のように -Scope CurrentUser パラメータセットを使用してコマンドを実行します。

PS > Install-Module -name AWSPowerShell.NetCore -Scope CurrentUser

通常、PowerShell 3.0 以降のリリースでは、初めてモジュールでコマンドレットを実行したときにモジュールが PowerShell セッションにロードされますが、AWSPowerShell.NetCore モジュールは大きすぎるため、この機能をサポートしていません。代わりに、次のコマンドを実行して、AWSPowerShell.NetCore Core モジュールを PowerShell セッションに明示的にロードする必要があります。

PS > Import-Module AWSPowerShell.NetCore

AWSPowerShell.NetCore モジュールを PowerShell セッションに自動的にロードするには、そのコマンドを PowerShell プロファイルに追加します。PowerShell プロファイルの編集の詳細については、Microsoft PowerShell ドキュメントの「About Profiles」を参照してください。

Windows PowerShell に AWSPowerShell をインストールする

AWS Tools for Windows PowerShell は、次の 3 つの方法のいずれかでインストールできます。

  • AWSPowerShell.zip からモジュールをダウンロードし、モジュールディレクトリの 1 つにそのモジュールを展開します。$Env:PSModulePath 変数の値を出力することで、モジュールディレクトリを検出できます。

  • Tools for Windows PowerShell インストーラを実行する。AWSPowerShell をインストールする方法は非推奨になりました。代わりに Install-Module を使用することをお勧めします。

  • 次の手順で説明するように、Install-Module コマンドレットを使用して PowerShell ギャラリーからインストールする。

Install-Module コマンドレットを使用して PowerShell ギャラリーから AWSPowerShell をインストールするには

PowerShell 5.0 以降を実行している場合は、PowerShell ギャラリーから AWSPowerShell をインストールできます。PowerShellGetPowerShell 3 以降で。次のコマンドを実行して、Microsoft の PowerShell ギャラリーから AWSPowerShell をインストールおよび更新できます。

PS > Install-Module -Name AWSPowerShell

AWSPowerShell モジュールを PowerShell セッションに自動的にロードするには、前の import-module コマンドレットを PowerShell プロファイルに追加します。PowerShell プロファイルの編集の詳細については、Microsoft PowerShell ドキュメントの「About Profiles」を参照してください。

注記

Tools for Windows PowerShell は、Windows ベースのすべての Amazon マシンイメージ (AMI) にデフォルトでインストールされています。

スクリプト実行の有効化

AWS Tools for PowerShell モジュールをロードするには、PowerShell スクリプトの実行を有効にする必要があります。スクリプトの実行を有効にするには、Set-ExecutionPolicy のポリシーを設定するために RemoteSigned コマンドレットを実行します。詳細については、Microsoft Technet ウェブサイトの「About Execution Policies」を参照してください。

注記

この必要条件は、Windows を実行しているコンピュータのみに適用されます。ExecutionPolicy セキュリティ制限は、他のオペレーティングシステムには存在しません。

スクリプト実行を有効化するには

  1. 実行ポリシーを設定するには管理者権限が必要です。管理者権限を持つユーザーとしてログインしていない場合は、管理者として PowerShell セッションを開きます。[スタート] ボタンをクリックし、[すべてのプログラム] を選択します。[アクセサリ] を選択し、[Windows PowerShell] を選択します。[Windows PowerShell] を右クリックして、コンテキストメニューから [管理者として実行] を選択します。

  2. コマンドプロンプトで次のコマンドを入力します。

    PS > Set-ExecutionPolicy RemoteSigned
注記

64 ビットシステムでは、32 ビットバージョンの PowerShell である Windows PowerShell (x86) でもこれを行う必要があります。

実行ポリシーが正しく設定されていない場合、プロファイルなどのスクリプトを実行しようとすると、次のエラーが表示されます。

File C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. At line:1 char:2 + . <<<< 'C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException

Tools for Windows PowerShell インストーラは PSModulePath を更新し、AWSPowerShell モジュールが格納されているディレクトリの場所を反映します。

PSModulePath には AWS モジュールのディレクトリの場所が含まれているため、Get-Module -ListAvailable コマンドレットによりモジュールが表示されます。

PS > Get-Module -ListAvailable ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest AppLocker {} Manifest BitsTransfer {} Manifest PSDiagnostics {} Manifest TroubleshootingPack {} Manifest AWSPowerShell {Update-EBApplicationVersion, Set-DPStatus, Remove-IAMGroupPol...

Versioning

新しい AWS サービスと機能をサポートするために、AWS Tools for PowerShell は AWS の新しいバージョンを定期的にリリースします。インストール済みのツールのバージョンを確認するには、Get-AWSPowerShellVersion コマンドレットを実行します。

PS > Get-AWSPowerShellVersion Tools for PowerShell Version 4.1.11.0 Copyright 2012-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. Amazon Web Services SDK for .NET Core Runtime Version 3.7.0.12 Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Release notes: https://github.com/aws/aws-tools-for-powershell/blob/master/CHANGELOG.md This software includes third party software subject to the following copyrights: - Logging from log4net, Apache License [http://logging.apache.org/log4net/license.html]

また、Get-AWSPowerShellVersion コマンドに -ListServiceVersionInfo パラメータを追加して、現在のツールのバージョンでサポートされる AWS のサービスのリストを表示することもできます。モジュール化 AWS.Tools.* オプションを使用すると、現在インポートしているモジュールのみが表示されます。

PS > Get-AWSPowerShellVersion -ListServiceVersionInfo ... Service Noun Prefix Module Name SDK Assembly Version ------- ----------- ----------- ----------- Alexa For Business ALXB AWS.Tools.AlexaForBusiness 3.7.0.11 Amplify Backend AMPB AWS.Tools.AmplifyBackend 3.7.0.11 Amazon API Gateway AG AWS.Tools.APIGateway 3.7.0.11 Amazon API Gateway Management API AGM AWS.Tools.ApiGatewayManagementApi 3.7.0.11 Amazon API Gateway V2 AG2 AWS.Tools.ApiGatewayV2 3.7.0.11 Amazon Appflow AF AWS.Tools.Appflow 3.7.1.4 Amazon Route 53 R53 AWS.Tools.Route53 3.7.0.12 Amazon Route 53 Domains R53D AWS.Tools.Route53Domains 3.7.0.11 Amazon Route 53 Resolver R53R AWS.Tools.Route53Resolver 3.7.1.5 Amazon Simple Storage Service (S3) S3 AWS.Tools.S3 3.7.0.13 ...

実行中の PowerShell のバージョンを確認するには、「$PSVersionTable」と入力して、$PSVersionTable 自動変数の内容を表示します。

PS > $PSVersionTable Name Value ---- ----- PSVersion 6.2.2 PSEdition Core GitCommitId 6.2.2 OS Darwin 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 Platform Unix PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0

Windows での AWS Tools for PowerShell の更新

AWS Tools for PowerShell の更新バージョンがリリースされると同時に、ローカルで実行しているバージョンを定期的に更新する必要があります。

モジュール化された AWS.Tools の更新

AWS.Tools モジュールを最新バージョンにアップグレードするには、次のコマンドを実行します。

PS > Update-AWSToolsModule -CleanUp

このコマンドは、現在インストールされているすべての AWS.Tools モジュールを更新し、正常に更新されると、他のインストール済みバージョンを削除します。

注記

Update-AWSToolsModule コマンドレットは、すべてのモジュールを PSRepository という名前の PSGallery (https://www.powershellgallery.com/) からダウンロードし、これを信頼できるソースと見なします。この Get-PSRepository -Name PSGallery の詳細を参照するには、PSRepository コマンドを使用します。

Tools for PowerShell Core の更新

Get-AWSPowerShellVersion コマンドレットを実行して実行中のバージョンを確認し、PowerShell Gallery ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2~3 週間ごとにチェックすることをお勧めします。新しいコマンドおよび AWS サービスのサポートは、そのサポートのあるバージョンに更新した後にのみ利用できます。

AWSPowerShell.NetCore の新しいリリースをインストールする前に、既存のモジュールをアンインストールします。既存のパッケージをアンインストールする前に、開いているすべての PowerShell セッションを閉じます。次のコマンドを実行して、パッケージをアンインストールします。

PS > Uninstall-Module -Name AWSPowerShell.NetCore -AllVersions

パッケージがアンインストールされたら、次のコマンドを実行して、更新されたモジュールをインストールします。

PS > Install-Module -Name AWSPowerShell.NetCore

インストール後、コマンド Import-Module AWSPowerShell.NetCore を実行して、更新されたコマンドレットを PowerShell セッションにロードします。

Tools for Windows PowerShell の更新

Get-AWSPowerShellVersion コマンドレットを実行して実行中のバージョンを確認し、PowerShell Gallery ウェブサイトにある Tools for Windows PowerShell のバージョンと比較します。2~3 週間ごとにチェックすることをお勧めします。新しいコマンドおよび AWS サービスのサポートは、そのサポートのあるバージョンに更新した後にのみ利用できます。

  • Install-Module コマンドレットを使用してインストールした場合は、次のコマンドを実行します。

    PS > Uninstall-Module -Name AWSPowerShell -AllVersions PS > Install-Module -Name AWSPowerShell
  • .msi パッケージインストーラーを使用するか、ダウンロードした ZIP ファイルを使用してインストールした場合:

    1. Tools for PowerShell ウェブサイトから最新バージョンをダウンロードします。ダウンロードしたファイル名に含まれるパッケージのバージョン番号と、Get-AWSPowerShellVersion コマンドレットの実行時に取得したバージョン番号を比較します。

    2. ダウンロードバージョンがインストールしたバージョンよりも高い場合は、すべての Tools for Windows PowerShell コンソールを閉じます。

    3. 新しいバージョンの Tools for Windows PowerShell をインストールします。

インストール後、Import-Module AWSPowerShell を実行して、更新されたコマンドレットを PowerShell セッションにロードします。または、スタートメニューからカスタム AWS Tools for PowerShell コンソールを実行します。