Storage Gateway 활성화 시 발생하는 내부 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 10월 5일

AWS Storage Gateway에서 게이트웨이를 활성화하려고 하는데 내부 오류가 발생합니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Storage Gateway에 대한 요청은 두 개의 네트워크 경로를 통과합니다. 먼저 클라이언트에서 보낸 활성화 요청은 포트 80을 통해 게이트웨이의 가상 머신(VM) 또는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결합니다. 둘째, 게이트웨이가 활성화 요청을 성공적으로 받으면 게이트웨이는 Storage Gateway 엔드포인트와 통신하여 활성화 키를 받습니다. 게이트웨이가 해당 Storage Gateway 엔드포인트에 연결할 수 없는 경우 서비스는 클라이언트에 내부 오류 메시지로 응답합니다.

해결 방법

퍼블릭 엔드포인트를 사용하여 게이트웨이를 활성화하는 경우

1.    필요한 포트를 열었는지 확인하십시오. 온프레미스로 배포된 게이트웨이의 경우 포트가 로컬 방화벽에서 열려 있는지 확인하십시오. Amazon EC2 인스턴스에 배포된 게이트웨이의 경우 인스턴스의 보안 그룹에서 포트가 열려 있는지 확인하십시오. 포트가 열려 있는지 확인하려면 게이트웨이와 동일한 서브넷에 있는 서버에서 퍼블릭 엔드포인트에 대해 telnet 명령을 실행하십시오. 예를 들어, 다음 telnet 명령은 포트 443에 대한 연결을 테스트합니다.

telnet d4kdq0yaxexbo.cloudfront.net 443
telnet storagegateway.region.amazonaws.com 443
telnet dp-1.storagegateway.region.amazonaws.com 443
telnet proxy-app.storagegateway.region.amazonaws.com 443
telnet client-cp.storagegateway.region.amazonaws.com 443
telnet anon-cp.storagegateway.region.amazonaws.com 443

게이트웨이 자체가 엔드포인트에 연결할 수 있는지 확인하려면 게이트웨이의 로컬 VM 콘솔(온프레미스로 배포된 게이트웨이의 경우)에 액세스하거나 SSH를 통해 게이트웨이 인스턴스(Amazon EC2에 배포된 게이트웨이의 경우)에 액세스합니다. 그런 다음, 네트워크 연결 테스트를 실행하십시오. 테스트 결과로 [PASSED]가 반환되는지 확인하십시오.

참고: 게이트웨이 콘솔의 기본 로그인 사용자 이름은 admin이고 기본 암호는 password입니다.

2.    SSL 검사, 심층 패킷 검사 또는 게이트웨이에서 퍼블릭 엔드포인트로 전송되는 패킷을 수정하는 다른 형태의 방화벽 보안이 없는지 확인하십시오. SSL 인증서가 활성화 엔드포인트에서 예상한 것과 다르게 수정된 경우 SSL 핸드셰이크가 실패합니다. 진행 중인 SSL 검사가 없는지 확인하려면 게이트웨이와 동일한 서브넷에 있는 컴퓨터에서 포트 443의 기본 활성화 엔드포인트(anon-cp.storagegateway.region.amazonaws.com)에서 OpenSSL 명령을 실행하십시오.

참고: region을 활성화 리전으로 바꾸십시오.

$ openssl s_client -connect  anon-cp.storagegateway.region.amazonaws.com:443 -servername anon-cp.storagegateway.region.amazonaws.com

진행 중인 SSL 검사가 없는 경우 명령은 다음과 유사한 응답을 반환합니다.

$ openssl s_client -connect anon-cp.storagegateway.us-east-2.amazonaws.com:443 -servername anon-cp.storagegateway.us-east-2.amazonaws.com
CONNECTED(00000003)
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = anon-cp.storagegateway.us-east-2.amazonaws.com
verify return:1
---
Certificate chain
 0 s:/CN=anon-cp.storagegateway.us-east-2.amazonaws.com
   i:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
 1 s:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
   i:/C=US/O=Amazon/CN=Amazon Root CA 1
 2 s:/C=US/O=Amazon/CN=Amazon Root CA 1
   i:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
 3 s:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
   i:/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority
---

SSL 검사가 진행 중인 경우 응답에 다음과 유사한 변경된 인증서 체인이 표시됩니다.

