

# AWS CLI에 대한 HTTP 프록시 사용
<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>

**참고**  
다음 예제에서는 환경 변수 이름을 모두 대문자로 표시합니다. 그러나 다른 대소문자를 사용하여 변수를 두 번 지정하는 경우 소문자가 우선합니다. 시스템 혼란과 예상하지 못한 동작을 피하기 위해 각 변수를 한 번만 정의하는 것이 좋습니다.

다음 예제는 프록시의 명시적 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 기본 인증을 지원합니다. 다음과 같이 프록시 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) 섹션을 참조하세요.