はじめに
業務の中で、インターネットに接続できないプライベートサブネットの Windows EC2 インスタンスに AWS CLI をインストールする機会がありました。
今後同じ構成を構築する際スムーズに対応できるよう、その手順を備忘録として残しておきたいと思います。
前提
前提として以下の環境があるとします。
- 対象 OS: Windows Server 2022
-
ネットワーク構成:
- インターネットに接続できないプライベートサブネットで EC2 インスタンスが起動していること
- 同 VPC 内に S3 用の VPC エンドポイント(Gateway 型)が作成され、サブネットのルートテーブルに紐付けられていること
-
Amazon S3:
- インストーラー配置用(または一時取得用)の S3 バケットが用意されていること
-
AWS Systems Manager (SSM):
- SSM(Fleet Manager 等)経由で Windows インスタンスへの RDP 接続(または PowerShell 操作)が可能であること
-
IAM 権限:
- EC2 インスタンスに SSM 接続権限および S3 アクセス権限(S3 読み取り権限など)を持った IAM ロールがアタッチされていること
AWSCLIのダウンロード
まずAWSCLIをPCにダウンロードしておきます。
以下のサイトで「windows」の箇所に記載されているURLからAWSWCLIをダウンロードします。
※2026/7時点では以下のサイトからダウンロードできます。
S3へのアップロードと一時共有URLの発行
ダウンロードしたインストーラーをS3にアップします。
アップロード完了後、S3にアップしたファイルを選択し
「オブジェクトアクション」→「署名付きURLで共有」をクリックします。
URLの有効期限を設定し「署名付きURLを作成」をクリックします。

署名付きURLがクリップボードにコピーされます。

ファイルのアップロードはここまでです。
インスタンスへのインストール
次にインスタンスにRDPし、PowerShellを起動します。
試しに以下のコマンドを打ってみると、まだAWSCLIがインストールされていないことが分かります。
aws --version
PowerShellのコマンドを使って、S3にアップロードしたAWSCLIのインストーラをダウンロードします。
先ほど発行した、署名付きURLを使用します。
Invoke-WebRequest -Uri "署名付きURL" -OutFile "C:\AWSCLIV2.msi"
ダウンロードが完了するとコマンドで指定した場所にAWSCLIV2.msiが配置されています。

AWSCLIV2.msiをダブルクリックすると、インストールが開始されます。

AWSCLIのセットアップウィザードが始まります

「Next」を押していって「Install」をクリックします。
少し待つとインストールが完了します。

PowerShellで再度以下のコマンドを試し、バージョン情報が表示されるようになればAWSCLIのインストールは完了です。
aws --version
※なおPowerShellを立ち上げたままだと、インストール完了後も「aws --version」コマンドが失敗します。
インストール後もバージョンが確認できない場合は、一度PowerShellを立ち上げ直して確認してみてください。
まとめ
今回は、インターネットに接続できないプライベートサブネットの Windows Server 2022 に、S3 経由で AWS CLI を導入する手順を解説しました。
閉域な環境であっても、以下のポイントをおさえておくことで安全かつ簡単にセットアップが可能です。
-
S3 VPC エンドポイント(Gateway 型) を利用して、無料かつ安全に通信経路を確保する
-
PowerShell(Invoke-WebRequest) を使えば、事前準備なしで S3 からインストーラーを取得できる
-
インストール直後は PowerShell の端末画面を再起動 して読み込ませる
同じような構成で構築される方の参考になれば幸いです。
参考サイト




