web-dev-qa-db-ja.com

Amazon EC2でのHTTPSセットアップ

Amazon EC2でHTTPSを有効にするにはどうすればよいですか?私たちのサイトはHTTPに取り組んでいます。

75

まず、HTTPSポート(443)を開く必要があります。それを行うには、 https://console.aws.Amazon.com/ec2/ に移動し、Security Groups左側のリンクをクリックし、HTTPSも使用可能な新しいセキュリティグループを作成します。次に、実行中のインスタンスのセキュリティグループを更新するか、そのグループを使用して新しいインスタンスを作成します。

これらの手順を完了すると、EC2の作業は終了しますが、これはすべてアプリケーションの問題です。

59

この回答は、(GoDaddyとして)別のサイトでドメインを購入し、Certificate ManagerでAmazonの無料証明書を使用したい人に焦点を当てています

この回答では、Amazon Classic Load Balancer(有料)を使用しています 使用する前に価格をご覧ください


ステップ1-証明書マネージャーで証明書を要求する

[証明書マネージャー]> [証明書の要求]> [公開証明書の要求]に移動します。

ドメイン名にmyprojectdomainname.com*.myprojectdomainname.comを追加して、次へ進みます

メールの検証と確認とリクエストを選択しました

(ドメインを購入したメールアカウントで)受け取ったメールを開き、リクエストを承認します

この後、myprojectdomainname.comおよび*.myprojectdomainname.comの検証ステータスが成功したかどうかを確認します。成功した場合は、ステップ2に進みます。

ステップ2-ロードバランサーへのセキュリティグループの作成

EC2で[セキュリティグループ]に移動し、セキュリティグループを作成して、httpおよびhttpsインバウンドを追加します

次のようなものになります。 enter image description here

ステップ3-ロードバランサーの作成

EC2>ロードバランサー>ロードバランサーの作成>クラシックロードバランサー(3番目のオプション)

内部でLBを作成-プロジェクトのvpcロードバランサープロトコルでHttpとHttpsを追加 enter image description here

次へ>既存のセキュリティグループを選択

前の手順で作成したセキュリティグループを選択します

次へ> ACMから証明書を選択

ステップ1の証明書を選択します

次へ>

ヘルスチェックでpingパスを使用しました/(/index.htmlの代わりに1つのスラッシュ)

ステップ4-インスタンスをロードバランサーのセキュリティグループに関連付けます

EC2>インスタンス>プロジェクトをクリックします>アクション>ネットワーク>セキュリティグループの変更

ロードバランサーのセキュリティグループを追加します

ステップ5

EC2>ロードバランサー>作成したロードバランサーをクリック> DNS名(Aレコード)をコピーすると、myproject-2021611191.us-east-1.elb.amazonaws.comのようなものになります

Route 53>ルートゾーンに移動>ドメイン名をクリック>レコードセットに移動(ここにドメインがない場合は、Domain Name: myprojectdomainname.comおよびType: Public Hosted Zoneでホストゾーンを作成します)

レコードタイプがあるかどうかを確認します[〜#〜] a [〜#〜](おそらくない)、名前が空のレコードセットを作成/編集し、タイプA、エイリアスはい、コピーしたDNSをターゲット

タイプ[〜#〜] a [〜#〜]、名前*.myprojectdomainname.com、エイリアスYesおよびTargetの新しいレコードセットも作成します。ドメイン(myprojectdomainname.com)。これにより、www.myprojectdomainname.comおよびsubsite.myprojectdomainname.comでサイトにアクセスできるようになります。注:これを行うには、リバースプロキシ(Nginx/Apache)を構成する必要があります。

NS次のステップで使用する4つのネームサーバーの値をコピーすると、次のようになります。

ns-362.awsdns-45.com ns-1558.awsdns-02.co.uk ns-737.awsdns-28.net ns-1522.awsdns-62.org

EC2>インスタンスに移動し、IPv4パブリックIPもコピーします

ステップ6

ドメインを購入したドメイン登録サイト(私の場合はGoDaddy)

ルーティングをhttp : <Your IPv4 Public IP Number>に変更し、[マスキングして転送]を選択します

ネームサーバー(NS)を、コピーした4 NSに変更します。有効になるまでに48時間かかることがあります

29
DigaoParceiro

Amazon EC2インスタンスは単なる仮想マシンであるため、任意のサーバーで設定するのと同じ方法でSSLを設定します。

使用しているプラ​​ットフォームについては言及しないため、これ以上の情報を提供することは困難です。

8
Geoff Appleford

Elastic Load Balacing を使用すると、アプリケーションインスタンスからSSL復号化をオフロードしたり、SSL証明書を集中管理したりするなど、ロードバランサーでのSSL終了がサポートされます。

2
Peter Hulsen

古い質問ですが、回答で別のオプションに言及する価値があります。ドメインのDNSシステムがAmazon Route 53で定義されている場合、EC2の前でAmazon CloudFrontサービスを使用し、無料のAmazon SSL証明書をそれに添付できます。この方法では、コンテンツ配信を高速化するためのCDNを使用することと、HTTPSプロトコルでドメインを保護することの両方の恩恵を受けます。

1
Hello W

また、主にデモとテストの目的で、ec2で手間のかからないhttpsを必要とする人々への回答もなければなりません。

証明書を作成する手間をかけずにEC2でテスト目的でhttpsを数分で達成する方法

1
Tomer Ben David

Amazon API Gateway を使用することもできます。アプリケーションをAPI Gatewayの背後に置きます。これを確認してください [〜#〜] faq [〜#〜]

0
Bhushan

私が見つけた最高のリソースの1つは、レッツ暗号化を使用することでした.EC2インスタンスにHTTPSを持たせるにはELBもクラウドフロントも必要ありません。次の簡単な指示に従うだけです: let's encrypt リンクのステップ。

また、他の人が述べたように、セキュリティグループを編集してポート443を開くことも重要です

このリンクのサイト名 を変更することにより、証明書または他のWebサイトを表示できます。

90日間のみ有効であることを忘れないでください

0
Mustafa