World”だけを表示するサイトを作ったところ、月額料金が2,500円もかかっていました。Lightsail』でWebサイトを立ち上げてみることにしました。Lightsailは、Amazonが提供する定額制VPSパッケージサービスです。簡単、安いが特徴です。立上げの簡単さはレンタルサーバーよりは難しくて、ECよりは簡単というレベルです。数あるAWSのサービスの中で、Lightsailはもっとも簡単にWebサイトを構築できるサービスと言われています。独自ドメインやHTTPS化などをすると、ロリポップなどの一般的なレンタルサーバーよりは設定が難しいです。EC2に比べると設定は随分と楽です。ApacheとPHPを入れて、MySQLを入れて...などの設定がいりません。安い月額3.5ドルとレンタルサーバー並みの安さが特徴です。IPオプションが必要でしたが、Lightsailは固定IPアドレスも含んで3.5ドルです。Lightsail上でデータベースを作ると月額15ドル発生します。データベースを持つサイトであれば、一般的なレンタルサーバーの方が安い場合もあるでしょう。Lightsailとレンタルサーバーの比較レンタルサーバーは提供会社がサーバーの構築・運用をしているので、サーバーに自由にアプリケーションをインストールしたり、容量の変更などを行うことはできません。多少の知識があって、サーバーに自由度を求める人はLightsailがお勧めです。レンタルサーバーと比べたメリット:スペックが高い、自由度が高くカスタマイズしやすい、他のユーザーの影響を受けにくい。レンタルサーバーと比べたデメリット:サーバーの設定や運用は全て契約者が行う必要がある。大きな違いは、EC2にはアクセス集中時に自動的にサーバの数を増やすオートスケーリング機能がありますが、Lightsailはないという点です。LightsailからC2に移行できます。EC2は価格も高く立上げが面倒なので、Lightsailでまず簡単に始めて人気が出てから、EC2に移行するという流れがお勧めです。EC2と比べたメリット:安く、早く、簡単にサーバーを作れる。EC2と比べたデメリット:サーバーのスペックを変更できない、アクセス集中に強い。サーバーを作るでは、実際にサーバーを作っていきます。AWSのコンソールにログインして、「サービスを検索する」にLightsailと入力します。「インスタンスの作成」をクリックします。AWSでは、仮想サーバーのことをインスタンスといいます。インスタンスローケーションは東京、インスタンスイメージはLinuxを選択します。OS」、LAMPを選択します。↓起動スクリプト、SSHキーペアマネージャーは変更せずに進みます。SSHは後で設定します。「自動スナップショットを有効化」には、今回チェックを入れません。チェックを入れると、サーバーのバックアップを自動的に保存できるのですが、バックアップは月額0.05ドル/GBかかってしまいます。Lightsailの一番安いプランはストレージは20GBなので、必ず月額で1ドルかかります。スナップショットは差分でとるため、容量がどんどん増えていくということはありませんが、バックアップの1つ目は必ず20GBで保存するようです(未確認)。今回はなるべく安く済ませたいのと、バックアップはローカルに保存することにしたため、チェックを入れません。インスタンスプランの選択では、$3.5のプランを選びます。インスタンスの確認はデフォルト設定のまま、キーオンリータグ、キー値タグは設定しません。「インスタンスの作成」ボタンを押します。インスタンスを作成できました。すると、保留中から実行中に変わります。パブリックIPアドレスを固定(静的IP)にする初期状態だとインスタンス(サーバー)のIPアドレスは動的になっています。動的インスタンスだと、インスタンスを停止して、再度起動するとIPアドレスが変わってしまいます。インスタンスを再起動のたびにIPアドレスが変わってしまうと、独自ドメインを設定した時にアクセスできなくなってしまうので、IPアドレスを固定します。Lightsailでは、インスタンスが起動している限り、静的IPアドレスにかかる費用は無料です。「ネットワーキング」→「静的IPの作成」をクリックします。「インスタンスへのアタッチ」で今回作成したインスタンスを選択します。「静的IPの指定」は初期設定の「StaticIp-1」のままにして、「作成」をクリックします。静的パブリックIPアドレスが生成されました。Worldを表示するここでは、ファイル転送ソフトを使って、PHPファイルをLightsailのサーバー上にアップロードしていきます。SSHという暗号化通信を行うため、SSHキーと呼ばれる秘密鍵が必要となります。Lightsailトップページの上部の「アカウント」をクリックして、「アカウント」を選びます。「SSHキー」タブを選び、「ダウンロード」をクリックします。FTPクライアントソフトをインストールするオープンソースのFTPクライアントソフト(ファイル転送ソフト)のFilezillaをインストールします。Filezillaを開き、「ファイル」→「サイトマネージャー」→「新しいサイト」をクリックして、今回作成するサイトの名称を登録し、右側の「一般」タブに以下を入力します。Fileを選択できるようになります。ホストは以下の赤四角部に表示されています。files」に変更すると、さきほどダウンロードした鍵ファイルを選択できるようになります。リストの表示成功」と表示されます。World”を表示するシンプルなPHPファイルを作ります。index.phpという名前で保存しておきます。world";?>index.phpをLightsailのドキュメントルートに保存します。FileZillaの右側をルートディレクトリまで移動します。デフォルトで入っているindex.htmlを削除します。index.phpを右クリックして、「アップロード」を選択します。Worldを表示してみましょう。パブリックドメインを入力します。Worldが表示されました。ような独自ドメイン名でアクセスできるようにするには追加で設定が必要です。Lightsailは他のサイトで取得したドメインを設定できます。今回は、Route53で取得したドメインを設定していきます。Route53でドメインを取得するのは簡単なので、他のサイトを参考にして取得してください。DNSゾーンを作成するDNSゾーンとは、DNSサーバーがドメイン名を管理する範囲のことです。Lightsailの「ネットワーキング」タブの「DNSゾーンの作成」をクリックします。取得したドメインを「example.com」のように「www」無しで入力し、「DNSゾーンの作成」をクリックします。wwwなしで入力するのがポイントです。wwwを入れると、独自ドメインを設定できない場合があります。私はwwwを入れてしまい、しばらくはまりました。含める必要はありませんDNSゾーンにAレコードを追加するDNSサーバーで、IPアドレスとドメインを結びつける項目をAレコードといいいます。「DNSゾーンの作成」をクリックした後に表示されるページで、「レコードの追加」をクリックします。ここでAレコードとCNAMEレコードを登録します。アドレスに割り当てるレコードのことです。「サブドメン」には、www有をトップページURLにするなら「www」を入力、www無をトップページURLにするなら「@」を入力します。「解決先」の項目をクリックすると下に選択肢が表示されます。先ほど作成した静的IPアドレスのIDを選択し、緑のチェックマークをクリックします。DNSホスティングプロバイダ(Route53)のネームサーバーを変更するDNSホスティングプロバイダとは、DNSサーバーを維持する会社のことです。今回はRoute53で取得したので、DNSホスティングプロバイダはAmazonです。Route53でドメインを取得したら、Route53の管理画面にアクセスし、左側のメニューで「登録済みのドメイン」を選択し、今回取得したドメインをクリックします。「ネームサーバーの追加/編集」をクリックします。ネームサーバーを入力する画面が表示されます。Lightsailの「詳細」タブにネームサーバーが記載されています。ネームサーバーとDNSサーバーは同義です。この4項目をそれぞれコピーして、さきほどのRoute53のネームサーバー画面の項目にペーストし、「更新」をクリックします。更新が完了するとメールが届きます。Worldが表示されるようになります。HTTPS化インターネット上でのデータの通信を暗号化し、盗聴や改ざんを防ぐ仕組みをSSLといいます。SSL化されたウェブサイトは、URLが「https」から始まり、ブラウザのアドレスバーに鍵マークが入ります。HTTPS通信ができると、Googleの検索にヒットしやすくなります。LightsailでHTTPS化する3つの方法Lightsailで作ったWebサイトをHTPPS化するには、主に3つの方法があります。CloudFrontを使用する今回は3のAmazonCloudFrontを採用しました。1:AWSのロードバランサ―は月額18ドルと高額なため、今回は採用しませんでした。Encryptの有効期限が90日なので、90日ごとに更新が必要です。更新自動化ができるようですが、設定が複雑なのでは今回は採用しませんでした。CloudFrontはAWSのCDNサービスです。CloudFrontの利用費が発生します。単価は$0.114/GBです。仮に月に10GBの配信がある場合でも$1.1と安価です。今回は導入しやすく安価なCloudFrontを採用しました。CloudFrontでディストリビューションを作るLightsail上でCloudFrontを登録できるようになったので、Lightsail上から設定していきます。Lightsailのロゴをクリックして、管理画面のトップページに移動します。「ネットワーキング」をクリックします。「ディストリビューションを作成する」をクリックします。オリジンは「東京」を選択し、インスタンスはさきほど設定したインスタンスを選択します。キャッシュすると表示が早くなりますが、AWSサーバーの設定を変更しても変更内容がすぐに反映されず、管理しにくいため、「何もキャッシュしない」を選択します。ディストリビューションプランは最も安価な「50GB/月」を選択します。使用してオリジンからコンテンツをプルします」はデフォルト設定の「HTTPのみ」にします。これを「HTTPSのみ」にすると、HTTPSサイトが表示されなくなるので注意しましょう。CloudFrontがLightsailのサーバーから情報を引き抜いてくるときはHTTPです。最後に「ディストリビューションを作成する」をクリックします。設定が完了すると、ステータスが「進行中」と表示されます。待つと「有効」に変わります。証明書を取得するHTTPS化のための証明書を取得します。Lightsailの管理画面上で証明書を取得できるようになりました。「カスタムドメイン」タブをクリックします。プライマリドメインにwww付のドメインを入力し、「作成」をクリックします。Lightsailの管理画面に移動して、「ホーム」をクリックして、「ネットワーキング」タブの前段で登録したDNSゾーンをクリックします。「レコードの追加」をクリックします。「CNAMEのレコード」を選択します。サブドメインには、先ほどのLightsailの証明書画面に表示されていた左辺の「名前」に表示されているテキストの.wwwまでの値を入力します。例)ACMの「名前」項目:_2725xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.www.example.com.CNAMEに入力する値:_2725xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.wwwマップ先には、右辺の「値」に表示されているテキストを入力します。緑のチェックマークをクリックします。なったあとに「カスタムドメインが有効になっています」をONにします。CloudFront経由でアクセスするようAレコードを追加するこれまでの設定でHTTPS化はできたのですが、独自ドメインを開いてもHTTPS化されません。Lightsailに変更して、CloudeFrontをかませる必要があります。LightsailでCloudFrontを使ったHTTPS通信の通信経路は以下のようになります。Aのレコードを編集します。解決先の項目をクリックして、さきほど作成したディストリビューションを選択します。アクセスできるようになりました。以上で設定は終了です。簡単といわれているLightsailでも、独自ドメインやHTTPS化するとなると、そこそこの知識と手間がかかりますね。GatewayとLambdaで動的Webコンテンツを表示できるようになりました。Gatewayのログを出力できるようにします。Worldを表示するまでの手順メモです。AWSの知識がゼロで、「S3って何?」「バケットって何?」というような初心者の方に参考になればよいなと思います。S3に置いたHTMLファイルに独自ドメインを設定してCloudFront経由でHTTPS通信の設定をしたのちに、ルートディレクトリにアクセスすると以下のような404エラーが表示されてしまいました。fi...AWS【AWS】CloudFrontを使ってS3の静的WebサイトをHTTPSで表示する前の記事で、S3上にHTMLファイルをアップロードして静的なWebサイトを表示しました。このままだとHTTPS化されていないため、Chromeで表示すると「保護されていない通信」と表示されてしまいます。GatewayとLambdaを使って、簡単な動的Webサイトを作ってみました。URLに和暦を入れて、アクセスすると、西暦が表示されるAPIです。アクセスすると、と表示されます。...AWS【AWS】独自ドメイン(オリジナルドメイン)でCloudFrontにアクセスできるようにする前回の記事で、CloudFrontを使ってS3の静的WebサイトをHTTPSで表示する方法を説明しました。今回はCloudFrontのパスを独自ドメインに変更してみます。独自ドメインはムームードメインで取得済です。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。LightsailタイトルとURLをコピーしました。