Route53で管理するドメインで、別AWSアカウントで稼働するELBの名前解決をする【AWSアカウント統合】
前の投稿で、こちらのWebサイトを運用している「mikolabo.net」のAWSアカウントから、別AWSアカウントであるSofEtherによるVPNを運用しているサイトの名前解決をするやり方を載せました。今回は、普通のサイトではなく、ELB配下にあるNextCloudを運用しているサイトの名前解決を実装します。
前投稿で行ったVPNに対するRoute53に、NextCloudのELBを追加で設定します。
この実装を行ったのは、VPN通信の中でNextCloudの機能にあるWeb会議をやってみたかったからです。
ZOOMでのWeb会議が中国国内の中継ノードを通っているだの、通信ネゴの実装が実話甘かっただの、Web会議中に知らないメンバが勝手に入ってくるだの、問題が発覚していたので、SoftEther内のVPN通信内で、NextCloudでのWeb会議であるTalkを収容する仮想HUBを割り当てて、オンプレミスでセキュアなWeb会議をやってみようと思ったからです。
NextCloudのTalkなる機能は、前提としてSSL通信を実施していないと動いてくれません。
そのため、ELBに「cld.mikolabo.net」用のデジタル証明書を用意して、SSL通信をさせています。
まあ、別サイトで名前解決しなくても良いんですけどね。
ちなみに、WordPressのSSLリダイレクトに良く失敗するんですが、NextCloudのSSLリダイレクトもうまくできないことが多かったんですが、UbuntuのSnapパッケージを使って、実装したらうまくリダイレクトできました。
それではまず、構築したシステムイメージは以下の感じです。
このようなアクセスができるように、[mikolabo.net]ドメインのRoute53と[miko.services]ドメインのRoute53を設定していきます。
設定のミソは、実際のNextClodを運用しているRoute53で、参照元のドメインのゾーン「cld.mikolabo.net 」を作成して、NextCloudを収容しているELBのエイリアスを設定します。そして、生成したゾーンで作成されたNSレコードの内容を参照元のRoute53に設定します。
また、[miko.services]ドメインのELBで「cld.mikolabo.net」のサーバ認証ができるように、[miko.services]ドメインのELBでデジタル証明書を指定します。
以下のようなイメージです。
ちなみに、実際にこのようなアクセスを運用していましたが、現在はNextCloudの運用は破棄してしまいました。
よって、この設定自体は現在ありません。(なので設定の本来秘匿部分をある程度表示しています)
では、設定していきましょう。
1.実際の運用をしているサイトのRoute53
NextCloudを運用しているサイトのAWS Route53 で、ホストゾーン「cld.mikolabo.net」を登録する。
ちなみに最初はNextCloudが動いているEC2をAレコードで指定しています。(初めからELBを指定するのが難しい)
2、ドメイン運用&名前解決しているAWSアカウントのRoute53に、先ほど登録されたネームサーバを登録する
前の投稿でやっているので、内容だけ見てます。
3.AWS Certificate Manager (ACM) で、AWSプラットフォームのデジタル証明書の発行を要求する
Route53 で購入したドメインだから、DNS検証のほうが簡単 |
ここで、Route53で必要なCNAMEレコードを追加できる |
4.ロードバランシングするためのサブネットを新たに追加
- 名前タグを既存サブネット名を参考に設定
- VPCは「1個のパブリックを持つVPC」で作成しているので、既存VPCを設定
- ロードバランシングするので、既存VPCとは異なったアベイラビリティゾーンを指定
- ロードバランシングするので、既存サブネットとは別のネットアドレスを持つCIDRを設定
- 「作成」をクリック
「ルートテーブル」の「サブネットの関係付け」で、「編集」をクリック |
5.ロードバランサーの作成
今回はHTTP および HTTPS トラフィックを使用するウェブアプリケーション用ということで、Application Load Balancerの「作成」をクイック |
手順1.ロードバランサーの設定
手順2:セキュリティ設定の構成
説明書タイプは「ACMから説明書を選択する」を選択
証明書の名前で先ほど発行した証明書を選択 セキュリティポリシーはそのまま 「セキュリティグループの設定」をクリック |
手順3:セキュリティグループの設定
「新しいセキュリティグループを選択する」 からセキュリティグループを設定最低限、22(SSH)と80番(HTTP)と443番(HTTPS)ポートを開ける |
手順4:ルーティングの設定
手順5ターゲットの登録
ポート=80で「登録済みに追加」をクリック | |
さらにポート=443にして「登録済みに追加」をクリック | |
一覧リストに追加され、ポート=80と443と2つ並びます
登録済みターゲットに、ポート=80と443が追加されたら |
手順6:確認
Route 53でドメイン名とELBとの関連付け