

# Using an HTTP proxy for the AWS CLI
<a name="cli-configure-proxy"></a>

プロキシサーバーを使用して AWS にアクセスするには、DNS ドメイン名またはプロキシサービスが使用する IP アドレスとポート番号で、`HTTP_PROXY` および `HTTPS_PROXY` 環境変数を設定できます。

**Topics**
+ [

## 例の使用
](#cli-configure-proxy-using)
+ [

## プロキシを認証する
](#cli-configure-proxy-auth)
+ [

## Amazon EC2 インスタンスでのプロキシの使用
](#cli-configure-proxy-ec2)
+ [

## トラブルシューティング
](#cli-configure-proxy-tshoot)

## 例の使用
<a name="cli-configure-proxy-using"></a>

**注記**  
次の例は、環境変数名をすべて大文字で示しています。ただし、大文字と小文字を区別して変数を 2 回指定した場合、小文字が優先されます。システムでの混同や予期しない動作を回避するため、各変数は 1 回だけ定義することをお勧めします。

次の例では、プロキシの明示的な IP アドレスあるいはプロキシの IP アドレスを解結する DNS 名のいずれかを使用する方法を示しています。どちらの場合でも、コロンおよびクエリが送信されるべきポート番号を追加することができます。

------
#### [ Linux or macOS ]

```
$ export HTTP_PROXY=http://10.15.20.25:1234
$ export HTTP_PROXY=http://proxy.example.com:1234
$ export HTTPS_PROXY=http://10.15.20.25:5678
$ export HTTPS_PROXY=http://proxy.example.com:5678
```

------
#### [ Windows Command Prompt ]

**すべてのセッションに設定するには**

```
C:\> setx HTTP_PROXY http://10.15.20.25:1234
C:\> setx HTTP_PROXY http://proxy.example.com:1234
C:\> setx HTTPS_PROXY http://10.15.20.25:5678
C:\> setx HTTPS_PROXY http://proxy.example.com:5678
```

[https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) を使用して環境変数を設定すると、現在のコマンドプロンプトセッションおよびコマンド実行後に作成するすべてのコマンドプロンプトセッションで使用する値が変更されます。これは、コマンド実行時にすでに実行されている他のコマンドシェルには影響を及ぼし***ません***。

**現在のセッションのみに設定するには**

`[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` を使用して環境変数を設定すると、現在のコマンドプロンプトセッションの終了時まで、または変数を別の値に設定するまで、使用する値が変更されます。

```
C:\> set HTTP_PROXY=http://10.15.20.25:1234
C:\> set HTTP_PROXY=http://proxy.example.com:1234
C:\> set HTTPS_PROXY=http://10.15.20.25:5678
C:\> set HTTPS_PROXY=http://proxy.example.com:5678
```

------

## プロキシを認証する
<a name="cli-configure-proxy-auth"></a>

**注記**  
AWS CLI では NTLM プロキシはサポートされていません。NTLM または Kerberos プロトコルプロキシを使用する場合は、[Cntlm](http://cntlm.sourceforge.net) などの認証プロキシを介して接続できることがあります。

AWS CLI は HTTP Basic 認証をサポートしています。次のように、プロキシ URL にユーザー名とパスワードを指定します。

------
#### [ Linux or macOS ]

```
$ export HTTP_PROXY=http://username:password@proxy.example.com:1234
$ export HTTPS_PROXY=http://username:password@proxy.example.com:5678
```

------
#### [ Windows Command Prompt ]

**すべてのセッションに設定するには**

```
C:\> setx HTTP_PROXY http://username:password@proxy.example.com:1234
C:\> setx HTTPS_PROXY http://username:password@proxy.example.com:5678
```

**現在のセッションのみに設定するには**

```
C:\> set HTTP_PROXY=http://username:password@proxy.example.com:1234
C:\> set HTTPS_PROXY=http://username:password@proxy.example.com:5678
```

------

## Amazon EC2 インスタンスでのプロキシの使用
<a name="cli-configure-proxy-ec2"></a>

IAM ロールがアタッチされた状態で起動された Amazon EC2 インスタンスでプロキシを設定する場合は、[インスタンスメタデータ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)へのアクセスに使用されるアドレスを除外してください。これを行うには、`NO_PROXY` 環境変数をインスタンスメタデータサービスの IP アドレス「169.254.169.254」に設定します。このアドレスは変化しません。

------
#### [ Linux or macOS ]

```
$ export NO_PROXY=169.254.169.254
```

------
#### [ Windows Command Prompt ]

**すべてのセッションに設定するには**

```
C:\> setx NO_PROXY 169.254.169.254
```

**現在のセッションのみに設定するには**

```
C:\> set NO_PROXY=169.254.169.254
```

------

## トラブルシューティング
<a name="cli-configure-proxy-tshoot"></a>

AWS CLI を使用した問題が発生した場合のトラブルシューティングステップについては、「[AWS CLI のエラーのトラブルシューティング](cli-chap-troubleshooting.md)」を参照してください。最も関連性の高いトラブルシューティングステップについては、「[SSL 証明書のエラー](cli-chap-troubleshooting.md#tshoot-certificate-verify-failed)」を参照してください。