Amazon AWS を使用してサブドメインを作成する場合と、サーバー内からサブドメインを作成する場合の違いは何ですか?

Amazon AWS を使用してサブドメインを作成する場合と、サーバー内からサブドメインを作成する場合の違いは何ですか?

Amazon AWS (Ubuntu サーバー) にインスタンスがあります。

私は自分のウェブサイトのサブドメインを作成したいと考えています。これtools.example.comは、私が働いているオフィスの人たちのために、従業員が使用できるツール (PHP を使用) を構築します (例: コード自動化 Web アプリ)。

私は Linux サーバー上に自分でサブドメインを作成したことはありません (通常は cPanel などを備えたホスティング会社と連携していました)。また、Amazon AWS も初めてですが、非常に素晴らしいと思います。Linux サーバーを操作して、すべてを自分で行うのは、非常に素晴らしいことです。

そこで、自分の Web サイトにサブドメインを作成する方法を調べ始めたところ、2 つのオプションがあることがわかったのですが、それらの違いが何なのか、自分の仕事にどのような影響があるのか​​など、正確にはわかりません。

最初のオプションは、Amazon Route53 を使用してサブドメインを作成することです。http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingNewSubdomain.html

私が遭遇した 2 番目のオプションは、Ubuntu サーバー自体を使用してこれを行うことでした。例: https://askubuntu.com/questions/463618/ubuntu サーバーでのサブドメインの設定 http://kim.sg/index.php/ubuntu/17-how-to-setup-subdomain-on-ubuntu-server-14-04

いくつかのことは私にとって少し曖昧に思えますが、理論的な「もの」についてもう少し詳しく知っていて、私にとって最善の選択に導いてくれる人々から、より多くの啓発ポイントを得ることができれば幸いです。

お気軽にご質問ください。

@Stefano Martins (2015 年 10 月 28 日):

はい、私はこれをやりました:

<VirtualHost *:80>
    ServerName tools.example.com
    ServerAdmin [email protected]

    ErrorLog /var/www/tools.example.com/logs/error.log
    CustomLog /var/www/tools.example.com/logs/access.log combined
    DocumentRoot /var/www/tools.example.com/public_html
</VirtualHost>

mkdir -p /var/www/tools.example.com/{public_html,logs}

sudo a2ensite tools.example.com.conf
sudo service apache2 reload
sudo find /var/www/tools.example.com/public_html -type d -exec chmod 755 {} \;
sudo find /var/www/tools.example.com/public_html -type f -exec chmod 644 {} \;
sudo adduser ubuntu www-data
sudo find /var/www/tools.example.com/public_html -type d -exec chmod 775 {} \;
sudo find /var/www/tools.example.com/public_html -type f -exec chmod 664 {} \;

私のフォルダは でありvar、 ではありませんsrv。すべてを srv から var に変更したら、403 エラーは表示されなくなりました。ただし、/var/www/tools.example.com/public_htmlFTP 経由で にアップロードできなくなりました。

アップデート: それを使うとsudo chown www-data:www-data -R /var/www/ 問題が解決しました。

どうもありがとう!

答え1

それが Amazon Web Services の特徴です。簡単に導入できる (つまり、素早く簡単に) 環境を提供するシンプルな EBS (Elastic Beanstalk) をはじめ、インフラストラクチャを構築するためのオプションが多数あります。

もう 1 つのオプションは、EC2 を使用して自分で構築することです。これはこれまで選択した方法であるため、基本的に必要なものは次のとおりです。

Route 53 で、インスタンスの IP アドレスを指す CNAME または A レコードを作成します (インスタンスが常に同じ IP アドレスを取得するようにするには、Elastic IP を使用する必要があります)。ゾーンにはすでに A レコードがあるため、CNAME エントリをお勧めします。DNS 解決は少し遅くなりますが、時間の経過とともに管理しやすくなります。これを tools.example.com と呼びます。

Apache 構成のディレクトリ (通常は /etc/apache2/sites-available) に、次の内容を含む tools.example.com.conf というファイルを作成します。

<VirtualHost *:80>
    ServerName tools.example.com
    ServerAdmin [email protected]

    ErrorLog /srv/www/tools.example.com/logs/error.log
    CustomLog /srv/www/tools.example.com/logs/access.log combined
    DocumentRoot /srv/www/tools.example.com/public_html
</VirtualHost>

次のようにして、サイト/アプリケーションを保存するディレクトリを作成します。

mkdir -p /srv/www/tools.example.com/{public_html,logs}

新しい仮想ホストを有効にし、Apache のサービスを再ロードします。

sudo a2ensite tools.example.com.conf
sudo service apache2 reload

ヒント: ほとんどの場合、AWS インフラストラクチャとすぐに使用できるソリューションを使用するとコストが安くなります。

注: 基本的に、これは必要なものですが、実稼働環境には 100% 理想的ではありません。

じゃねーよ!

答え2

サブドメインが適切に機能するには、2 つのものが必要です。

  1. DNS サーバーの DNS レコード。このレコードは、ネイキッド ドメイン (yourdomain.tld) に設定したネーム サーバー上に作成する必要があります。ネイキッド ドメインに Amazon Route53 を既に使用している場合は問題ありませんが、サブドメインにも使用できます (Amazon Route53 は単なる DNS ホスティング サービスです)。

  2. Web サーバー内の仮想ホスト。

関連情報