ArmベースのAmpere A1 Computeリソースを使用したMySQL DatabaseおよびMatomo AnalyticsでのWordPressの設定
Oracle Cloud InfrastructureのOracle Cloud Free TierでArmベースのAmpere A1コンピュート・シェイプを使用してWordPress Webページおよびブログをホストする柔軟性とコスト上の利点を活用します。
WordPressプラットフォームのユーザーフレンドリな機能により、CMS (Most Populad Content Management System)の1つになります。WordPressを次のものと組み合せて、わかりやすいように強力で高速にします。
- バランスのとれたパフォーマンスと、コンテナ化されたワークロードおよびWebアプリケーションによる最適な価格ポイントを実現するアームベースのAmpere A1コンピュート
- コンテンツおよび分析用のリレーショナル・データのオープン・ソース・ストレージ用のMySQL Database
- オープンソースのクライアント所有のデータ分析のためのMatomo分析
アーキテクチャ
この参照アーキテクチャには、WordPressコンテンツ管理システム、Matomo分析およびMySQL DatabaseをOracle Cloud InfrastructureにデプロイするためのTerraformコードが含まれています。
次のダイアグラムにこのアーキテクチャを示します。
アーキテクチャには次のコンポーネントがあります。
- リージョン
Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(国間または大陸間で)分離できます。
- 可用性ドメイン
可用性ドメインは、リージョン内のスタンドアロンの独立したデータ・センターです。各可用性ドメインの物理リソースは、フォルト・トレランスを提供する他の可用性ドメインのリソースから分離されます。可用性ドメインは、電源や冷却、内部の可用性ドメイン・ネットワークなどのインフラストラクチャを共有しません。そのため、1つの可用性ドメインでの障害が、リージョン内の他の可用性ドメインに影響を与える可能性が低くなります。
- フォルト・ドメイン
フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各可用性ドメインには、電源とハードウェアが独立した3つのフォルト・ドメインがあります。複数のフォルト・ドメインにリソースを分散する場合、アプリケーションでは、フォルト・ドメイン内の物理的なサーバー障害、システム・メンテナンスおよび電源障害を許容できます。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定するカスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNを使用すると、ネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNは、リージョンまたは可用性ドメインにスコープ指定できるサブネットにセグメント化できます。各サブネットは、VCN内の他のサブネットと重複しない連続したアドレス範囲で構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックまたはプライベートにできます。
- ネットワーク・セキュリティ・グループ(NSG)
NSGは、クラウド・リソースの仮想ファイアウォールとして機能します。Oracle Cloud Infrastructureのゼロ信頼セキュリティ・モデルでは、すべてのトラフィックが拒否され、VCN内のネットワーク・トラフィックを制御できます。NSGは、単一のVCN内の指定されたVNICのセットにのみ適用されるイングレス・セキュリティ・ルールおよびエグレス・セキュリティ・ルールのセットで構成されます。
- MySQL Database
この参照アーキテクチャでは、MySQL Databaseはクラスタではなく仮想マシンにデプロイされ、WordPressおよびMatomo分析のコンテンツ情報をホストするために使用されます。
- WordPress
WordPressコンテンツ管理システム(CMS)を使用すると、完全に機能するブログ・サイトまたは汎用のWebサイトを構築できます。このアーキテクチャでは、通常のコンピュート・インスタンスを使用してWordPress CMSエンジンをデプロイします。
- Compute
Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプでコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成したら、安全にアクセスし、再起動し、ボリュームをアタッチおよびデタッチし、不要になったときに終了できます。
- Matomo
Matomoは、WordPress実装から情報を収集および分析するために使用できるWeb分析プラットフォームです。
推奨事項
実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。開始点として次の推奨事項を使用します。
- VCN
VCNを作成する場合、VCNのサブネットにアタッチする予定のリソースの数に基づいて、必要なCIDRブロックの数と各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ内)と重複しないCIDRブロックを選択します。
VCNを作成した後、CIDRブロックを変更、追加および削除できます。
サブネットを設計する際には、トラフィック・フローとセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能できる同じサブネットにアタッチします。
リージョナル・サブネットを使用します。
- セキュリティ・リスト
セキュリティ・リストを使用して、サブネット全体に適用されるイングレス・ルールおよびエグレス・ルールを定義します。
- 仮想マシン
仮想マシン(VM)は、高可用性のために複数のフォルト・ドメインに分散されます。VM.Standard.A1.Flex、1 OCPU、6 GBメモリーおよび1 Gbpsネットワーク帯域幅を使用します。
- コンピュート・シェイプ
このアーキテクチャでは、WordPress CMS、MatomoおよびMySQL用のAmpere A1シェイプのOracle Linux 8 OSイメージを使用します。アプリケーションのリソース・ニーズが異なる場合は、別のシェイプを選択できます。
- MySQL Database
このアーキテクチャでは、WordPress CMSはリレーショナル・データをMySQL Databaseに格納します。最新バージョンのMySQLを使用することをお薦めします。
注意事項
Oracle Cloud InfrastructureにWordPressをデプロイする場合は、スケーラビリティ、セキュリティおよび可用性について次の点を考慮してください。
- WordPressのスケーラビリティ
インスタンス・プールおよび自動スケーリング機能を使用して、WordPress CMSをスケーリングできます。
インスタンス・プールを使用すると、同じリージョン内の同じ構成に基づいて複数のコンピュート・インスタンスをプロビジョニングおよび作成できます。
自動スケーリングでは、CPU使用率などのパフォーマンス・メトリックに基づいて、インスタンス・プール内のコンピュート・インスタンスの数を自動的に調整できます。自動スケーリングは、高い需要期間中のユーザーに一貫したパフォーマンスを提供し、低い需要期間中のコストを削減するのに役立ちます。
- アプリケーションの可用性
フォルト・ドメインは、可用性ドメイン内で最善のリジリエンスを提供します。可用性を高める必要がある場合は、複数の可用性ドメインまたは複数のリージョンの使用を検討してください。
- セキュリティ・ポリシー
ポリシーを使用して、誰がどのOracle Cloud Infrastructureリソースにアクセスできるか、およびどのようにアクセスできるかを制限します。
- ネットワーク・セキュリティ
ネットワーキング・サービスは、セキュリティ・ルールを使用してトラフィックをパケット・レベルで制御する2つの仮想ファイアウォール機能(セキュリティ・リストとネットワーク・セキュリティ・グループ(NSG))を提供します。NSGは、単一のVCN内の選択したVNICのセットにのみ適用されるイングレス・セキュリティ・ルールおよびエグレス・セキュリティ・ルールのセットで構成されます。たとえば、VCNの複数層アプリケーションのWeb層でWebサーバーとして機能するすべてのコンピュート・インスタンスを選択できます。
NSGセキュリティ・ルールは、セキュリティ・リスト・ルールと同様に機能します。ただし、NSGセキュリティ・ルールのソースまたは宛先の場合は、CIDRブロックのかわりにNSGを指定できます。そのため、同じVCN内の複数のNSG間のトラフィックまたは単一のNSG内のトラフィックを制御するセキュリティ・ルールを簡単に記述できます。データベース・システムの作成時に、1つ以上のNSGを指定できます。既存のデータベース・システムを更新して、1つ以上のNSGを使用することもできます。
デプロイ
このリファレンス・アーキテクチャのTerraformコードは、GitHubで入手できます。シングルクリックでコードをOracle Cloud Infrastructure Resource Managerにプルし、スタックを作成してデプロイできます。または、Terraformコマンドライン・インタフェース(CLI)を使用して、GitHubからコンピュータにコードをダウンロードし、コードをカスタマイズし、アーキテクチャをデプロイすることもできます。