LightsailにBitnamiが用意するDrupalのインスタンスをインストールして行きます。
IAMで作成した、実行アカウントで、AWSのコンソールにログインして、LightsailにDrupalをインストールします。
LightsailにDrupalのインスタンスを作成する形になります。このインスタンスはBitnamiが、Lightsail用に最適化をしたDrupalのパッケージになります。最初、Lightsailが何かが良く理解出来ていなかったのですが、簡単に言えば、国内ホスティングサービスで用意されているVPSになります。
Lightsailの利用方法に、[OSのみをインストール]して、目的の環境を自身で構築するプランと、[OSとアプリケーションがパッケージ]になっていて、インストールと同時に使用出来るプランが用意されています。
- [OSのみをインストールするプラン]は、一般的なVPSのプランと同様に、OSを選んでインストールし、利用するアプリケーションは自身でインストールを行い環境を構築して行きます。
- [OSとアプリケーションがパッケージになっているプラン]は、OSとWordPressやDrupalなどを同時にインストールし、WordPressやDrupalを専用で使用するのに適したプランとなっています。
どちらを選んでも、Drupalのインストールはできますが、今回初めてAWSを使用しているので、設定をなるべく簡素化して早々にDrupalを動かせる、OSとDrupalのパッケージを選択しています。このDrupalのパッケージはBitnamiが用意するものになります。
Bitnamiは、多数のCMSやFrameWorkを、クラウドサービスに最適化して配布を行っています。有名なところでは、AWSをはじめ、GoogleやAzureなどのクラウドサービスに最適化したものを用意しています。
Bitnamiのパッケージの利点に、インストールに必要な、ApacheやDBの基本設定と、クラウドサービスが用意するOSや、PHP、DBなどの環境に最適化し検証を行っているCMSやフレームワークのパッケージを用意しています。その事で、AWSコンソールから、選択するCMSやフレームワークを選ぶ事でインストールが簡単に行えます。
Lightsailの優れた面の一つに、用意されている環境を非常に簡単に構築できます。このことは、AWSが想定する、修学者や私のような一般ユーザーが、CMSや開発環境を利用したい場合、サーバースペックの指定とOSやアプリケーションの指定を行う事でインストールや設定の手間なく利用出来るようになっています。
今回選択した、Lightsailのプランである、OSとアプリケーションにDrupalを選択したプランは
- Lightsailという仮想サーバーにDrupalをインストールする形になります。
- BitnamiのDrupalインスタンスは、ApacheやMariaDBの設定を済ませたパッケージになっています。
- Lightsailという仮想サーバーの設定とインストール。Lightsail上にインスタンスである設定を済ませたDrupalのパッケージのインストールを同時に行います。
CPUやメモリの構成を指定した仮想サーバーのインストールと同時に、OSや必要なアプリケーションをインストールするので、非常に簡単にインストールが完了します。国内VPSが用意するWordPressのプランのようなサービスになっています。
IAMで作成した実行アカウントでAWSのコンソールにログインします。
ログイン後、画面左上の”検索”に”Lightsail”と入力すると、検索結果が表示され、サービス > Lightsailが表示されますのでLightsailをクリックすると、Lightsailの管理画面が開きます。
Lightsailの管理画面が開くと、左メニューバーに
- [インスタンス] 仮想サーバーにインストールしたインスタンスが表示されます。 // Drupalのインスタンスが表示
- [コンテナ] コンテナサービスが表示されます。// 未使用
- [データベース] データベースが表示されます。// 未使用
- [ネットワーキング] 静的IPやロードバランサー、CDNが表示されます。// 静的IPのみ使用中
- [ストレージ] 追加したディスクが表示されます。// 未使用
- [ドメインとDNS] DNSゾーンと取得したドメインが表示されます。// DNS、ドメイン共に使用中
- [スナップショット] スナップショット/バックアップが表示されます // 未使用
- [エクスポート] インスタンスやスナップショットから新たなEC2にデータをエクスポート出来ます。
- [ドキュメント] Lightsailのドキュメント/日本語
のメニューが表示され、メイン画面に選んだメニューの項目が表示されます。初期状態では、何もインストールされていないのでメニュー項目は表示されていないと思います。
Creating a Drupal instance.
Lightsailの管理画面からDrupalのインストールを行います。ここでVPSの仮想サーバーの指定も同時に行います。
メニューのインスタンスを選択 > インスタンスの作成をクリック
インスタンスを作成するの画面が表示されます。
- [インスタンスアロケーションの選択] -> // バージニア-ゾーンAと表示/ログイン状況により異なります。AWSリージョンとアベイラビリティゾーンの変更をクリックし、表示されたリージョンから// 東京 を選択します。
- [プラットフォームの選択]
- [インスタンスイメージの選択] -> Linux/UnixかMicrosoftを選択します。// Linux/Unixを選択
- [設計図の選択] -> アプリ+OS/オペレーティングシステム(OS)のみの選択 // アプリ+OSを選択
- [CMSが複数表示された中から] -> // Drupalを選択
- [オプション] -> 起動スクリプト // 設定していません。※インストールの追加のスクリプトなどが入れられます。
- [SSHキーペアの変更] -> // SSHの鍵を設定出来ます。後での設定も大丈夫なのでここでは設定しません。
- [自動スナップショットの有効化] -> // 後で設定出来ますのでここでは選択しません。
インスタンスプランの作成
- [ネットワークタイプの選択] -> // デュアルスタックを選択
- [サイズを選択] -> // $5から$384までのコースから選択 // $12-2GBメモリ-2vCPU -60GB SSD-3TB転送を選択
- [インスタンスを確認] -> // Drupalを1セット
- [タグ付けオプション] -> // 任意 例 Drupal
- [キー値タグの追加] -> // 任意 例 Bootstrap / Blog
インスタンスの作成
以上の内容で”インスタンスの作成”をクリックするとDrupalのインスタンスが作成されます。
インスタンスが無事作成されると、Lightsail管理画面のインスタンスにDrupalのインスタンスが表示されます。
インスタンス名は[ Drupal ]、リージョン情報-[ 東京 ]、パブリックIPアドレス-[ XXX.XX.XXX.XX ]、インスタンスステータス-[ 実行中 ]、ネットワーキングタイプ-[ デュアルスタック ]、プライベートIPアドレス-[ XXX.XXX.XX.XX ]、パブリック-[ IPv6-2224:rs53:772g:... ]のような情報が表示されスクロールすると、こんにちは!Drupalインスタンスにようこそ!、インスタンスへの接続といった情報が表示されます。
この状態では静的IPや、Drupalの初期設定、ドメインの割り当て、SSLの設定が完了していないので以降設定を進めて行きます。
Lightsail公式ドキュメントに従い以下の設定を行って行きます。
- Bitnamiのドキュメントを読む
- Drupal管理画面のログイン情報を取得する
- インスタンスのIPアドレスがデフォルトでは動的になっているので、静的IPアドレスを割り当てる
- Drupal管理画面が立ち上がっていますので、ログインして初期設定を行う
- ドメインを割り当てる
- SSLの設定を行う
- Drupal管理画面からWEBサイトの構築を行う
- インスタンスのスナップショットを作成する
Lightsail公式ドキュメント LightsailでDrupalを設定およびカスタマイズする
公式ドキュメント記載の設定内容が、詳しく説明されていますので、ここでの解説は控えます。解説に従って設定を進める事でLightsailにインストールしたDrupalが稼働し、WEBサイトが立ち上がります。
補足として、
- SSH接続は、WEBコンソールから行えますが、Macのターミナルや、VscordなどのMac上のアプリからも使用したいのでSSH秘密鍵を発行しMacの設定を行います。
- AWSでドメインの取得を行い今回インストールしたDrupalインスタンスにドメインを割り当てています。
を説明して行きます。
作成したDrupalのインスタンスにアクセスするSSHの秘密鍵を発行します。
- Lightsailの管理画面右上アカウント名を選択します。
- プルダウンメニューで”アカウント”を選択します。
- アカウントの画面が表示されますので”SSHキー”を選択します。
- カスタムキーの”キーペア作成”を選択します。
- リージョンの選択画面が表示されますのでDrupalインスタンスをインストールした東京リージョンを選択します。
- 名称を入れて鍵の発行をします。例えばdrupalなど
- 発行された鍵をダウンロードします。drupal.pemという鍵がダウンロードされます。
- Macの設定ですが、MacintoshHD > ユーザー > ユーザー名 > .ssh フォルダにSSHの鍵を移動します。
- 隠しファイルなので、ターミナルのmvコマンドで移動するか以下ファインダーの操作で移動します。
- 簡単なのはファインダーで隠しファイルの表示をしてマウスで移動します。 Command + Shift + .(ドット)
- 鍵を.sshフォルダに移動したら以下のコマンドをターミナルに入力してLightsailにSSH接続します。
- ssh -i ~/.ssh/drupal.pem bitnami@<インスタンスの静的IP>
- 以上でBitnamiのインスタンスにログイン出来ます。
ログインすると bitnami@ip-XXX-XXX-XXX-XXX:~$ が表示されます。
$ drush core:statusでDrupalのルートディレクトリを見ると Drupal root : /opt/bitnami/drupal
になっています。このディレクトリが以降、DrupalCoreのアップデートや、テーマやモジュールのインストールをするディレクトリになります。MacのターミナルからBitnamiへのSSHの接続がうまくいかない場合は、インスタンスのコンソールからもSSH接続が出来ます。
今回インストールしたDrupalのドメインを取得します。
ドメインの取得はAWSのRoute53を使用して取得します。
- Lightsailの管理画面左メニュー”ドメインとDNS”を選択します。
- ドメインの登録をクリックするとRoute53のドメイン取得画面が開きます。
- [ドメイン名の指定]、[ドメインの自動更新]、[ドメインの連絡先情報]、[プライバシー保護]、[DNSゾーン]の必要事項を入力します。
- [ドメインの登録]をクリックします。
- ドメインの連絡先情報に入力した、メールアドレスに確認のメールが届くので、メールが届いたらメール内の指定のURLをクリックします。
- verifiedのメッセージが表示され、Route53の連絡先の検証が完了します。
- 以上で取得したドメインを使用出来ます。
- Route53でドメイン移管のロックをします。
ドメインを取得したので、Drupalインスタンスにドメインを割り当てます。今回Lightsailを使用しているのでDNSはLightsailのDNSを使用します。この時点で静的IPを設定していないのであれば、静的IPの設定を先に行います。
- 静的IPの設定はLightsailの管理画面左メニュー”ネットワーキング”を選択します。
- パブリックIPv4アドレスが動的アドレスになっているので[静的アドレス]を[アタッチ]します。
- 静的IPが有効になると[StaticIP-1]のような形でDrupalインスタンスの画面に表示されます。
静的IPが有効になっていたら、Drupalインスタンスに、取得したドメインを割り当てて行きます。
LightsailのDNSを使用するので以下の設定を行います。
- DNSの設定はLightsailの管理画面左メニュー”ドメインとDNS”を選択します。
- DNSゾーンの作成を選択します。
- ドメイン名のDNSゾーン設定画面が開きます。
- ドメインのタブにネームサーバー情報が表示されています。Route53でドメインを取得しているので、ネームサーバーが自動的に割り当てられています。
- 割り当てを選択し、ドメインと静的IPを割り当てます。ルートドメイン、WWW付きのドメイン、必要な場合サブドメインを追加して行きます。ドメインの割り当ては、ルートドメイン、サブドメイン、全てのサブドメインから選択し、静的IPかIPv6を選択します。
- 割り当てが完了したら、DNSレコードの設定を行います。レコードの追加をクリックして、レコードタイプはAレコードを選択し、ルートドメイン、WWW付き、必要に応じてサブドメインを追加して行きます。[レコードタイプはAレコード]、[レコード名はドメイン]、[解決先は静的IP]になります。
- レコード名はサブドメインに該当する部分をフィールドに入力して行きます。ルートドメインの場合、空白の選択が不可なので@.example.comとなるよう@を入れます。
以上でDNSの設定が完了するので、ドメインでのアクセスが可能となります。
ドメインの割り当てが完了したらSSLの設定を行います。
SSLの設定は
Lightsail公式ドキュメント LightsailでDrupalを設定およびカスタマイズする
の解説が詳しく理解しやすいのでこちらを参照下さい。
SSHでのログインが必要となりますので、SSHの秘密鍵の発行で設定したローカルのターミナルクライアントからのログインか、クラウドシェルからログインして設定します。msertでの設定を行いますが、公式ドキュメントの指示通り、順番に指定のコマンドをコピペして進めていくだけで完了します。
LightsailとDrupalのインストールが完了し、ドメインの割り当てとSSLの設定が完了した事で、Drupalで構築するWEBサイトの公開準備が整いました。以降メールアカウントの設定や、セキュリティの観点から、reCAPTHAの設定など行う必要があります。
以下に、今回のインストールや設定を行う際に参考とした、AWSとBitnamiの公式ガイドをまとめています。
Lightsail > 公式ユーザーガイド/日本語
Lightsailの総合ガイドになります。
LightsailでDrupalウェブサイトを設定およびカスタマイズする
今回インストールしたDrupalインスタンスのインストールと設定情報になります。
Bitnami AWS Cloudパッケージ > 公式ユーザーガイド/英語
今回インストールしたDrupalのパッケージを配布しているBitnamiの公式ガイドになります。
Lightsail ドメインとDNSのガイド > 公式ユーザーガイド/日本語
Lightsailの画面からドメインの取得やLightsailで管理するDNSの使用方法になります。
Route53 新しいドメインの登録
ドメインの取得はRoute53で行い、ドメイン管理もRoute53で行っています。
- LightsailのインストールとDrupalインスタンスのインストール
- Drupalインスタンスの静的IPの設定
- DrupalインスタンスのSSHの設定
- Route53でドメインの取得
- DrupalインスタンスでDNSの設定
- DrupalインスタンスのSSLの設定
を行い、Drupalで構築したWEBサイトを公開出来る準備が整いました。
今回、LightsailとDrupalのインストールを行いました。Lightsailの管理画面からGUIで簡単なスペックと初期設定に必要な項目を指定するだけで簡単にインストールが完了します。インストール完了後、インスタンスに静的IPをアタッチし、新規にドメインを取得し、ドメインを割り当て、SSLの設定を行い、https://でDrupalで構築したWEBサイトを公開出来る準備が整いました。
先入観からAWSは複雑で理解が難しいというイメージですが、実際に自身で使用してみると、慣れは必要ですが、プロセスは理にかなっており、非常に効率的かつシンプルな方法で、必要とする機能を動かす事が出来るシステムであると感じています。
記事にすると長く複雑な事をしているように見えてしまいますが、実際は文章ほど難しくはなく、当初考えていたより簡単にインストールと設定が進みました。
Amazon Work Mail.
次項では、取得したドメインのメールアカウントを利用可能にします。