# Lightsail、SES、ルート53を使ったAmazon Web Services (AWS)上でのDiscourseのインストール

**URL:** https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343
**Category:** Sysadmins
**Tags:** how-to, install
**Created:** [2022 年 9 月 18 日午後 5:16 UTC](https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343 "2022-09-18T17:16:55Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![th21](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/th21/32/211915_2.png) [@th21](https://meta.discourse.org/u/th21)
#### Post date: [2022 年 9 月 18 日午後 5:16 UTC](https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343/1 "2022-09-18T17:16:56Z")

</div>

> :information_source: このトピックでは、DNSプロバイダー（Route 53）、メールプロバイダー（SES）、およびクラウドサーバープロバイダー（Lightsail）としてAWSサービスを使用した公式のインストール手順に従ってDiscourseをインストールする方法について説明します。

## クラウドサーバー

Lightsail

> **[Amazon Lightsail Pricing](https://aws.amazon.com/lightsail/pricing/)**

> - デフォルトの **1 GB** RAMは、小規模なDiscourseコミュニティには問題なく機能します。大規模なコミュニティには2 GB RAMをお勧めします。

^ $5/月で、Discourseの最小要件を満たすサーバーを入手できます。私は$10/月のものを使用していますが、$5/月でも機能すると思います。

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/5/5/d55532e89f81b89768b74f5f69b199f382fe7b87.png)

## メールサーバー

> [@Frez](#):
>
> ## SES
> 
> Amazonは、EC2ホストサーバーから10,000通の無料メールを送信できるアカウントを許可しています。これは、Discourseコミュニティを開始するには十分すぎるほどです。
> 
> 完了したらSESダッシュボードに戻り、「SMTP設定」にアクセスして「SMTP認証情報を作成」をクリックします。ユーザーを追加し、「アクセスキーID」とシークレットキーをメモします。シークレットキーは再度取得できないため、安全な場所に保存してください。

シークレットキーは再度取得できませんが、紛失した場合は新しいものを作成して使用できます。

## ドメイン

> **[Registering a new domain - Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)**
>
> You can use Amazon Route 53 with domains you register with Route 53, and with domains you have registered with other DNS providers. Depending on your DNS provider, choose one of the following procedures to register and use a new domain with Route 53:

## ステップバイステップ設定

1. Route 53のドキュメントに従ってドメインを購入します。

このステップで「処理できません」というメールが届いた場合、AWSはまずアカウントを確認する必要があるかもしれません。サポートケースを送信して、アカウントが確認され購入可能になったら通知してもらうように依頼してください。

1. DNSレコードの設定  
コンソールにアクセスします。

Route 53

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/b/3/bb3d2cb3608629f787253b43ddb51a1b8536cb36.png)

ホストゾーン → ホストゾーンの作成 → ドメイン名を入力 → 下にスクロールしてホストゾーンの作成をクリックします。

 ![image](https://global.discourse-cdn.com/meta/original/4X/5/5/5/5550008678492b5007a72b16eb25d053c7c42df1.jpeg)

ドメイン名をクリックし、LightsailクラウドサーバーのIPアドレスを値としてAレコードを追加します。これはLightsailコンソールで見つけることができます。（赤いブロック）

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/a/0/8a0f0e7ff7f07af196e65098e58d281a0a7d3e41.jpeg)

1. SESの設定  
SESコンソールにアクセスします。

確認済みのID → IDの作成 → ドメイン名を入力（ドメインタイプ） → 下にスクロールしてIDの作成をクリックします。  
IDの作成 → 管理者アカウントの登録に使用するメールアドレスを入力（メールアドレスタイプ） → 下にスクロールしてIDの作成をクリックします。

 ![image](https://global.discourse-cdn.com/meta/original/4X/5/2/f/52fa9d02a240d58ee004feda45397f276cdf25c6.jpeg)  
 ![image](https://global.discourse-cdn.com/meta/original/4X/a/e/2/ae22b6c18c5850654cbb894bbb0818fdc920001d.jpeg)

Route 53でドメインを登録したため、検証には約5分かかります。メールアドレスの検証メールが届きます。

両方が検証されたら、ドメイン名をクリックし、 **DNSレコードの発行** を見つけ、ステップ2で作成したホストゾーンの下にあるRoute 53にDNSペアをコピー＆ペーストします。

SMTP設定に移動し、SMTP認証情報の作成をクリックします。手順に従い、SMTPユーザー名とパスワードを含むCSVファイルをダウンロードします。

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/9/9/b99a00501590230e8a96d62d657ab1ffce45a3d7.png)

SMTPエンドポイントもこのページの下部に記載されています。

1. Discourseの設定  
上記の手順は、[公式インストール手順](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md#4-access-your-cloud-server)のステップ1〜3をカバーしています。ステップ4〜6を続けてください。

```plaintext
Discourseのホスト名ですか？ [discourse.example.com]: //あなたのドメイン
管理者アカウントのメールアドレスですか？ /[me@example.com,you@example.com]: //SES確認済みIDで確認したもの
SMTPサーバーアドレスですか？ [smtp.example.com]: //SMTPエンドポイント
SMTPポートですか？ [587]: //デフォルトを使用
SMTPユーザー名ですか？ [user@example.com]: //ダウンロードしたCSVファイルに記載
SMTPパスワードですか？ [pa$$word]: //ダウンロードしたCSVファイルに記載
Let's Encryptアカウントのメールアドレスですか？ (ENTERでスキップ) [me@example.com]: //デフォルトを使用
オプションのMaxmindライセンスキー () [xxxxxxxxxxxxxxxx]: //デフォルトを使用

```

インストールを待ってから、設定で上記で提供した管理者アカウントを使用して登録できます。

1. インストール後  
コミュニティを新しいユーザーに紹介する準備ができたら、SES本番アクセスを申請してください。

> **[Request production access (Moving out of the Amazon SES sandbox) - Amazon...](https://docs.aws.amazon.com/ses/latest/dg/request-production-access.html)**
>
> Request production access by moving your account out of the Amazon SES sandbox and raise your sending quotas.

```plaintext
ユースケースの説明で、Amazon SESを使用してメールを送信する方法を説明してください。リクエストの処理を支援するために、次の質問に答える必要があります。

メーリングリストをどのように構築または取得しますか？

バウンスや苦情をどのように処理しますか？

受信者はどのようにメールの受信をオプトアウトできますか？

リクエストで指定した送信レートまたは送信クォータをどのように選択しましたか？

```

URLの申請ガイドに従うことをお勧めしますが、承認が保証されるわけではありません。却下メールが届いた場合は、新しいユーザー登録リストのスクリーンショットを追加し、新しいユーザーがアクティベーションメールを待っていることを伝えてみてください。

---

<div class="post-metadata">

### Author: ![lakshya](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lakshya/32/310441_2.png) [@lakshya](https://meta.discourse.org/u/lakshya)
#### Post date: [2022 年 12 月 12 日午後 4:37 UTC](https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343/2 "2022-12-12T16:37:31Z")

</div>

DiscourseをSESを使用してAWS Lightsailでホストするための、適切なステップバイステップのチュートリアルを更新していただけますか？

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2022 年 12 月 12 日午後 5:07 UTC](https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343/3 "2022-12-12T17:07:54Z")

</div>

何かが間違っていると信じる理由がありますか？

---

<div class="post-metadata">

### Author: ![wal](https://avatars.discourse-cdn.com/v4/letter/w/d6d6ee/32.png) [@wal](https://meta.discourse.org/u/wal)
#### Post date: [2024 年 7 月 31 日午前 4:57 UTC](https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343/4 "2024-07-31T04:57:10Z")

</div>

SESの設定をテスト実行するのに、こちらのガイドが非常に役立ちました。

> **[Testing your connection to the Amazon SES SMTP interface using the command...](https://docs.aws.amazon.com/ses/latest/dg/send-email-smtp-client-command-line.html)**
>
> Use common command line utilities to test your connection to the Amazon SES SMTP interface.

ここに記載されているスクリプトを新しいスクリプトファイルにコピー＆ペーストし、エンドポイント（例: `email-smtp.us-east-1.amazonaws.com`）を変更するだけで、問題なく動作するようです。なぜか[`telnet`メソッド](https://serverfault.com/questions/49935/easiest-way-to-send-a-test-email-from-a-server-to-test-settings)はSESでは機能しないようですが、理由は不明です。

そういえば、このガイドのために「コンフィギュレーションセットを作成する」も行いました。Discourseに実際に必要だったかは不明ですが、スクリプトで説明されているSESのテストができるように念のため実施しました。[Creating configuration sets in SES - Amazon Simple Email Service](https://docs.aws.amazon.com/ses/latest/dg/creating-configuration-sets.html)

もう一つ、つまづいた点があります。[Publishing an MX record for Amazon SES email receiving - Amazon Simple Email Service](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-mx-record.html)

ドメインに適用する必要のあるDNS MXレコードについて、AWS SESはレコードの「値」を以下のような形式で提供します。

```plaintext
10 inbound-smtp.region.amazonaws.com

```

しかし、私のドメインレジストラからは、「値はホスト名でなければなりません」というエラーが出ました。つまり、「`10 `」という接頭辞が気に入らなかったようです。AWSコンソールでは、これが何を意味するのか、どうすればよいのか直接説明されていなかったので、リンク先のドキュメントに従って、DNSレジストラに対して次のように行う必要があります。

> DNSプロバイダーの管理コンソールに、レコードの **値** とレコードの **優先度** のフィールドが別々にある場合があります。DNSプロバイダーがこの場合、 **優先度** の値に`10`を入力し、 **値** に受信メールのエンドポイントURLを入力します。

ドメインレジストラのダッシュボードでは、このようになっているはずです。

 ![Screenshot 2024-07-31 at 11.24.29 AM copy](https://global.discourse-cdn.com/meta/original/4X/f/0/c/f0c1a94d124949e83a448ddfaaa2dfcaaf056351.png)

---

<div class="post-metadata">

### Author: ![wal](https://avatars.discourse-cdn.com/v4/letter/w/d6d6ee/32.png) [@wal](https://meta.discourse.org/u/wal)
#### Post date: [2024 年 8 月 7 日午後 3:41 UTC](https://meta.discourse.org/t/install-discourse-on-amazon-web-services-aws-with-lightsail-ses-and-route-53/239343/5 "2024-08-07T15:41:41Z")

</div>

フォローアップとして、この投稿を拡張して AWS Cloudfront CDN のセットアップを含めることは可能でしょうか？ ここで説明されている他の AWS スタックとうまく連携するはずです。この投稿からのアドバイスに従って実行できました。

> [@How to setup cloudfront for discourse](https://meta.discourse.org/t/how-to-setup-cloudfront-for-discourse/129252/6):
>
> @Magnetidog I just got it to work. I basically created the AWS Cloudfront distribution as explained in [this video](https://www.youtube.com/watch?v=KIltfPRpTi4). Then, I went to the admin panel and added my Cloudfront URL to the s3 cdn url key. Then, I entered the container and rebaked all posts with rake posts:rebake (it took me around 10 min for every 7000 posts). I also tried doing it in batches in the Rails Console, but for some reason this didn’t work: Post.in\_batches.update\_all('baked\_version = NULL') (nothing happened 🤷🏻‍♂)

しかし、より詳細なガイドを含めると良いでしょう。
