Lightsail での Discourse インストール

こんにちは、世界。初めての Discourse フォーラムを立ち上げようとしていて、助けが必要です…

app.yml の設定はすべて問題ないようです。再起動を試みましたが、Discourse は利用できません。トラブルシューティングのヒントがあれば、非常に助かります。

Lightsailについてはあまり確信がありませんが、AWSの場合、ドメインが正しくIPを指していないときは、90%のケースでセキュリティグループが原因です。VPSのAWSセキュリティグループで必要なポート(80、443、587など)を開いてみてください。

返信ありがとうございます。これらのポート(443 と 587 は閉じられていました)を開き、アプリを再構築しましたが、依然として成功していません。DNS 側の問題ではないかと疑っていますが、他に何を変更すべきか確信が持てません。現在、becomeachiron.com は設定しておらず、サブドメインのみを使用しています。それがサブドメインを壊す可能性は高いですが、Lightsail でどこにホストすべきか確信が持てません。

サブドメインのみをどのように設定しましたか?

Discourse と Amazon Lightsail へ最近移行しました(そのため、私はあまり専門知識を持っていません)。
私はまさにその構成で、Discourse に問題なくインストールできました。
まず、Amazon 公式の Debian AMI をインストールしました。
次に、ホスト名を自分のドメイン(discourse.becomeachiron.com)に設定しました。
その後、Debian を最新バージョンにアップグレードしました。

sudo apt update
sudo apt upgrade

そして、Discourse のインストール手順に従いました(git をインストールし、次に Discourse をインストール)。

問題なく動作しました。

HTTPS を動作させるために、ポート 443 を開き、Discourse 内で設定する必要がありました。

あなたが説明している問題は、DNS と IP 解決に関連しているようです。

Lightsail では、1 台のマシンに 3 つの IP アドレスが存在します。

  • 静的プライベート IP:同じリージョン内の内部ネットワークマシンからのみアクセス可能。
  • ダイナミックパブリック IP:インスタンス起動時に動的に割り当てられ、マシンを停止するたびに失われ、起動時に異なるアドレスが割り当てられます。
  • 静的パブリック IP アドレス:マシンに割り当てることができ、永続的です(ただし、マシンが停止している間も課金されます。料金はごくわずかですが、マシンが稼働していない時間単位で課金されます)。

マシンに静的パブリック IP アドレスを割り当てていますか?

割り当てている場合、その IP を DNS に設定する必要があります。

割り当てていない場合は、パブリック IP アドレスを使用し、マシンを起動するたびに IP が変わるため、その都度変更する必要があります(Amazon DNS と互換性のある動的 IP クライアントがあれば、それをマシンにインストールして自動的に処理することも可能だと思われます)。

その後、DNS 変更の伝播を待つ必要があります。

ドメインの設定が完了していないようです。

 pfaffman@balloon:~$ dig +short discourse.becomeachiron.com @NS-1041.AWSDNS-02.ORG

というコマンドを実行しても何も返ってきません。このリンク で伝播状況を確認できますが、現時点では AWS のネームサーバーにこのサブドメインの記録が存在しません。

記録がないのは、Amazon DNS を使用していないためのようです。Google DNS で動作していると述べています。

したがって、Google 側で設定を行う必要があります。

discourse.becomeachiron.com は現在、99.79.192.57 に解決しています。

皆様のご返信をありがとうございます。理想的には、Discourse をサブドメインではなく、メインドメインでホストしたいと考えています。しかし、見つけたすべての手順ではサブドメインの使用が必須とされています。これは必須なのでしょうか?

私も今、これらに取り組んでいます :slight_smile:

www や Discourse サブドメインなしのプレーンなドメインを使用できるという話を聞いたことがあります。

ただし、これはデフォルトの設定ではなく、どうやら簡単ではないようです。おそらく、あなたがやったように、まずはデフォルトの方法を試すのがよいでしょう。

重ねて言いますが、Lightsail インスタンスに静的 IP アドレスを設定しましたか?

デフォルトでは動的に割り当てられます。

設定していない場合は、静的 IP を作成してください。

Lightsail パネルに移動し、インスタンスを選択して「ネットワーク」タブを開きます。
次に「静的 IP の作成」を選択します。

インスタンスに新しい永続的な IP アドレスが割り当てられます。

その後、Google DNS にアクセスし、その IP をマシン名で登録してください。

現在の状況は以下の通りです:

