Oracle Cloudでの無料自己ホスティング(ただし条件あり)

https://blogs.oracle.com/developers/install-run-discourse-for-free-in-the-oracle-cloud

このブログ記事は昨年のもので、ここに言及はありませんでした。ホスティング企業としてのオラクルは、多くの人の関心の外にあると思います。

そこで投稿する前に、実際に試して本当に実用可能かどうかを確認することにしました。デモサイトを作成しました:

https://www.opendiscussion.pw

Oracle Cloud でアカウント登録をしました。アカウントの検証には15分かかるとのことでしたが、クレジットカードの問題(検証のためにクレジットカードの入力が求められます)により、2日間待たされました。

ブログ記事の手順に従い、その後 Discourse の通常の Docker インストール手順に従いました。ほぼ最初から動作しました!メール設定に問題がありました。これはブログ記事で正しく説明されていない唯一の部分だと思います。ドキュメントを読む必要がありました。Oracle のドキュメントは非常に優れています。

このティアに含まれる内容は以下の通りです:

  • 2台の VM
    VM は OCPU の 1/8 を持ち、追加の CPU リソースを利用可能です。VM.Standard.E2.1.Micro。2.0 GHz AMD EPYC 7551
    メモリ:1 GB

  • 帯域幅:10 TB

  • ストレージ:100 GB ブロックボリューム

  • メール:月間 1,000 件(SMTP は含まれません)

注目すべきは、Oracle が提供する設定には、OS とユーザーデータ用の約 40GB のディスクと、8GB のスワップパーティションが含まれていることです。スワップファイルは不要です。また、「Always Free」レベルでは 2 台の VM を取得できるため、データベースコンテナを分離することでスケーリングの選択肢が増えます。

