Fastly サービスの設定
Fastlyは、Adobe Commerceのクラウドインフラストラクチャ上のステージング環境および本番環境に必要です。
FastlyはVarnishと連携して、静的アセットに高速キャッシュ機能とコンテンツ配信ネットワーク(CDN)を提供します。 また、Fastlyは、サイトとクラウドインフラストラクチャを保護するためのweb アプリケーションファイアウォール(WAF)も提供しています。 悪意のあるトラフィックや攻撃からサイトとクラウドインフラストラクチャを保護するには、Fastlyを介してすべての着信サイトトラフィックをルーティングします。
サイト開発プロセスの初期段階でFastlyを有効、設定、テストして、サイトへの安全なアクセスを可能にするには、次の手順を実行します。
- ステージング環境と実稼動環境に対するFastlyの認証情報を取得
- Fastly CDN キャッシュの有効化
- Fastly VCL スニペットのアップロード
- Fastly サービスにトラフィックをルーティングするためのDNS設定の更新
- Fastly キャッシュのテスト
プロジェクトのプロビジョニング中に、Adobeはクラウドインフラストラクチャ上のAdobe CommerceのFastly サービスアカウント にプロジェクトを追加し、Starter masterおよびPro ステージング環境と実稼動環境のFastly アカウント資格情報を作成します。 各環境には一意の資格情報があります。
Adobe Commerce管理者からFastly CDN サービスを設定し、Fastly API リクエストを送信するには、Fastly認証情報が必要です。
Fastly管理者ダッシュボードへのアクセス
Adobe Commerceクラウドインフラストラクチャでは、Fastly管理者ダッシュボードに直接アクセスすることはできません。
Adobe Commerce管理者を使用して、お使いの環境のFastly設定を確認し、更新します。 AdminでFastly機能を使用して問題を解決できない場合は、Adobe Commerce サポートチケット を送信します。
Fastly認証情報を取得
ステージング環境と実稼動環境のFastly サービス IDとAPI トークンは、Cloud プロジェクト環境に保存されます。 両方の環境の資格情報が必要です。
Cloud Pro プロジェクトの資格情報を取得:
Cloud Pro プロジェクトで、IaaS マウントされた共有ディレクトリから資格情報を確認します。
-
SSHを使用してサーバーに接続します。
-
/mnt/shared/fastly_tokens.txtファイルを開いて、資格情報を取得します。ステージング環境と実稼動環境には一意の資格情報があります。 各環境の資格情報を取得する必要があります。
Cloud スタータープロジェクトの資格情報を取得:
Cloud Starter プロジェクトで、Cloud ConsoleまたはCloud CLIを使用して資格情報を取得します。
-
Cloud Consoleから、環境設定で次の環境変数を確認します。
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_API_KEY -
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_SERVICE_ID
-
-
ローカルワークスペースのコマンドラインから、
magento-cloudCLIを使用してFastly環境変数を一覧表示およびレビューします。code language-bash magento-cloud variable:get -e <environment-ID>
トラブルシューティング
-
ステージング環境または実稼動環境のFastly資格情報が見つからない場合は、Adobe カスタマーテクニカルアドバイザー(CTA)にお問い合わせください。
資格情報の保護
サポートチケット、公開フォーラム、または公開場所でAPI トークンを共有しないでください。 さらに、API トークンをコードリポジトリにコミットしないでください。リポジトリには、機密情報のない不変ファイルのみを含める必要があります。
Adobe Commerce サポートは既に必要なキーにアクセスできるので、サポートを求める際にAPI トークンを提供する必要はありません。
API トークンが公開で共有されたり、サポートチケットに添付されたりした場合、そのトークンは侵害されたと見なされます。 このような場合、Adobeは新しいトークンを生成する必要があります。
Fastly キャッシュを有効にする
Fastly サービスを有効にして設定するには、次のコンポーネントが必要です。
-
Magento 2 モジュール 🔗用Fastly CDNの最新バージョンが、ステージング環境および実稼動環境にインストールされています。 Fastlyのアップグレード を参照してください。
-
クラウドインフラストラクチャのステージング環境と実稼動環境でのAdobe CommerceのFastly資格情報
ステージングおよび実稼動環境でFastly CDN キャッシュを有効にするには:
-
管理者に ログインします。
-
ストア / 設定/構成 / 詳細 / システムをクリックし、フルページキャッシュを展開します。
-
Caching Application セクションで、システム値から選択範囲を削除し、ドロップダウンリストから Fastly CDN を選択します。
-
Fastly Configurationを展開し、 キャッシングオプションを選択します。
-
キャッシュオプションを設定したら、ページ上部の「設定を保存」をクリックします。
-
通知に従ってキャッシュをクリアします。
-
Stores > Settings > Configuration > Advanced > System > Fastly Configurationに戻って、Fastlyの設定を続行します。
Fastly認証情報をテストする
-
管理者で、Stores / 設定/Configuration / Advanced / System / Fastly Configurationに移動します。
-
必要に応じて、プロジェクト環境の Fastly サービス ID と API トークン の値を追加します。
note NOTE Fastly API トークンを作成するリンクを選択しないでください。 代わりに、Adobe🔗が提供するFastly資格情報(サービス IDおよびAPI トークン)を使用してください。 -
「資格情報をテスト」をクリックします。
-
テストが成功した場合は、設定を保存をクリックし、キャッシュをクリアします。
テストが失敗した場合は、正しいサービス IDとAPI トークンの値が現在の環境の資格情報と一致していることを確認します。
テストが再度失敗した場合は、Adobe Commerce サポートチケットを送信するか、Adobeの担当者にお問い合わせください。 Pro プロジェクトの場合は、実稼動サイトとステージングサイトのURLを含めます。 スタータープロジェクトの場合は、
MasterとステージングサイトのURLを含めます。
VCLをFastlyにアップロード
Fastly モジュールを有効にした後、デフォルトのVCL コード をFastly サーバーにアップロードします。 このコードでは、Adobe Commerce on cloud インフラストラクチャのキャッシュやその他のFastly CDN サービスを有効にするための一連のVCL スニペットを提供します。
Fastly VCLをアップロードするには:
-
次の図に示すように、Fastly Configuration セクションで、VCLをFastlyにアップロードをクリックします。
-
アップロードが完了したら、ページ上部の通知に従ってキャッシュを更新します。
SSL/TLS証明書のプロビジョニング
Adobeでは、Fastlyからの安全なHTTPS トラフィックを提供するために、Domain-Validated Let’s Encrypt SSL/TLS証明書を提供しています。 Adobeは、Pro実稼動環境、ステージング環境およびStarter実稼動環境ごとに1つの証明書を提供し、その環境のすべてのドメインを保護します。 指定された証明書について詳しくは、 クラウドインフラストラクチャ上のAdobe CommerceのAdobe SSL (TLS)証明書を参照してください。
Adobe Commerce環境でSSL/TLS証明書を有効にするには、Adobeの自動処理で次の手順を実行します。
- ドメインの所有権を検証します
- ストアの指定されたトップレベルおよびサブドメインをカバーするLet’s Encrypt SSL/TLS証明書をプロビジョニングします
- サイトの公開時に証明書をクラウド環境にアップロードします
この自動化では、ドメイン検証情報を提供するために、サイトのDNS設定を更新する必要があります。 次のメソッドのうち one を使用してください:
- DNS検証 – ライブサイトの場合は、Fastly サービスを指すCNAME レコードでDNS設定を更新します
- ACME チャレンジ CNAME レコード – 環境内の各ドメインに対してAdobeが提供するACME チャレンジ CNAME レコードを使用して、DNS設定を更新します
ドメインの検証が完了すると、AdobeはLet’s Encrypt TLS/SSL証明書をプロビジョニングし、ライブステージング環境または実稼動環境にアップロードします。 このプロセスには最大12時間かかる場合があります。 Adobeでは、サイト開発とサイト起動の遅延を防ぐために、DNS設定の更新を数日前に完了することをお勧めします。
開発設定を使用したDNS設定の更新
Fastlyの初期設定プロセスでは、次のURLを使用して、ステージング環境と実稼動環境でFastly キャッシュを設定およびテストできます。
-
プロステージングおよび実稼動用:
mcprod.<your-domain>.commcstaging.<your-domain>.com
-
スタータープロダクションのみ:
mcprod.<your-domain>.com
これらのデフォルトのプリプロダクション URLは、プロジェクトのプロビジョニング後に使用できます。 "your-domain"の値は、オンボーディングプロセス中に指定したドメイン名です。
ストア URLからFastly サービスにトラフィックをルーティングするには、DNS設定を更新します。 設定を更新すると、Adobeは必要なSSL/TLS証明書を自動的にプロビジョニングし、クラウド環境にアップロードします。 このプロビジョニングには最大で12時間かかる場合があります。
前提条件:
- Fastly モジュールを有効にします。
- デフォルトのFastly VCL コードをアップロードします。
- 各環境のトップレベルおよびサブドメインのリストをAdobeに提供するか、Adobe Commerce サポートチケットを送信します。
- 指定したドメインがクラウド環境に追加されたことが確認されるまで待ちます。
- スタータープロジェクトで、Fastly サービス設定にドメインを追加します。 ドメインの管理を参照してください。
- DNS設定の更新について詳しくは、DNS レジストラーでドメインサービスの正しい方法を確認してください。
開発用のDNS設定を更新するには:
-
CNAME レコード
prod.magentocloud.map.fastly.netを追加して、プリプロダクション URLをFastly サービスにポイントします。例:table 0-row-2 1-row-2 2-row-2 ドメインまたはサブドメイン CNAME mcprod.your-domain.com prod.magentocloud.map.fastly.net mcstaging.your-domain.com prod.magentocloud.map.fastly.net CNAME レコードがライブの場合、Adobeは証明書をプロビジョニングし、SSL/TLS証明書をアップロードします。
note NOTE 実稼動サイトにapex ドメイン ( your-domain.com)を使用する場合は、Fastly サーバーのIP アドレスを指すようにDNS アドレスレコード (A レコード)を設定する必要があります。 実稼動設定を使用したDNS設定の更新を参照してください。 -
実稼動SSL/TLS証明書のドメイン検証と事前プロビジョニング用にACME チャレンジ CNAME レコードを追加します。例:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 ドメインまたはサブドメイン CNAME _acme-challenge.your-domain.com 0123456789abcdef.validation.magento.cloud _acme-challenge.www.your-domain.com 9573186429stuvwx.validation.magento.com _acme-challenge.mystore.your-domain.com 1234567898zxywvu.validation.magento.cloud _acme-challenge.subdomain.your-domain.com 1098765743lmnopq.validation.magento.cloud note NOTE この例のACME チャレンジレコードは、Adobe Commerce ステージングおよび実稼動サイトのプロビジョニングを目的としないプレースホルダーです。 Adobeにお問い合わせいただくと、プロジェクトの正しいACME チャレンジレコード情報を取得できます。 CNAME レコードを追加した後、Adobeはドメインを検証し、環境のSSL/TLS証明書をプロビジョニングします。 これらのドメインからFastly サービスにトラフィックをルーティングするようにDNS設定を更新すると、Adobeは証明書を環境にアップロードします。
-
Adobe Commerceのベース URLを更新します。
-
SSHを使用して本番環境にログインします。
code language-bash magento-cloud ssh -
Cloud CLIを使用して、ストアのベース URLを変更します。
code language-bash php bin/magento setup:store-config:set --base-url="https://mcstaging.your-domain.com/"
note NOTE Cloud CLIを使用する代わりに、管理者からベース URLを更新できます -
-
Web ブラウザーを再起動します。
-
web サイトのテスト:
Fastly キャッシュのテスト
DNS設定の変更が完了したら、cURL コマンドラインツールを使用して、Fastly キャッシュが機能していることを確認します。
応答ヘッダーを確認するには:
-
ターミナルで、次の
curlコマンドを使用して、ライブサイト URLをテストします。code language-bash curl -vo /dev/null -H Fastly-Debug:1 https://<live-URL>静的ルートを設定していないか、ライブサイト上のドメインのDNS設定を完了していない場合は、DNS名前解決を回避する
--resolveフラグを使用します。code language-bash curl -vo /dev/null -H Fastly-Debug:1 --resolve <live-URL-hostname>:443:<live-IP-address> -
応答で、 ヘッダーを確認して、Fastlyが動作していることを確認します。 例えば、応答に次の一意のヘッダーが表示される必要があります。
code language-http < Fastly-Magento-VCL-Uploaded: 1.2.228 < X-Cache: HIT, MISS
ヘッダーに正しい値がない場合は、トラブルシューティングのヘルプについては、応答ヘッダーで見つかったエラーを解決するを参照してください。
Fastly モジュールのアップグレード
Fastlyは、Fastly CDN for Magento 2 モジュールをアップデートして、問題を解決し、パフォーマンスを向上させ、新機能を提供します。
Adobeでは、ステージング環境および実稼動環境のFastly モジュールを最新バージョン に更新することをお勧めします。
モジュールバージョンとアップデートの最新情報については、GitHubのFastly CDN for Magento2 モジュール 🔗の リリースノートを参照してください。
モジュールを更新したら、VCL コードをアップロードして、変更をFastly サービス設定に適用する必要があります。
Magento 2のFastly CDN モジュールのバージョンを確認するには:
-
Cloud環境のルートディレクトリに変更します。
-
Composerを使用して、インストールされているバージョンを確認します。
code language-bash composer show *fastly* -
最新リリース がインストールされていない場合は、Fastly モジュールをアップグレードする手順を完了します。
Fastly モジュールをアップグレードするには:
-
ローカル統合環境で、次のモジュール情報を使用してFastly モジュールをアップグレード します。
code language-text module name: fastly/magento2 repository: https://github.com/fastly/fastly-magento2.git -
更新をステージング環境にプッシュします。
-
ステージング環境の管理者にログインしてVCL コードをアップロード します。
-
Adobe Commerce ステージング サイトでFastly サービス を確認します。
ステージングサイトでFastly サービスを確認したら、実稼動環境でアップグレードプロセスを繰り返します。