7

シナリオ: 複数の iPad からの接続を受け入れるように現在セットアップされている API を格納する EC2 サーバーがあります。サーバーとデバイスの間で交換されている JSON 要求をネットワーク スニファーに見られたくありません。アイデアは、通信が保護されるように安全なプロトコルを導入することです。

SSL 証明書を購入することが今後の方法であると言われました。私が実行している Amazon サーバー インスタンスには、次の形式のアドレスがあります。

ec2-xx-xxx-xx-xxx.ap-southeast-1.compute.amazonaws.com/

これは、適切なすべての Web サービス ファイルを含む Web ルートの場所です。私の Web サービス URL は次のようになります。

ec2-xx-xxx-xx-xxx.ap-southeast-1.compute.amazonaws.com/Agent/Create

などなど。ホスティングプランは一切ありません(情報が必要な場合)。http://www.Godaddy.comから SSL 証明書を購入するように勧められ、最大 5 つの複数ドメインの SSL 証明書パッケージを取得することを検討しました。

質問: 1 失敗しないようにするために、どのようなことを認識しておく必要がありますか? Elastic IP アドレスをインスタンスに関連付ける必要があるかもしれないことを最近読みました。そうしないと、再起動時にインスタンスの IP が変更されますか? その場合、これに使用された SSL 証明書: ec2-xx-xxx-xx-xxx.ap-southeast-1.compute.amazonaws.com ドメインは、IP アドレスが再起動時に変更されたため、安全なドメインが失われましたか?

質問: 2 質問 1 での私の考えが正しい場合、私の質問は、最もユーザー フレンドリーな方法は何か、つまり、初心者がサーバー インスタンス用の専用 URL を作成する方法 (そのため 1) ドメイン名です。サーバーの再起動時にランダムに変更されません(とにかくいつ再起動するかはわかりません)。2)これは、覚えやすいWebサービスのURLを簡単に作成できることを意味しますか?など....www.pk.com/Agent/Create長いec2醜いURLの代わりに?!

わかりやすいチュートリアルは非常に役立ちます。Elastic IP アドレス、SSL 証明書、および ec2 URL の名前変更に関するその他の記事について述べたいくつかの記事を見てきましたが、どれが自分に当てはまるのか実際にはわからない立場にあります。笑

誰かが助けてくれることを願っています。ありがとう

4

2 に答える 2

11

やりたいことは、エラスティック IP アドレスを取得することです。これにより、起動時にインスタンスを特定のIP アドレスにバインドできます。次に、ホスト名を DNS に登録し (Amazon はこの部分についてはサポートしていません)、そのホスト名には、登録した Elastic IP アドレスである IP アドレスがあることを示します。

最後の部分は、識別名の CN フィールドにホスト名を持つサーバー証明書 (厳密には、公開部分がサーバー証明書であるキーペア) を取得し、そのサーバーキーペアをインスタンスにインストールすることです。(これは、Amazon がサポートしていない別の部分であり、実際にはハードウェアを自分でホストしている場合と同じプロセスです。) そのように、クライアント

  1. ホスト名を検索して Elastic IP アドレスを取得し、
  2. 接続してサーバー証明書を取得し、
  3. サーバー証明書をチェックし、そのホスト名が期待したホスト名であることを確認します。(証明書が信頼できる認証局によって署名されているかどうか、証明書が有効期間内にあるかどうかなど、他にもいくつかのチェックがあります。)

これにより、クライアントは、安全に接続した相手が安全に接続することを期待していた相手であると信頼できます。これは、信頼を確立するための重要な部分です。

行わないのは、申請する証明書で AWS マシン名 (内部または外部) を使用することです。それらは変化し、他の人の VM を信頼したくありません。

于 2013-03-02T15:16:59.677 に答える
7

ドナルの答えは行くべき道です。ドメインを明示的に登録し、そのドメインとして CN を含む SSL 証明書を生成する必要があります。この問題では、Elastic IP アドレスは間違いなくあなたの味方です。それらが必要になります。

別の視点を与えるために、別の回答を追加しました。バックエンド ソリューションをスケーリングしたい場合、その方法はより困難になります。Web サービスをホストするサーバーをさらに追加することを考えたことがある場合は、必ずElastic Load Balancerをセットアップし、それにインスタンスを追加して、登録したばかりのドメインをElastic Load Balancer にポイントする必要があります。次に、SSL 証明書を購入して ELB に直接インストールし、ELB で SSL ターミネーションを構成します。また、ポート 443 に着信する接続がサーバーのポート 80 (または任意のポート) にマップされるように ELB を構成します。心配しないでください。これは簡単に設定できます。

Web サービスにサーバーを追加したいときはいつでも、別の EC2 インスタンスをセットアップし (このプロセスは自動化できますし、そうすべきです)、それを ELB に追加するだけです。

この設定により、Elastic IP アドレスが不要になります。すべての接続は ELB を経由します。

于 2013-03-02T17:46:26.620 に答える