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

8분 분량
0

AWS Storage Gateway에서 게이트웨이를 활성화하려고 하는데 내부 오류가 발생합니다.

간략한 설명

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

해결 방법

참고: 최신 Amazon Machine Image(AMI) 버전을 사용해야 합니다. 최신 AMI를 사용하지 않으면 내부 오류가 발생합니다.
올바른 게이트웨이 유형을 선택했는지 확인합니다. 게이트웨이 유형에 대한 .ova 파일과 AMI는 서로 다르므로 상호 교환할 수 없습니다.

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

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 콘솔(온프레미스로 배포된 게이트웨이의 경우)에 액세스합니다. 또는 게이트웨이 인스턴스(Amazon EC2에 배포된 게이트웨이의 경우)로 SSH가 가능합니다. 그런 다음, 네트워크 연결 테스트를 실행합니다. 테스트 결과로 **[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.    게이트웨이에서 Storage Gateway VPC 엔드포인트로 전송된 패킷을 수정하는 방화벽 보안이 없는지 확인합니다. 방화벽 보안은 SSL 검사, 심층 패킷 검사 또는 다른 형태일 수 있습니다. 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)]을 선택하여 설정을 저장합니다.

관련 정보

인터페이스 엔드포인트에 대한 프라이빗 DNS

AWS 공식
AWS 공식업데이트됨 2년 전