$ openssl s_client -connect  anon-cp.storagegateway.ap-southeast-1.amazonaws.com:443 -servername anon-cp.storagegateway.ap-southeast-1.amazonaws.com
CONNECTED(00000003)
depth=0 DC = com, DC = amazonaws, OU = AWS, CN = anon-cp.storagegateway.ap-southeast-1.amazonaws.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 DC = com, DC = amazonaws, OU = AWS, CN = anon-cp.storagegateway.ap-southeast-1.amazonaws.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/DC=com/DC=amazonaws/OU=AWS/CN=anon-cp.storagegateway.ap-southeast-1.amazonaws.com
   i:/C=IN/O=Company/CN=Admin/ST=KA/L=New town/OU=SGW/emailAddress=admin@company.com
---

활성화 엔드포인트는 SSL 인증서를 인식하는 경우에만 SSL 핸드셰이크를 허용합니다. 즉, 엔드포인트로 향하는 게이트웨이의 아웃바운드 트래픽은 네트워크의 방화벽에서 수행하는 SSL 검사 또는 심층 패킷 검사에서 제외되어야 합니다.

3.    게이트웨이가 시간을 올바르게 동기화하고 있는지 확인하십시오. 과도한 시간차로 인해 SSL 핸드셰이크 오류가 발생할 수 있습니다. 게이트웨이의 로컬 VM 콘솔을 사용하여 게이트웨이의 시간 동기화를 확인하십시오. 시간차는 60초 이하여야 합니다.

참고: EC2 인스턴스에서 호스팅되는 게이트웨이에서는 시스템 시간 관리 옵션을 사용할 수 없습니다. 인스턴스가 포트 UDP 및 TCP 123을 통해 NTP 서버 풀 목록에 연결할 수 있는지 확인하십시오.

0.amazon.pool.ntp.org
1.amazon.pool.ntp.org
2.amazon.pool.ntp.org
3.amazon.pool.ntp.org

Amazon Virtual Private Cloud(Amazon VPC) 엔드포인트를 사용하여 게이트웨이를 활성화하는 경우

1.    로컬 방화벽(온프레미스로 배포된 게이트웨이의 경우) 또는 보안 그룹 (Amazon EC2에 배포된 게이트웨이의 경우) 내에서 필요한 포트를 열었는지 확인하십시오. 게이트웨이를 Storage Gateway VPC 엔드포인트에 연결하는 데 필요한 포트는 게이트웨이를 퍼블릭 엔드포인트에 연결할 때 필요한 포트와 다릅니다. Storage Gateway VPC 엔드포인트에 연결하려면 다음 포트가 필요합니다.

  • TCP 443
  • TCP 1026
  • TCP 1027
  • TCP 1028
  • TCP 1031
  • TCP 2222

또한 Storage Gateway VPC 엔드포인트에 연결된 보안 그룹을 확인하십시오. 엔드포인트에 연결된 기본 보안 그룹에서 필요한 포트를 허용하지 않을 수 있습니다. 게이트웨이의 IP 주소 범위에서 필요한 포트를 통해 트래픽을 허용하는 새 보안 그룹을 생성하십시오. 그런 다음, 해당 보안 그룹을 VPC 엔드포인트에 연결하십시오.

참고: Amazon VPC 콘솔을 사용하여 VPC 엔드포인트에 연결된 보안 그룹을 확인하십시오. 콘솔에서 Storage Gateway VPC 엔드포인트를 확인한 다음, 보안 그룹(Security Groups) 탭을 선택하십시오.

필요한 포트가 열려 있는지 확인하려면 게이트웨이와 동일한 서브넷에 있는 서버에서 Storage Gateway VPC 엔드포인트에 대해 telnet 명령을 실행하십시오. 가용 영역을 지정하지 않은 첫 번째 DNS 이름에 대해 테스트를 실행할 수 있습니다. 예를 들어, 다음 telnet 명령은 DNS 이름 vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com을 사용하여 필요한 포트 연결을 테스트합니다.

telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 443
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1026
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1027
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1028
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 1031
telnet vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com 2222

2.    SSL 검사, 심층 패킷 검사 또는 게이트웨이에서 Storage Gateway VPC 엔드포인트로 전송되는 패킷을 수정하는 다른 형태의 방화벽 보안이 없는지 확인하십시오. SSL 인증서가 활성화 엔드포인트에서 예상한 것과 다르게 수정된 경우 SSL 핸드셰이크가 실패합니다. 진행중인 SSL 검사가 없는지 확인하려면 게이트웨이와 동일한 서브넷에 있는 컴퓨터에서 Storage Gateway VPC 엔드포인트에 대해 OpenSSL 명령을 실행하십시오. 필요한 각 포트에 대해 명령을 실행하십시오.

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:443 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1026 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1027 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1028 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1031 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

$ openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:2222 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com

진행 중인 SSL 검사가 없는 경우 명령은 다음과 유사한 응답을 반환합니다.

openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1027 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com
CONNECTED(00000005)
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = anon-cp.storagegateway.us-east-1.amazonaws.com
verify return:1
---
Certificate chain
 0 s:CN = anon-cp.storagegateway.us-east-1.amazonaws.com
   i:C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
 1 s:C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
   i:C = US, O = Amazon, CN = Amazon Root CA 1
 2 s:C = US, O = Amazon, CN = Amazon Root CA 1
   i:C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
 3 s:C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
   i:C = US, O = "Starfield Technologies, Inc.", OU = Starfield Class 2 Certification Authority
---

SSL 검사가 진행 중인 경우 응답에 다음과 유사한 변경된 인증서 체인이 표시됩니다.

openssl s_client -connect vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com:1027 -servername vpce-1234567e1c24a1fe9-62qntt8k.storagegateway.us-east-1.vpce.amazonaws.com
CONNECTED(00000005)
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 DC = com, DC = amazonaws, OU = AWS, CN = anon-cp.storagegateway.us-east-1.amazonaws.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/DC=com/DC=amazonaws/OU=AWS/CN=anon-cp.storagegateway.us-east-1.amazonaws.com
   i:/C=IN/O=Company/CN=Admin/ST=KA/L=New town/OU=SGW/emailAddress=admin@company.com
---

활성화 엔드포인트는 SSL 인증서를 인식하는 경우에만 SSL 핸드셰이크를 허용합니다. 즉, 필요한 모든 포트를 통해 VPC 엔드포인트로 향하는 게이트웨이의 아웃바운드 트래픽은 네트워크의 방화벽에서 수행하는 SSL 검사 또는 심층 패킷 검사에서 제외되어야 합니다.

3.    게이트웨이가 시간을 올바르게 동기화하고 있는지 확인하십시오. 과도한 시간차로 인해 SSL 핸드셰이크 오류가 발생할 수 있습니다. 게이트웨이의 로컬 VM 콘솔을 사용하여 게이트웨이의 시간 동기화를 확인하십시오. 시간차는 60초 이하여야 합니다.

참고: EC2 인스턴스에서 호스팅되는 게이트웨이에서는 시스템 시간 관리 옵션을 사용할 수 없습니다. 인스턴스가 포트 UDP 및 TCP 123을 통해 NTP 서버 풀 목록에 연결할 수 있는지 확인하십시오.
0.amazon.pool.ntp.org
1.amazon.pool.ntp.org
2.amazon.pool.ntp.org
3.amazon.pool.ntp.org

4.    활성화하기 전에, 온프레미스 게이트웨이 VM에 포트 3128의 Squid 프록시로 구성된 Amazon EC2의 HTTP 프록시가 있는 경우 다음을 확인하십시오.

  • Amazon EC2의 HTTP 프록시에 연결된 보안 그룹에 게이트웨이 VM의 IP 주소에서 포트 3128의 Squid 프록시 트래픽을 허용하는 인바운드 규칙이 있어야 합니다.
  • Storage Gateway VPC 엔드포인트에 연결된 보안 그룹에는 Amazon EC2에 있는 HTTP 프록시의 IP 주소에서 포트 1026-1028, 1031, 2222 및 443에서 트래픽을 허용하는 인바운드 규칙이 있어야 합니다.

동일한 VPC에 Storage Gateway VPC 엔드포인트가 있을 때 퍼블릭 엔드포인트를 사용하여 게이트웨이를 활성화하는 경우

Storage Gateway VPC 엔드포인트에서 프라이빗 DNS 이름 활성화(Enable Private DNS Name) 설정이 활성화되어 있지 않은지 확인하십시오. 이 설정이 활성화되어 있으면 해당 VPC에서 퍼블릭 엔드포인트로의 게이트웨이를 활성화할 수 없습니다. 프라이빗 DNS 이름 옵션을 비활성화하려면 다음 단계를 따르십시오.

  1. Amazon VPC 콘솔을 여십시오.
  2. 탐색 창에서 엔드포인트(Endpoints)를 선택하십시오.
  3. Storage Gateway VPC 엔드포인트를 선택하십시오.
  4. 작업(Actions)을 선택하십시오.
  5. 프라이빗 DNS 이름 관리(Manage Private DNS Names)를 선택하십시오.
  6. 프라이빗 DNS 이름 활성화(Enable Private DNS Name)에서 이 엔드포인트에 대해 활성화(Enable for this Endpoint)를 선택 취소하십시오.
  7. 프라이빗 DNS 이름 수정(Modify Private DNS Names)을 선택하여 설정을 저장하십시오.

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?