Suche senden
Hochladen
堅牢&運用楽々な WordPress を Azure App Service で
•
0 gefällt mir
•
1,239 views
Kuniteru Asami
Folgen
今の Azure App Service での WordPress のお話しです。 2020/03/13 @JAZUG TOHOKU
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 25
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
スケールアウトできるManaged RDBMS - Azure Cosmos DB for PostgreSQL
スケールアウトできるManaged RDBMS - Azure Cosmos DB for PostgreSQL
Kuniteru Asami
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
Kuniteru Asami
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
Kuniteru Asami
Understanding Azure Application Gateway
Understanding Azure Application Gateway
Kuniteru Asami
Azure PaaS とのよりセキュアな接続 - 初級編
Azure PaaS とのよりセキュアな接続 - 初級編
Kuniteru Asami
あらためて Azure virtual network
あらためて Azure virtual network
Kuniteru Asami
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Kuniteru Asami
Introduction of Azure Database for MySQL / PostgreSQL
Introduction of Azure Database for MySQL / PostgreSQL
Kuniteru Asami
Empfohlen
スケールアウトできるManaged RDBMS - Azure Cosmos DB for PostgreSQL
スケールアウトできるManaged RDBMS - Azure Cosmos DB for PostgreSQL
Kuniteru Asami
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
Kuniteru Asami
Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
Kuniteru Asami
Understanding Azure Application Gateway
Understanding Azure Application Gateway
Kuniteru Asami
Azure PaaS とのよりセキュアな接続 - 初級編
Azure PaaS とのよりセキュアな接続 - 初級編
Kuniteru Asami
あらためて Azure virtual network
あらためて Azure virtual network
Kuniteru Asami
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Kuniteru Asami
Introduction of Azure Database for MySQL / PostgreSQL
Introduction of Azure Database for MySQL / PostgreSQL
Kuniteru Asami
クラウド時代のWordPressプラットフォーム -WordCamp Tokyo 2016-
クラウド時代のWordPressプラットフォーム -WordCamp Tokyo 2016-
Kuniteru Asami
OSS/linux on Azureの活用方法と勘所
OSS/linux on Azureの活用方法と勘所
Kuniteru Asami
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Kuniteru Asami
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
Kuniteru Asami
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年
Kuniteru Asami
AzureでOracle
AzureでOracle
Kuniteru Asami
SMTPサービス SendGridを契約する
SMTPサービス SendGridを契約する
Kuniteru Asami
インストールマニアックス振り返り
インストールマニアックス振り返り
Kuniteru Asami
PHP on Azure
PHP on Azure
Kuniteru Asami
第2回JAZUG総会 LT インストールマニアックス・ファイナル
第2回JAZUG総会 LT インストールマニアックス・ファイナル
Kuniteru Asami
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Weitere ähnliche Inhalte
Mehr von Kuniteru Asami
クラウド時代のWordPressプラットフォーム -WordCamp Tokyo 2016-
クラウド時代のWordPressプラットフォーム -WordCamp Tokyo 2016-
Kuniteru Asami
OSS/linux on Azureの活用方法と勘所
OSS/linux on Azureの活用方法と勘所
Kuniteru Asami
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Kuniteru Asami
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
Kuniteru Asami
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年
Kuniteru Asami
AzureでOracle
AzureでOracle
Kuniteru Asami
SMTPサービス SendGridを契約する
SMTPサービス SendGridを契約する
Kuniteru Asami
インストールマニアックス振り返り
インストールマニアックス振り返り
Kuniteru Asami
PHP on Azure
PHP on Azure
Kuniteru Asami
第2回JAZUG総会 LT インストールマニアックス・ファイナル
第2回JAZUG総会 LT インストールマニアックス・ファイナル
Kuniteru Asami
Mehr von Kuniteru Asami
(10)
クラウド時代のWordPressプラットフォーム -WordCamp Tokyo 2016-
クラウド時代のWordPressプラットフォーム -WordCamp Tokyo 2016-
OSS/linux on Azureの活用方法と勘所
OSS/linux on Azureの活用方法と勘所
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
CDP 勉強会 - Multiple Datacenter Deployment ガイダンス
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年
AzureでOracle
AzureでOracle
SMTPサービス SendGridを契約する
SMTPサービス SendGridを契約する
インストールマニアックス振り返り
インストールマニアックス振り返り
PHP on Azure
PHP on Azure
第2回JAZUG総会 LT インストールマニアックス・ファイナル
第2回JAZUG総会 LT インストールマニアックス・ファイナル
Kürzlich hochgeladen
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Kürzlich hochgeladen
(11)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
堅牢&運用楽々な WordPress を Azure App Service で
1.
堅牢 & 運用楽々
な WordPress を Azure App Service で 株式会社 pnop / Cloudlive 株式会社 浅見 城輝 2020/03/13 @JAZUG TOHOKU
2.
© 2020 pnop ©
2011 Microsoft Corporation All Rights Reserved. About me kuniteru.asami Find me Database Azure 2012~ Microsoft Azure
3.
© 2020 pnop はじめに Azure
App Service の WordPress の構築については、 App Service(リリース当初は Web Apps)の登場と共に 何度も紹介されています。 しかしながら、App Service は日々進化しているため、最新の機能 (Preview を含む)なども取り入れ、今 Azure App Service に WordPress を作るならというお話しをさせていただきます。 ※ 2020/03/13 時点の情報がベースとなります ※ Preview 機能も紹介していますが、Preview であることは 明記していません
4.
© 2020 pnop WordPress
のよくある課題 応答速度の向上 セキュリティ 可用性の向上
5.
© 2020 pnop 応答速度を向上したい よくある
WordPress の高速化手法 Azure App Service での課題
6.
© 2020 pnop WordPress
の Plugin と Azure の機能を組み合わせて高速化する Azure Cache for Redis に Object Cache を持つことで DB へのア クセスを軽減 • Redis Object Cache Plugin CDNを利用し (Azure CDN or Azure Front Door) グローバルに分散したコンテン ツ キャッシュを持つ よくある WordPress の高速化手法と Azure での対応 ページをキャッシュする • WP Super Cache など 最新バージョンの PHP の利用 • App Service では最新への バージョンアップが容易 • リビジョンレベルは 自動アップデート WordPress Plugin の活用 App Service のスペックを上げる • Premium (max): CPU 4 core, RAM 14 GB, SSD • Isolated (max): CPU 8 core, RAM 32 GB, SSD App Service のインスタンスを 増やし、アクセスを分散する • 負荷状況に応じて自動で 増減することでコストを 抑制 App Service の性能向上 Azure DB for MySQL/MariaDB の スペックを上げる • (max) CPU 64 core, RAM 320 GB データベースの読取レプリカで、 データベースへのアクセスを 分散する • HyperDB Plugin DB の 性能向上 外部 キャッシュ の利用 PHP ランタイム の高速化 PHP アクセラレーターの利用 コードを圧縮し 通信データ量を減らす • Autoptimize など
7.
© 2020 pnop Azure
App Service での課題 Azure App Service では、 一般に WordPress をインストールする領域のストレージが遅め 速度が遅い領域での I/O を減らすために、データの永続化および App Service インスタンス間で の共有が必要なディレクトリにのみ、Azure Files をマウントする(一部のデプロイ方法) Premium File Storage をマウントしてそこにアプリケーションを展開(App Service for Container) ← デフォルトでは home 以下が Azure Files をマウントした共有ストレージ ← wwwroot が Web サイトのドキュメント ルート / (D:¥) home site wwwroot index.php wp_content ← メディア や テーマ、プラグインのファイルが配置される(要永続化)
8.
© 2020 pnop セキュリティ 最新バージョンへの更新 Web
Application Firewall 管理サイトの認証
9.
© 2020 pnop 最新バージョンへの更新 古い
WordPress で運用を続けたために、既知のセキュリティ ホールをつかれ、 コンテンツを改竄されるなどのインシデントが頻繁に発生している WordPress の更新 WordPress の機能としての自動更新 WordPress アプリケーションのファイル全てを永続化領域(Azure Files)に 保存している場合に限り利用できる wp_content だけを永続化領域に保存しているなどの場合、自動更新後のスケール アウトや障害による インスタンスの再起動により、永続化領域以外のファイルがデプロイ直後のものに戻ってしまう Official Docker Image を利用し、Continuous Deploy を有効にすれば、自動更新される OS や httpd、PHP などの更新 基本的には Azure が自動で最新に更新してくれる ただし App Service for Container の場合は、その Container Image に依存する Continuous Deploy を有効にしている場合は、Image が更新されれば App Service も更新される
10.
© 2020 pnop Web
Application Firewall WordPress を対象とした攻撃は日々大量に来る WAF を通して App Service にアクセスさせることで安全性を高める Azure Application Gateway Azure Front Door Virtual Machines (VMSS) に セットアップした 3rd-Party の WAF 製品 3rd-Party が提供している Azure 外の WAF サービス ※ 実は App Service 内にも WAF の機能は持っているが、ほとんど情報もなく、利用事例は極端に少ない
11.
© 2020 pnop WordPress
の管理サイトへのログインを試みる攻撃も多い WordPressが独自に実装する認証だけではなく、 App Service の Easy Auth 機能あるいは WordPress の Plugin により 外部 IdP が提供する安全な認証を適用することができる とても簡単な設定だけで、リスクの低い認証を実現できる MFA、アクセス元 IP 制限、ログイン監査 など Easy Auth が対応する認証プロバイダー 管理サイトの認証 Azure Active Directory Microsoft Account Facebook Google Azure AD B2C に対応する IdP Twitter And more…
12.
© 2020 pnop App
Service や Azure DB for MySQL は通常、VNet には所属していない。 そのためそれらの間は通常はグローバル ネットワークでの通信となる が、リージョン VNet 統合と PaaS への VNet サービス エンドポイントか Private Link を組み合わせることで、通信経路を制限することができる。 App Service から Azure DB for MySQL への通信 (リージョン)VNet 統合 + Private Link VNet グローバルネット (IP 制限) リージョン VNet 統合 + サービス エンドポイント VNet My App Service 11.11.11.11 22.22.22.22
13.
© 2020 pnop 可用性の高い環境
14.
© 2020 pnop App
Service の可用性 App Service は インスタンスを複数にすると可用性が上がる App Service Plan Load Balancer Azure DB fro MySQL Instance #1 Instance #2 Azure Files
15.
© 2020 pnop データベースの高い可用性とレプリケーション Azure
DB for MySQL/MariaDBでは、標準で高可用性構成がとられる ディザスタ リカバリあるいは読取分散による高速化のために、 同構成の読取専用レプリカを作ることも可能 Standard 可用性モデル Gateway Ring Primary Database Engine spare mount Data files Log files failover Page Blob (Premium) spare Client ※ Premium 可用性モデルでは、読取専用として Secondary にアクセスすることも可能
16.
© 2020 pnop お薦めの構成
17.
© 2020 pnop 構成案 コンテンツ 管理者 読取レプリカ レプリケーション /wp-admin
への アクセスはフィルタ アクセス制限 コンテンツ管理者 /wp-admin への アクセスはフィルタ コンテンツ管理用 WordPress /wp-contents Azure AD 認証 プライマリ mount mount アクセス制限 CDN WAF CDN WAF Azure Front Door Azure AD App Service Azure Storage Azure DB for MySQL Azure AD 認証
18.
© 2020 pnop App
Service に対するアプリケーションのデプロイ方法 ZIP / WAR file Bitbucket DropBox GitHubローカル Git OneDrive Azure Repos Docker FTP(S) Azure Marketplace
19.
© 2020 pnop Azure
Marketplace で提供されている WordPress
20.
© 2020 pnop Azure
Marketplace で提供されている WordPress https://github.com/azureappserviceoss/wordpress-azure https://hub.docker.com/r/appsvcorg/wordpress-alpine-php:0.72
21.
© 2020 pnop お薦めの
WordPress デプロイ先とデプロイ方法 App Service for Container に対し Docker Hub の WordPress Docker Official Image Docker Compose で Continuous Deploy
22.
© 2020 pnop Docker
Compose – App Service for Linux docker-compose.yml ファイルの例 version: '3.5' services: wordpress: image: wordpress ports: - "8080:80" restart: always environment: WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST} WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME} WORDPRESS_DB_USER: ${WORDPRESS_DB_USER} WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD} # WORDPRESS_TABLE_PREFIX: # WORDPRESS_AUTH_KEY: # WORDPRESS_SECURE_AUTH_KEY: # WORDPRESS_LOGGED_IN_KEY: # WORDPRESS_NONCE_KEY: # WORDPRESS_AUTH_SALT: # WORDPRESS_SECURE_AUTH_SALT: # WORDPRESS_LOGGED_IN_SALT: # WORDPRESS_NONCE_SALT: # WORDPRESS_DEBUG: WORDPRESS_CONFIG_EXTRA: | define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL); volumes: - "${WEBAPP_STORAGE_HOME}/site/wwwroot/wp- content:/var/www/html/wp-content"
23.
© 2020 pnop Docker
Compose – App Service for Linux 接続先 MySQL 情報や /home 以下の永続化設定 App Service のアプリケーション設定として以下を追加/変更する WEBSITES_ENABLE_APP_SERVICE_STORAGE(変更) false → true に変更 WORDPRESS_DB_HOST(追加) MySQL ホスト名 WORDPRESS_DB_NAME(追加) MySQL データベース名 WORDPRESS_DB_USER(追加) MySQL ログインユーザー名 WORDPRESS_DB_PASSWORD(追加) MySQL ログインパスワード
24.
© 2020 pnop Tips
25.
© 2020 pnop WordPress
on Azure App Service Tips Azure Database for MySQL / MariaDB と SSL 通信するために wp-config.php に以下を追加 define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL) 外部の SMTP サーバーを利用したメール送信 SMTP サーバーを利用する WordPress プラグインで SendGrid などを利用 SendGrid - https://wordpress.org/plugins/sendgrid-email-delivery-simplified/ メディア ファイルへのアクセス メディア ファイルの保存先に Azure Blob Storage を利用する WordPress プラグイン Microsoft Azure Storage for WordPress - https://wordpress.org/plugins/windows-azure-storage/ メディア ファイルへのアクセスに CDN を利用するためのプラグインを利用 メディアファイルの変更時に、CDN にキャッシュされたファイルをリフレッシュする
Jetzt herunterladen