Fastly サービスの設定
Fastly は、クラウドインフラストラクチャー上のAdobe Commerceのステージング環境および実稼動環境で必要です。
Fastly は、Varnish と連携して高速キャッシュ機能と、静的アセット用のコンテンツ配信ネットワーク(CDN)を提供します。 また、Fastly は、サイトとクラウドインフラストラクチャを保護するための web アプリケーションファイアウォール(WAF)も提供しています。 悪意のあるトラフィックや攻撃からサイトやクラウドインフラストラクチャを保護するには、すべての受信サイトトラフィックを Fastly 経由でルーティングします。
サイト開発プロセスの早い段階で Fastly を有効にし、設定し、テストして、サイトへの安全なアクセスを可能にするには、次の手順を実行します。
- ステージング環境と実稼動環境での Fastly 資格情報の取得
- Fastly CDN キャッシュの有効化
- Fastly VCL スニペットのアップロード
- Fastly サービスにトラフィックをルーティングするように DNS 設定を更新します。
- Fastly キャッシュのテスト
Fastly 資格情報の取得
プロジェクトのプロビジョニング時に、Adobeはクラウドインフラストラクチャ上のAdobe Commerceの Fastly サービスアカウントにプロジェクトを追加し、スターターインスタンスと Pro ステージング環境および実稼動 master
境の Fastly アカウント資格情報を作成します。 各環境には一意の資格情報があります。
管理者から Fastly CDN サービスを設定し、Fastly API リクエストを送信するには、Fastly 資格情報が必要です。
以下の方法を使用して、お使いの環境の Fastly サービス ID と API トークンを検索して保存します。
Fastly 資格情報を表示するには:
資格情報の表示方法は、Pro プロジェクトと Starter プロジェクトで異なります。
-
IaaS でマウントされた共有ディレクトリ - Pro プロジェクトでは、SSH を使用してサーバーに接続し、
/mnt/shared/fastly_tokens.txt
ファイルから Fastly 資格情報を取得します。 ステージング環境と実稼動環境には、一意の資格情報があります。 各環境の資格情報を取得する必要があります。 -
ローカルワークスペース – コマンドラインから
magento-cloud
CLI を使用して、Fastly 環境変数を リストおよび確認します。code language-bash magento-cloud variable:get -e <environment-ID>
-
Cloud Console - 環境設定で次の環境変数を確認します。
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_API_KEY
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_SERVICE_ID
-
Fastly キャッシュの有効化
Fastly サービスを有効にして設定するには、次のコンポーネントが必要です。
-
ステージング環境と実稼動環境にインストールされた最新バージョンの Fastly Magento2 用 CDN。 Fastly へのアップグレードを参照してください。
-
クラウドインフラストラクチャステージング環境および実稼動環境でのAdobe Commerce用 Fastly 資格情報
ステージング環境と実稼動環境で Fastly CDN キャッシュを有効にするには:
-
管理者に ログインします。
-
ストア/設定/設定/詳細/システム をクリックし、「フルページキャッシュ」を展開します。
-
キャッシュアプリケーション セクションで、システム値を使用 の選択を解除し、ドロップダウンリストから Fastly CDN を選択します。
-
Fastly 設定 を展開し、 キャッシュオプションを選択します。
-
キャッシュオプションを設定したら、ページ上部の 設定を保存 をクリックします。
-
通知に従ってキャッシュをクリアします。
-
ストア/設定/設定/詳細/システム/Fastly 設定 に戻って、Fastly の設定を続行します。
Fastly 資格情報のテスト
-
管理者で、ストア/設定/設定/詳細/システム/Fastly 設定 に移動します。
-
必要に応じて、プロジェクト環境の Fastly サービス ID と API トークン の値を追加します。
note note NOTE Fastly API トークンを作成するには、リンクを選択しないでください。 代わりに、Adobeが提供する Fastly 認証情報(サービス ID と API トークン)Adobeが使用します。 -
「認証情報をテスト」をクリックします。
-
テストが成功した場合は、[構成の保存] をクリックし、キャッシュをクリアします。
テストが失敗した場合は、正しいサービス ID と API トークンの値が、現在の環境の資格情報と一致することを確認します。
テストが再び失敗した場合は、Adobe Commerce サポートチケットを送信するか、Adobeアカウント担当者にお問い合わせください。 Pro プロジェクトの場合は、実稼動サイトとステージングサイトの URL を含めます。 スタータープロジェクトの場合は、
Master
ージおよびステージングサイトの URL を含めます。
Fastly への VCL のアップロード
Fastly モジュールを有効にしたら、デフォルトの VCL コードを Fastly サーバーにアップロードします。 このコードは、クラウドインフラストラクチャ上のAdobe Commerceのキャッシュおよびその他の Fastly CDN サービスを有効にするための設定を指定する一連の VCL スニペットを提供します。
Fastly VCL をアップロードするには:
-
Fastly 設定 セクションで、VCL を Fastly にアップロード をクリックします(下図を参照)。
-
アップロードが完了したら、ページ上部の通知に従ってキャッシュを更新します。
SSL/TLS 証明書のプロビジョニング
Adobeは、ドメインで検証された Let’s Encrypt SSL/TLS 証明書を提供し、Fastly から安全な HTTPS トラフィックを提供します。 Adobeでは、Pro Production (実稼動)、Staging (ステージング)、Starter Production (スターター)の各環境に対して 1 つの証明書を提供し、その環境内のすべてのドメインを保護します。 提供された証明書について詳しくは、 クラウドインフラストラクチャー上のAdobe CommerceのAdobe SSL (TLS)証明書を参照してください。
Adobe CommerceAdobeで SSL/TLS 証明書を有効にするには、環境の自動処理で次の手順が実行されます。
- ドメイン所有権を検証します
- ストアに対して指定されたトップレベルとサブドメインに対応する Let’s Encrypt SSL/TLS 証明書をプロビジョニングします
- サイトが稼動しているときに証明書をクラウド環境にアップロードします
この自動処理では、ドメイン検証情報を提供するために、サイトの DNS 設定を更新する必要があります。 次のいずれかの方法 使用します
- DNS 検証 - ライブサイトの場合、Fastly サービスを指す CNAME レコードで DNS 設定を更新します
- ACME チャレンジ CNAME レコード - Adobeから提供される ACME チャレンジ CNAME レコードを使用して、環境内の各ドメインの DNS 設定を更新します
ドメインの検証が完了すると、Adobeによって Let’s Encrypt TLS/SSL 証明書がプロビジョニングされ、実稼働のステージング環境または実稼動環境にアップロードされます。 この処理には、最大 12 時間かかる場合があります。 サイトの開発とサイトの立ち上げの遅延を防ぐために、DNS 設定の更新は数日前に行うことをお勧めします。
開発設定で DNS 設定を更新します
Fastly の初期セットアッププロセス中に、次の URL を使用して、ステージング環境と実稼動環境で Fastly キャッシュを設定およびテストできます。
-
ステージング環境および実稼動環境を想定した場合:
mcprod.<your-domain>.com
mcstaging.<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 レコードを追加して、実稼動前の URL を Fastly サービスに指定します。例:
prod.magentocloud.map.fastly.net
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 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 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 NOTE Cloud CLI を使用する代わりに、Admin からベース URL を更新できます -
-
Web ブラウザーを再起動します。
-
Web サイトをテストします。
Fastly キャッシュのテスト
DNS 設定の変更が完了したら、cURL コマンドラインツールを使用して、Fastly キャッシュが機能していることを確認します。
応答ヘッダーを確認するには:
-
ターミナルでは、次の
curl
コマンドを使用してライブサイト URL をテストします。code language-bash curl -vo /dev/null -H Fastly-Debug:1 https://<live-URL>
静的ルートを設定していない場合や、ライブサイト上のドメインの DNS 設定が完了した場合は、
--resolve
フラグを使用して DNS の名前解決をバイパスします。code language-bash curl -vo /dev/null -H Fastly-Debug:1 --resolve <live-URL-hostname>:443:<live-IP-address>
-
応答で headers を検証し、Fastly が機能していることを確認します。 応答に次の一意のヘッダーが表示されます。
code language-http < Fastly-Magento-VCL-Uploaded: yes < X-Cache: HIT, MISS
ヘッダーに正しい値がない場合は、 応答ヘッダーで見つかったエラーの解決のトラブルシューティングのヘルプを参照してください。
Fastly モジュールのアップグレード
Fastly は、Magento 2 用 Fastly CDN モジュールを更新して、問題の解決、パフォーマンスの向上、新機能の提供を行います。
ステージング環境および実稼動環境の Fastly モジュールを 最新バージョンに更新することをお勧めします。
モジュールを更新したら、VCL コードをアップロードして、変更を Fastly サービス設定に適用する必要があります。
Magento 2 の Fastly CDN モジュールのバージョンを確認するには:
-
をクラウド環境のルートディレクトリに変更します。
-
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 サービスを確認したら、実稼動環境でアップグレードプロセスを繰り返します。