AWS EC2 で負荷分散された WordPress ウェブサイトをセットアップします。 Elastic Load Balancing を使用して、AWS で自動スケーリング機能を使用して大量のトラフィックを処理するように WordPress アプリケーションをセットアップする方法を学びます。
この完全なガイドでは、WordPress をインストールし、メディア ファイルに AWS S3 を使用するようにウェブサイトを構成し、Amazon マシン イメージを作成し、テンプレートをセットアップし、起動構成を作成し、自動スケーリング グループを構成してライブ トラフィックを管理し、データベースの RDS をセットアップします。
前提条件
- AWS EC2 で負荷分散された WordPress のセットアップを完了する - パート 1
パート 1 では、AWS EC2、RDS、Route 53 を構成し、WordPress をインストールしておく必要があります。
このパートでは、残りのプロセスを構成して、高可用性のセットアップを完了します。
AWS S3 バケットをセットアップし、アクセス キーを構成する
ここで、AWS S3 バケットを作成し、それを使用するように WordPress を構成する必要があります。
サービス>> ストレージ>> S3 に移動し、バケットの作成 をクリックします .
バケット名を入力し、地域を選択してください。
[すべてのパブリック アクセスをブロックする] のチェックを外します .
[バケットを作成] をクリックします .
IAM 権限を構成する
セキュリティ、アイデンティティ、コンプライアンス>> IAM に移動し、ポリシーに移動します。
[ポリシーを作成] をクリックします .
JSON タブをクリックして、以下を貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:DeleteObjectTagging", "s3:ListBucketMultipartUploads", "s3:DeleteObjectVersion", "s3:ListBucket", "s3:DeleteObjectVersionTagging", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetBucketLocation", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::Bucket_name/*", "arn:aws:s3:::Bucket_name" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }
Bucket_name
を置き換えます 前に作成したバケットの名前に置き換えます。
[次へ] をクリックします>> レビュー .
名前を入力してください
[ポリシーを作成] をクリックします .
IAM ユーザーを作成してポリシーを割り当てる
ここで、ユーザーを作成し、上記で作成したポリシーを添付する必要があります。
左側のサイドバーで [ユーザー] をクリックします。
[ユーザーを作成] をクリックします .
ユーザーの名前を入力してください。
プログラムによるアクセスを確認してください AWS アクセス タイプの下。
[次へ:権限] をクリックします .
[既存のポリシーを直接添付] を選択します .
以前に作成したポリシーを確認してください。
[次へ:タグ] をクリックします [次へ:レビュー] をクリックします。 次の画面で。すべてが正しいことを確認して、[ユーザーの作成] をクリックします。 .
アクセス キーを含む .csv ファイルをダウンロードします とシークレット キー .
S3 を使用するように WordPress を構成する
必要な権限を持つユーザーを作成したら、WordPress ダッシュボードにログインしてプラグインに移動し、WordPress 用 Media Cloud をインストールできます。 .
プラグインを有効にします。
プラグイン設定に移動し、Amazon ウェブ サービスを選択します サービスプロバイダーとして。
[次へ] をクリックします .
アクセス キーを追加します 、秘密鍵 上記で作成したバケットの名前。
[次へ] をクリックすると、プラグインがいくつかのテストを行い、構成が正常に機能することを確認します。
セットアップを完了できます。
このプラグインは、アップロードされたメディアを上で作成した S3 バケットにコピーします。
ロードバランサーを構成する時が来ました。
Elastic Load Balancer 用に WordPress を変更する
ファイルを編集して、define('DB_COLLATE', '');
の下に以下を追加します。 この行。
define('FORCE_SSL_ADMIN', true); if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on';
HTTP から HTTPS へのリダイレクトを構成する
.htaccess
を開く ファイルを開き、以下のディレクティブを追加してください。
sudo nano /var/www/html/yourdomainname/public/.htaccess
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} =http RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
ファイルを保存してエディターを終了します。
Amazon マネージド SSL 証明書のリクエスト
サービス>> 証明書マネージャーに移動します。
[証明書をリクエスト] をクリックします .
証明書を取得したいドメイン名を入力してください。
[次へ] をクリックします .
指示に従って検証を完了してください。
確認されると、証明書を受け取ります。
AWS Elastic Load Balancing のセットアップ
EC2>> ロード バランシング>> ロード バランサーに移動し、[ロード バランサーの作成] をクリックします。
アプリケーション ロード バランサーを選択します。
名前を入力してください
インターネットに接続するとしてスキームを選択します .
リスナーで、HTTPS の新しいリスナーを追加します
アベイラビリティ ゾーン 任意の 2 つのゾーンを選択してください。
[次へ:セキュリティ設定の構成] をクリックします .
[証明書の種類] で、ACM からの証明書を選択します。
上記で作成した証明書を選択してください。
[次へ:セキュリティ グループの構成] をクリックします。
EC2 インスタンスの作成中に作成したセキュリティ グループを選択します。
[次へ:ルーティングの構成] をクリックします
新しいターゲット グループの名前を入力してください。
ターゲット タイプをインスタンスとして選択します。
その他はすべてデフォルトのままにして、ロード バランサーの作成を続けます。
Load Balancer を作成したら、リスナーで転送ルールを構成する必要があります。
ロードバランサを選択して [リスナー] タブに移動し、[ルールの表示/編集] をクリックします。
以下のスクリーンショットに示すように、HTTP トラフィックを HTTPS に転送する新しいリダイレクト ルールを追加します。
HTTPS ルールでは、ロード バランサーの作成時に作成したターゲット グループにルールを転送する必要があります。
Amazon マシン イメージの作成
EC2 ダッシュボードに移動し、作業していたインスタンスを選択します。
[アクション]>> [画像とテンプレート] をクリックします。
[画像を作成] をクリックします。
起動構成を作成する
EC2 ダッシュボードに移動 Auto Scaling に移動します>> 起動設定 .
[起動構成を作成] をクリックします .
構成の名前を入力してください。
Amazon マシン イメージ 以前に作成した画像を選択してください。
インスタンス タイプで ご希望のタイプをお選びください。
[セキュリティ グループ] で [既存のセキュリティ グループを選択] を選択します インスタンスの作成中に作成したセキュリティ グループを確認してください。
[キー ペア] で、インスタンスの作成中に作成したキー ペアを選択します。
[起動構成を作成] をクリックします .
Auto Scaling グループの作成
EC2 ダッシュボードに移動し、Auto Scaling に移動します>> Auto Scaling グループ
[Auto Scaling グループの作成] をクリックします .
名前を入力してください あなたのグループのために。
Launch テンプレートで、[Switch to launch configuration] をクリックします。 .
[次へ] をクリックします。
サブネットでいずれかを選択します。
[詳細オプション] で、[既存のロード バランサーにアタッチ] を選択します。
作成してロード バランサーにアタッチしたターゲット グループを選択します。
[グループ サイズ] には、独自の値を入力できます。
スケーリング ポリシーで、ターゲット トラッキング スケーリング ポリシーを選択します .
[次へ] をクリックします。
必要に応じて通知を構成し、セットアップを完了できます。
Route 53 をロード バランサーに設定する
Route 53 ホスト ゾーンに移動し、ドメイン名をクリックします。
A レコードを編集し、[トラフィックのルーティング] で [アプリケーション ロード バランサー] を選択し、ロード バランサーを作成したリージョンを選択して、ロード バランサーを選択します。
[保存] をクリックします .
ロード バランシングでグローバル アクセラレータを有効にしている場合は、ロード バランサの代わりにアクセラレータを選択できます
これで、CPU 使用率が高いときに WordPress Web サイトを自動的にスケーリングすることができました。
パート 1 です。次のパートでは、AWS S3 を構成し、メディア ライブラリに S3 を使用するように WordPress を構成し、AWS マネージド SSL をリクエストし、ロード バランサーを作成し、Auto Scaling グループを作成し、ドメインをロード バランサーにポイントします。
認定 AWS プロフェッショナルになる この簡単に学べるコースを今すぐ受講してください。
結論
これで、Elastic Load Balancing とトラフィック中のインスタンスの自動スケーリングを使用して AWS で高可用性 WordPress をセットアップする方法を学びました。
御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。