Fastly サービスの設定
Fastly は、クラウドインフラストラクチャー上のAdobe Commerceのステージング環境および実稼動環境で必要です。
Fastly は、Varnish と連携して高速キャッシュ機能と、静的アセット用のコンテンツ配信ネットワーク(CDN)を提供します。 また、Fastly は、サイトとクラウドインフラストラクチャを保護するための web アプリケーションファイアウォール(WAF)も提供しています。 悪意のあるトラフィックや攻撃からサイトやクラウドインフラストラクチャを保護するには、すべての受信サイトトラフィックを Fastly 経由でルーティングします。
サイト開発プロセスの早い段階で Fastly を有効にし、設定し、テストして、サイトへの安全なアクセスを可能にするには、次の手順を実行します。
- ステージング環境と実稼動環境での Fastly 資格情報の取得
- Fastly CDN キャッシュの有効化
- Fastly VCL スニペットのアップロード
- Fastly サービスにトラフィックをルーティングするように DNS 設定を更新します。
- Fastly キャッシュのテスト
プロジェクトのプロビジョニング時に、Adobeはクラウドインフラストラクチャ上のAdobe Commerceの Fastly サービスアカウント にプロジェクトを追加し、スターターインスタンスと Pro ステージングおよび実稼動 master
境の Fastly アカウント資格情報を作成します。 各環境には一意の資格情報があります。
Adobe Commerce管理者から Fastly CDN サービスを設定し、Fastly API リクエストを送信するには、Fastly 資格情報が必要です。
Fastly 管理ダッシュボードへのアクセス
クラウドインフラストラクチャー上のAdobe Commerceを使用して、Fastly Admin Dashboard に直接アクセスすることはできません。
Adobe Commerce管理者を使用して、お使いの環境の Fastly 設定を確認および更新します。 管理者の Fastly 機能を使用して問題を解決できない場合は、Adobe Commerce サポートチケット を送信します。
Fastly 資格情報の取得
ステージング環境と実稼動環境用の Fastly サービス ID および API トークンは、クラウドプロジェクト環境に保存されます。 両方の環境で資格情報が必要です。
Cloud Pro プロジェクトの資格情報の取得:
Cloud Pro プロジェクトでは、IaaS マウントされた共有ディレクトリの資格情報を確認します。
-
SSH を使用してサーバーに接続します。
-
/mnt/shared/fastly_tokens.txt
ファイルを開いて、資格情報を取得します。ステージング環境と実稼動環境には、一意の資格情報があります。 各環境の資格情報を取得する必要があります。
クラウドスタータープロジェクトの資格情報の取得:
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-cloud
CLI を使用して Fastly 環境変数を リストおよび確認 します。code language-bash magento-cloud variable:get -e <environment-ID>
トラブルシューティング
-
ステージング環境または実稼動環境の Fastly 資格情報が見つからない場合は、Adobe カスタマーテクニカルアドバイザー(CTA)にお問い合わせください。
認証情報を保護
API トークンを、サポートチケット、公開フォーラム、公開場所で共有しないでください。 さらに、API トークンをコードリポジトリにコミットしないでください。リポジトリには、機密情報を含まない不変ファイルのみを含める必要があります。
Adobe Commerce サポートはすでに必要なキーにアクセスできるので、サポートを求める際に API トークンを提供する必要はありません。
API トークンが公開されて共有されたり、サポートチケットに添付されたりした場合は、侵害されたと見なされます。 その場合、Adobeは新しいトークンを生成する必要があります。
Fastly キャッシュの有効化
Fastly サービスを有効にして設定するには、次のコンポーネントが必要です。
-
最新バージョンの Fastly CDN for Magento 2 モジュール がステージング環境と実稼動環境にインストールされています。 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 トークン) を使用します。 -
「認証情報をテスト」をクリックします。
-
テストが成功した場合は、[構成の保存] をクリックし、キャッシュをクリアします。
テストが失敗した場合は、正しいサービス 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は、実稼動環境、ステージング環境、スターター実稼動環境ごとに 1 つの証明書を提供し、その環境内のすべてのドメインを保護します。 提供された証明書について詳しくは、 クラウドインフラストラクチャー上のAdobe Commerce用Adobe SSL (TLS)証明書 を参照してください。
Adobe Commerce環境に対して SSL/TLS 証明書を有効にするには、Adobeの自動処理で次の手順が実行されます。
- ドメイン所有権を検証します
- ストアに対して指定されたトップレベルとサブドメインに対応する Let’s Encrypt SSL/TLS 証明書をプロビジョニングします
- サイトが稼動しているときに証明書をクラウド環境にアップロードします
この自動処理では、ドメイン検証情報を提供するために、サイトの DNS 設定を更新する必要があります。 次のいずれかの方法 使用します
- 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>.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: 1.2.228 < X-Cache: HIT, MISS
ヘッダーに正しい値がない場合は、 応答ヘッダーで見つかったエラーの解決 のトラブルシューティングのヘルプを参照してください。
Fastly モジュールのアップグレード
Fastly は、Magento 2 モジュール用の Fastly CDN を更新して、問題の解決、パフォーマンスの向上、新機能の提供を行います。
Adobeでは、ステージング環境および実稼動環境の Fastly モジュールを 最新バージョン に更新することをお勧めします。
モジュールのバージョンとアップデートの最新情報については、GitHub の Fastly CDN for Magento2 モジュールのリリースノート を参照してください。
モジュールを更新したら、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 サービスを確認したら、実稼動環境でアップグレードプロセスを繰り返します。