5回に渡り書いた、Amazon Lightsail関連の記事をまとめます。
今回、行った作業はAWSのVPSサービスであるLightsailにパッケージされたDrupalのインスタンスをインストールしWEBサイトとして稼働させる為の各種設定を行なっています。
選択したサービスとインスタンスは以下になります。
- Amazon Lightsail // $12.0/月--2GBメモリ-2vCPU -60GB SSD-3TB転送を選択--3月間無料
- Bitnami Package For Drupal For AWS Cloud // 料金は上記に含まれています。
- AWS Identity and Access Management // IAM--料金はかかっていません。
- Route53 // ドメイン料金 $14.0/年
- Route53 // リージョンの使用料 $0.5/月
- Lightsail // リージョンの使用料 $0.2/月--SnapShotの使用料
- Amazon Work Mail $4.0/月--未だ請求が上がっていません。
- Amazon Simple Email Service // 1年間無料--請求が上がって来ていません。
参考までに料金を載せています。実際に請求が上がるサービスはLightsailの$12/月とWork Mailの$4/月がメインでRoute53使用料が$0.5/月とLightsailのスナップショットが$0.2/月となり、$16.7+Tax$1.67が月額の運営費用になります。
AWSのサービスを始めたばかりなので、料金の請求関係の仕組みがイマイチ見えていないところがありますが、思ったより料金が嵩むと言う形にはならず、Lightsailが年末まで無料で使えるので正規の請求が発生する1月以降$18.37/月が利用料となり$1.0=¥150の為替相場で¥2,800弱が月額のコストになっていきます。
サービスの内容と料金を考えると、国内にもう少し安いサービスはあるかもしれませんが、システムの安定性やサービスの拡張性や自由度を考慮すると決して高いサービスではありません。
最初はマネージメントコンソールのインターフェースや機能が細かく分かれたインスタンスの多さに圧倒されますが、システムの拡張や縮小に対する自由度と時間サイクルの短さは、AWSを使用する最大のメリットであり、スケールに応じたシステムを迅速かつ低リスクで実現出来る環境は、国内のホスティングでは対応できない優れたサービスとなっています。
今回、行った作業を箇条書きに並べてみます。文章にすると長く複雑に感じますが、実際の作業は簡潔でそれほど難しい事をしているわけではありません。AWSを初めて使用したので、用語やルールのようなものも含めて記事を書いており記事が長くなっています。
AWSの登録と実行ユーザーの設定を行います。
AWSの登録と実行ユーザーの作成が完了したら、実行ユーザーでログインを行い、LightsailとDrupalのインストールを行います。インストールは非常に簡単で、インストールするリージョンを選択し、パッケージを選択し、Lightsailのプランを選択後、インストールを行いますが数分で完了し、LightsailのコンソールにDrupalインスタンスが出来上がります。
#C06 LightsailとDrupal
- Lightsailとパッケージの選定
- リージョンの選択
- LightsailとBitnami Drupalのインスタンスに決定
- Lightsailのプランの決定
- インストール
Drupalインスタンスが出来上がったら、IPアドレスを静的アドレスに変更し、ドメインを割り当てます。DNSはDrupalのインスタンスに搭載されているDNSを使用し、デフォルトで設定されるAWSのネームサーバーの確認とDNSにプライマルドメイン、サブドメインをAレコードに書き込み、ドメインを割り当てを完了します。
DrupalインスタンスにSSHでアクセス可能とするため秘密鍵を発行し、SSHでの接続確認を行い、接続が出来たら、Drupalのadminコンソールの初期設定を行う為に、rootのパスワードを取得し、Drupalの初期設定を完了させます。
SSLの設定を行うので、DrupalインスタンスにSSH接続し、Bitnamiの指定するmsertにてSSLの設定を済ませ、インストールしたDrupalのWEBサイトが公開可能になります。
#C06 LightsailとDrupal
- Route53にてドメイン取得
- インストールしたDrupalに静的IPをアタッチ
- DrupalインスタンスのDNSにドメイン情報を設定
- BitnamiのインスタンスにログインするSSHの設定
- インストールされたDrupalのログインアカウントの確認
- DrupalのAdminコンソールにログインして初期設定
- DrupalでWEBサイトの構築
- SSLの設定
取得したドメインでメールアカウントを発行します。メールアカウントの発行は、Amazon Work Mailを使用します。Amazon Work MailはGoogle Work SpaceのGmailのようなサービスで、ドメインで管理する組織を設定し、組織内でユーザー登録することでメールアカウントの発行を行います。
取得ドメインでメールアカウントを使用可能とする為、組織を登録後、組織にドメインを割り当て、DNSにMXレコードやCNAMEなどメール関係のレコードも書き込みます。設定を完了したら、ユーザー登録を行い、メールアカウントを発行します。デフォルトで、WEB上で使用出来るメールクライアントが発行されますが、全て英語の為、MacやiPhoneでメールを使用出来るように、メールクライアントの設定を行います。
#C07 Amazon Work Mail
- Amazon Work Mailの使用開始
- リージョンの決定
- 組織を設定
- 組織にドメインを割り当て、DNSの設定
- ユーザーを登録し、メールアカウントの発行
- 送信アドレスのドメインをAWSのドメインから独自ドメインに変更
- メールアカウントの使用テスト
- デフォルトのWEB上のメールクライアントは英語のみなので、MacやiPhoneのメールクライアントの設定
取得ドメインのメールアドレスが使用可能になったので、コンタクトフォームの設定を行います。Drupalデフォルトのコンタクトフォームを使用しますので、必要な設定を行います。メールフォームを設置するのでセキュリティを考慮し、reCAPTCHAを設置します。
私のミスに、初期設定をドメイン取得前に個人アドレスで登録し、ドメイン取得後コンタクトフォームの受け先に取得したドメインのメールアカウントを設定したために、コンタクトフォームのメールが受けられないエラーが出てしまいました。
使用するユーザーアカウントの登録メールを取得したドメインのメールに変更し、コンタクトフォームの受け先を同ドメインのメールにすることで問題なく動作しますのでこの状態にすればコンタクトフォームの設定は完了します。
私は、エラーを出して、別の選択種をとったので、Drupalで外部SMTPを使用可能とするモジュール、SMTP Authentication Supportをインストールし、Amazon Simple Email ServiceでSMTP認証の設定を行い、コンタクトフォームの送受信にSESを使用する形を取っています。エラーの回り道で設定した怪我の功名のような形であり、私のWEBサイトではオーバースペックなシステムですが、スペックの高いメールのシステムを使用出来る環境になっていますのでしばらくこの形を使用します。
#C08 Contact FormとSES
- コンタクトフォームの設定
- Google reCAPTCHA v3の設定
- コンタクトフォーム実装後のエラー検証
- Drupal 外部SMTPモジュールの設定
- Amazon SESの設定
- 動作検証
- エラーの原因が単純なミスと気がついて修正
- 動作確認完了
以上の形で、AWSを使用し、LightsailにDrupalをインストールし、必要な設定を完了してWEBサイトが公開されています。予想外だったのが、私のミスで、コンタクトフォームのエラーを出してしまい、外部のSMTPを使用する事になったのですが、そのミスのおかげで、個人では必要を感じなかったSESの使用を始めた事で、AWSのシステムの可用性の高さを実感しています。
AWSは、専門家に依頼して使用する大規模なクラウドシステムと言うイメージがあり、私自身、個人の利用は対象外と考えていましたが実際に利用する事で、個人の使用も問題なく、非常に使いやすい優れたシステムである事がわかりました。利用するには、ある程度の理解力と英語のマニュアルとどう向き合うかといった問題はありますが、私のような、初学者でも、少し根気よく接することで、理解し実際に使用することが出来ます。外部から見た場合の懸念として、料金がわかりにくい面も、実際に利用してみると、確かに日本のホスティング会社の料金体系とは異なりますが、決してわかりにくいわけではない事が実感出来ます。
料金に対する単位が時間単位に設定されている事が月の概算を予測しにくい面もありますが、AWSの可用性の高さに、時間単位でスケールを柔軟に変更できる事や、システムの停止をせずシームレスに拡張や縮小を行える事に関連している事が理解できると、理にかなった料金体系や柔軟なシステムであることが理解できます。
まだ、AWSは使い始めたばかりで、本来の機能や目的に沿った利用方法という面では未熟ではありますが、私のような初学者でも利用出来る間口の広い寛容なシステムである事がわかった事が、今回利用を始めた一番の収穫であります。
Drupal 10.3x and Extensions.
これまで、Macのローカル環境からAWSへのインストールと環境設定の話で進んできましたので、次項以降はDrupalの記事をまとめていきたいと考えています。私のDrupalの利用環境は非常にシンプルで、モジュールも最低限しか入れていません。次回の記事はインストールしているモジュールの紹介をしたいと考えています。