(何らかの理由で、同社の無料データベース PaaS は Postgres ではありません。:wink:

興味深い情報をありがとうございます!

私も問題に直面しました。何度か試しましたが、すべて失敗しました(銀行から「クリプトグラムが誤っています」というメッセージが表示されましたが、クリプトグラムは正しいものでした)。
別のブラウザで試したところ、別のメールアドレスを使用するだけで成功しました…そして、今ではアカウントの認証を待つことになり、すでに数時間が経過しています。
無料ですが、登録プロセスが少し面倒です…:sweat_smile:

メール部分の具体的な問題は何だったのでしょうか?Oracle Cloud に Discourse のインストールには成功したのですが、メール配信がどうしても機能しません。Discourse のインストール時に管理者ユーザーを登録しようとしても、メールが届きません。

Discourse-doctor は Oracle の SMTP サーバーと接続できているようですが、メールは送信されません。

念のため、複数の承認済み送信者を設定しました。私の管理者メールアドレス、noreply@[forum domain]noreply@[main domain] です。どれが重要でしょうか?

また、推奨される SPF 文字列を含む TXT レコードをドメインの DNS 設定に追加しました。

少し難しかったです。私の記憶が正しければ、私が動作させた方法は containers/app.yml を変更することでした:

  ## 最初の登録時の 'From' メールアドレスを設定したい場合は、以下の行のコメントアウトを外して変更してください:
  ## 最初のサインアップメールを受け取ったら、再度その行をコメントアウトしてください。一度だけ実行すれば十分です。
  - exec: rails r "SiteSetting.notification_email='noreply@opendiscussion.pw'"

返信ありがとうございます!

残念ながら、それでは解決しませんでした(アプリを再ビルドした後でも)。

TXT レコードの設定はどのようになっていますか?

「START TLS」の設定のコメントアウトも解除されていませんか?

それで、そのメールはどうしましたか?有料ですか?(SMTP が含まれていないと言ったので)

SMTP は含まれています。かつてはすべての地域でそうではありませんでした。設定するのは本当に大変です… :neutral_face:

Oracle Cloud に SMTP ログはありますか?SMTP サーバーには問題なく接続できるのに、メールが送信されない理由を知りたいのです。認証エラーやその他の問題について教えてください。

Oracle Cloud には SMTP サービスがありますが、常時無料枠には含まれていません。非常に安価(1,000 通あたり 0.085 ドル)なので、私はそれでも利用しています。まだ請求は受けていません。

https://www.oracle.com/cloud/networking/email-delivery.html#pricing

https://docs.cloud.oracle.com/en-us/iaas/Content/Email/Concepts/overview.htm

失礼しました、ご指摘の通りです。有料版の試用に設定されていたとは気づいておりませんでした。無料プランに登録していたためです。

Discourse 自体は Oracle Cloud に維持したまま、Discourse と連携可能な無料の代替 SMTP サービスはありますか?

最後の残りは Pricing | Mailjet だけだと思います。シリコンバレーのマフィアがインターネットから無料メールを奪ったなんて、本当に残念ですね :smiley:

1 ヶ月間、トライアルアカウントの動作確認に苦労し、チャットサポートには「お手伝いできない」と言われ、メールサポートも一度しか返信がなく、「アカウント情報を確認して連絡します」と言われながら結局連絡が来ることはなかった…

友人にアカウント作成を頼んだところ、15 分もかからず見事に動作しました。

その後、Discourse のインストールを試みたところ、非常に苦労しました。Oracle の Discourse インストールチュートリアル に従ったのですが、何らかの理由でポート 443 に接続できませんでした。

通常の Ubuntu イメージに Discourse をインストールしようとした際も、不明な理由によりポート 80 および 443 への接続ができませんでした。

公式手順に戻って試したところ、最初は動作しませんでした(両方のポートへの接続が失敗)。しかし、Docker を再起動すると、不思議と両方のポートに接続できるようになりました。

私の経験は最善とは言えません。問題の原因が私自身にあるのか、Oracle 側にあるのかはわかりません。

しかし、最終的には無料で、オンライン上で、決して最速ではありませんが、動作する Discourse インストール環境を手に入れることができました。:+1:t6:

同じチュートリアルに従いたい方のために、サーバーのファイアウォール設定部分に小さな誤りがあります。

以下のように入力しないでください:
sudo firewall-cmd —reload

代わりに、以下のように入力してください:
sudo firewall-cmd --reload

デフォルトでは、ポート 80 と 443 への接続が許可されていないため、Discourse をインストールすることはできません。これら両方を セキュリティリスト(Oracle コントロールパネル内)と インスタンスファイアウォール(SSH 経由)で許可する必要があります。

以下は、通常の Ubuntu インストールでの手順です(公式ガイドでは別の Linux イメージを使用しているため、若干異なります)。

Oracle パネルでの設定:

Ubuntu インスタンスを作成した後、インスタンス詳細 に移動し、サブネットリンク をクリックします:

セキュリティリストをクリックします:

追加のイングレスルール をクリックし、TCP プロトコル を選択し、ソース CIDR を 0.0.0.0/0宛先ポート範囲80,443 に設定します。
「追加のイングレスルール」をクリックして確定します。

セキュリティリストにルールが追加されたことを確認します:

SSH 経由のサーバーコマンドラインでの設定:

iptables に以下のルールを追加します:

iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

このコマンドは、ルールを適切な位置に追加します。行番号(5)を指定せずに既存のルールに単純に追加すると、以前の「すべて拒否」ルールによって上書きされてしまうため、動作しません。

再起動後もルールが保持されるように保存します:

netfilter-persistent save

これで、Discourse をインストールできます!:tada:

こんにちは、本番環境で運用されている、ある程度トラフィックの多いサイトにおすすめのクラウドサービスはOracle Cloudでしょうか?
よろしくお願いいたします。

フォラムの速度をあまり気にしないのであれば、あなたとあなたのユーザーが小さなコミュニティをホストすることは可能だと思います。
しかし、より良い仕様の安いホスティング(月額約5ドル)が見つかるため、おすすめはしません。

@Hector さん、https://www.opendiscussion.pw はまだ無料サーバーでホストされていますか?

こんにちは、月額約5ドルの格安ホスティングとは、Digital Oceanの5ドルドロプレットのことでしょうか?

はい、例えばです。

個人的には、Hetzner が気に入っています。価格も手頃で、サーバーの課金が時間単位なので、短期間の試行にも最適です。ただし、サーバーはヨーロッパのみにあると考えています。

はい、まだ無料サーバーです。トラフィックがゼロなので、その性能については言えません。開発用としても利用しています。今のところ問題ありません。

Hetzner VPSの場合、LAMPのインストール、サーバーの更新、ハッカーへの対策なども自分で行う必要がありますか?

一方、Digital Oceanではすべてが準備済みで、サーバーのセキュリティ対策は不要で、Discourseのインストールと管理だけを行えばよいのでしょうか?これがDigital Oceanと他のVPSとの本当の違いなのでしょうか?

Digital Oceanは管理型VPSのようなものですか?

ありがとうございます!
Deb