GNU/Linux >> Linux の 問題 >  >> Linux

AWS EC2 で負荷分散された WordPress ウェブサイトをセットアップする – パート 2

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 をセットアップする方法を学びました。

御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。


Linux
  1. Terraformを使用してAWSでEC2インスタンスを作成します

  2. AWS EC2 ubuntu インスタンスのディスク容量を増やす

  3. EC2 を使用して AWS で SonarQube をセットアップする

  1. Terraformを使用してAWSEC2インスタンスを起動する方法

  2. AWS EC2 で負荷分散された WordPress ウェブサイトをセットアップする – パート 1

  3. AWS EC2 - デバイスに空き容量がありません

  1. AWSアプリケーションロードバランサーでホストベースのルーティングを設定する方法

  2. AmazonAWSでLinuxサーバーをセットアップする方法

  3. AWSでElasticBeanstalkアプリケーションをセットアップする方法