Storage Gateway をアクティブ化する際の内部エラーを解決する方法を教えてください。

所要時間5分
0

AWS Storage Gateway でゲートウェイをアクティブ化しようとしていますが、内部エラーが発生しました。

簡単な説明

Storage Gateway へのリクエストは、2 つのネットワークパスを通過します。クライアントから送信されたアクティブ化のリクエストは、ポート 80 経由でゲートウェイの仮想マシン (VM) または Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに接続します。ゲートウェイがアクティブ化のリクエストを正しく受信すると、ゲートウェイは Storage Gateway エンドポイントと通信してアクティベーションキーを受信します。ゲートウェイがこれらの Storage Gateway エンドポイントに到達できない場合、サービスはクライアントに対して内部エラーメッセージで応答します。

解決方法

注: Amazon マシンイメージ (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 コンソール (オンプレミスにデプロイされたゲートウェイ用) にアクセスします。または、ゲートウェイのインスタンスに 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 秒以下にする必要があります。

注: [System Time Management] (システムの時刻管理) オプションは、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 秒以下にする必要があります。

注: [System Time Management] (システムの時刻管理) オプションは、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.    アクティブ化を行う前に、Amazon EC2 の HTTP プロキシがポート 3128 の Squid プロキシとしてオンプレミスのゲートウェイ VM で設定されているかどうかを確認します。この場合、次の事項を確認します。

  • 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 エンドポイントで [Enable Private DNS Name] (プライベート DNS 名を有効にする) 設定が有効になっていないことを確認します。この設定が有効になっている場合、その VPC からパブリックエンドポイントへのゲートウェイをアクティブ化することはできません。プライベート DNS 名オプションを無効にするには、次の手順を実行します。

  1. Amazon VPC コンソールを開きます。
  2. ナビゲーションペインから [Endpoints] (エンドポイント) を選択します。
  3. Storage Gateway VPC エンドポイントを選択します。
  4. [Actions] (アクション) を選択します。
  5. [Manage Private DNS Names] (プライベート DNS 名を管理する) を選択します。
  6. [Enable Private DNS Name] (プライベート DNS 名を有効にする) で [Enable for this Endpoint] (このエンドポイントで有効にする) の選択を解除します。
  7. [Modify Private DNS Names] (プライベート DNS 名の変更) を選択して、設定を保存します。

関連情報

インターフェイスエンドポイントのプライベート DNS

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