Lightsail 内

  • 静的 IP を作成し、インスタンスに割り当てました(フェルナンド、ありがとう)
  • DNS ゾーンを作成しました

Google ドメイン内

  • ネームサーバーを DNS ゾーンのものに更新しました
  • サブドメインを作成し、静的 IP を指すように設定しました

Discourse の設定は正常です - パブリック IP を介してアクセスできます。何か見落としている可能性はありますが、現在は伝播を待つだけです。

何かが間違っています。

あなたの SOA レコードは AWS の DNS サーバーを指しており、Google ではありません。また、Google で DNS レコードを変更しているとおっしゃっていますが、実際には AWS の名前サーバーが登録されています。

becomeachiron.com
primary name server = ns-612.awsdns-12.net
responsible mail addr = awsdns-hostmaster.amazon.com
serial = 1
refresh = 7200 (2 時間)
retry = 900 (15 分)
expire = 1209600 (14 日)
default TTL = 86400 (1 日)

becomeachiron.com nameserver = ns-1041.awsdns-02.org
becomeachiron.com nameserver = ns-1824.awsdns-36.co.uk
becomeachiron.com nameserver = ns-216.awsdns-27.com
becomeachiron.com nameserver = ns-612.awsdns-12.net

Amazon の DNS で DNS 設定を変更するか、Google DNS を使用している場合は SOA レコードを Google を指すように変更してください。

その通りです!私が言いたかったのはそれです。whois レコードを含めるべきでしたね。私の説明よりも、あなたの方がよく説明してくれました。

したがって、whois レコードを変更するか、AWS のネームサーバーを更新してください。

理解できませんでした。ごめんなさい。

混乱しています…Google ドメインを通じて登録したのですが、Lightsail がネームサーバーを生成しました。

ドメインをあるレジストラで登録し、DNS を別のプロバイダーで利用することは可能です。

ドメインを購入すると、名前とドメインレジストラのサーバーに存在する SOA レジストリのみを購入することになります。

DNS サービスはドメインプロバイダーとは独立しています。
SOA レジストリは、DNS サーバーがどこにあるかを示します。

もちろん、Google ドメインのように、多くのドメインレジストラが価格に DNS サービスを含めて提供しています。

しかし、Amazon Lightsail で DNS サービスを購入し、それによって Google の SOA レジストリが変更されたようです。

私は Amazon で DNS サービスを購入しておらず、外部の DNS サービスを利用しています(私の知る限り、Amazon は DNS サービスに対して課金しています)。

その場合、プロバイダー(あなたのケースでは Google)で自分で DNS レコードを更新する必要があります。
この場合、SOA レジストリを Google DNS のデフォルト設定に変更する必要があります。

あるいは、Amazon の DNS サービスを利用し、そちらでレジストリを更新することもできます。この場合は、SOA レジストリを現状のままにし、Amazon のツールを使って DNS レコードを変更します。

もし Amazon でメールサービスを利用している場合、SOA レジストリの変更を受け入れ、それを Amazon サービスにポイントする設定にした可能性があります。

本質的に必要なのは、Lightsail VPS のパブリック IP アドレスを取得し、お好みの場所で DNS を管理することです。

Amazon 経由で管理したい場合は Route 53 を利用できます。これによりネームサーバーが提供され、ドメインのレジストラ(例:Google)の設定で更新できます。

あるいは、ドメインの DNS 管理セクションにある現在のゾーンファイルを編集し、そこで A レコードを更新することも可能です。

上記から、プライマリドメインでホストしたいとお考えのようですが、その設定をお手伝いできます。通常のインストールと同様で、ユーザーがフォーラムを異なるドメインに配置したい場合もあるため、全く問題ありません。

例:Twitter コミュニティフォーラム

皆様、改めてありがとうございます!これでビジネスがスタートしました:http://discourse.becomeachiron.com/

まだ、これらの要素がどのように連携するかを整理中ですが、普段はDNS関連の作業は行わないためです。さて、メインドメインを何とか立ち上げないといけませんね :slight_smile:

AWS Route53 を使用して DNS を管理しているようですね。

プライマリドメインの場合は、以下の手順を実行してください。

  1. プライマリドメイン(@ で表記)のエイリアス(A)レコードを作成し、Lightsail の IP アドレスを指すように設定します。
  2. app.yml ファイルを編集して、プライマリドメインを使用するように変更します。
  3. ビルドを再実行します。
  4. Discourse のリマップを実行します。

以上がすべてです。