- English
- 日本語
Fastly サービスで HTTP/3 を有効にする
最終更新日 2023-09-29
このガイドでは、Fastly サービスで HTTP/3 を有効にする方法をご説明します。
HTTP/3 について
HTTP/3 は、QUIC と呼ばれる Web トランスポートプロトコル標準を使用し、HTTP/1.1 および HTTP/2 接続からのアップグレードオプションとしてエンドユーザーのクライアントに提供できます。エンドユーザーのクライアントはまず古いバージョンの HTTP を使用して Fastly サービスに接続し、Fastly サービスが HTTP/3 を提供する場合にのみ HTTP/3 の使用を試みます。
以前のバージョンの HTTP で使用される TCP トランスポートプロトコルとは異なり、QUIC では TLS 1.3 を使用してすべての接続が保護されます。TLS 1.3 と同様に、QUIC はオプションの 0-RTT 機能をサポートし、再開された接続のレイテンシを削減することができます。
前提条件
Fastly のエッジクラウドサービスで HTTP/3 を使用するには、以下が必要です。
- スーパーユーザーのロールが割り当てられている Fastly ユーザーアカウント
- 適切に設定された Fastly サービスに追加された、HTTP/3 で使用する関連ドメイン
- 使用するドメインの DNS レコードを変更するアクセス権限
制約事項と主要な動作
- HTTP/3 のメリットが最も期待されるのがエンドユーザー接続であるため、現在 Fastly ではエンドユーザー接続のみで HTTP/3 をサポートしています。Fastly とオリジンサーバー間の通信では HTTP/3 をサポートしません。
- HTTP/3 が使用する QUIC トランスポートプロトコルでは、TLS 1.3 を使用してすべての接続を保護する必要があります。つまり、HTTP/3 を使用できるようにドメインを設定する場合、HTTP/1.1 または HTTP/2 を使用しているクライアントに TLS 1.3 を提供するようドメインを設定することになります。
Fastly サービスで HTTP/3 を有効にする
Fastly サービスで HTTP/3 を有効にするには、まずドメインに HTTP/3 を設定し、サービスがクライアント接続で HTTP/3 を提供するように設定します。
ドメインの HTTP/3 設定
新規ドメインに HTTP/3 を設定するには、新規ドメインに TLS 1.3 を設定するをご覧ください。
既存のドメインに HTTP/3 を設定するには、以下の手順を実行します。
- Security > TLS management > Domains に移動します。
- HTLS/3 の提供を計画しているドメインを探し、TLS configuration and DNS details の列をチェックし、HTTP/3 が有効化されているかどうかを確認します。
- 列に
HTTP/3 & TLS v1.3
または、HTTP/3 & TLS v1.3 + 0RTT
の値がある場合、ドメインはすでに HTTP/3 をサポートしています。次のセクションで、Fastly サービスからそのドメインへのトラフィックで HTTP/3 を使用できるようにします。 - 列に HTTP/3 値が表示されない場合、次のセクションに進む前に、手順に従ってこのドメインに対して TLS 1.3 を有効化します。
- 列に
Fastly サービスから HTTP/3 を提供する
HTTP/3 は、エンドユーザーの接続をアップグレードするオプションとして設計されています。つまり、エンドユーザーのクライアントはまず古いバージョンの HTTP を使用して Fastly サービスに接続し、Fastly サービスが HTTP/3 を提供する場合にのみ HTTP/3 の使用を試みます。
HTTP/3 スイッチをクリックし、サービスが HTTP/3 を提供するように設定します。
- Fastly コントロールパネルにログインします。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
- Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
- Settings をクリックします。
HTTP/3 スイッチをクリックし、サービスが HTTP/3 を提供するように設定します。
- Activate をクリックして設定への変更をデプロイします。
(レギュラー VCL スニペットまたはカスタム VCL メソッドによって) VCL を直接使用してサービスを設定している場合、受信 (vcl_recv
) サブルーチンで次の VCL を使用して、サービスが HTTP/3 を提供するよう設定できます。
h3.alt_svc();
HTTP/3 トラフィックを Fastly に送信する
Fastly の専用 IP アドレスを使用しない限り、HTTP/3 を有効化するための最終ステップとして、ドメインの DNS レコードがユーザーを HTTP/3 が有効化された正しい Fastly アドレスにルーティングしていることを確認する必要があります。
- Security > TLS management > Domains に移動します。
- Fastly にルーティングしたいドメインの View details をクリックします。ドメインの詳細ページが表示されます。
CNAME レコードセクションには、CNAME レコードの値が含まれます。dualstack
を値の前に付けることで、IPv6 サポートを有効にできます (例: dualstack.<letter>.sni.global.fastly.net
)。
apex ドメイン (例: example.com
) の場合、A レコードセクションには、グローバルエニーキャスト IP アドレスが含まれています。
Fastly サービスとのクライアント互換性テスト
HTTP/3 のサポートについてブラウザまたはその他のクライアントをテストする場合、Fastly が作成して公開している HTTP/3 テストページを使用して、クライアントによるサポートを検証することができます。クライアントを使用して https://http3.is にアクセスすると、結果として返されるページで HTTP/3 が正常に使用されてページがリクエストされたかどうかを確認できます。リクエストが HTTP/3 を使用しなかった場合、Fastly によってどの IETF 草案バージョンが 現在使用されているかも表示されます。サポートされているバージョンの情報を使用し、クライアントおよびクライアント設定を更新することができます。
正しく設定されている場合でも、HTTP/3 対応 Webサイトへのブラウザからの最初のリクエスト (またはブラウザの開発者が設定したタイムアウト期間後の最初のリクエスト) は、HTTP/3 の提供を受信したことが無いため、常に古い HTTP バージョンを使用することにご注意ください。最初のリクエスト後に HTTP/3 の成功ページが表示されない場合は、ブラウザでリロードを実行することで、それ以後のリクエストで HTTP/3 を使用する機会を与えることができます。
HTTP/3 トラフィックを提供する
サービスが適切に設定された後、サービスのドメインに対するリクエストは、これらのプロトコルをサポートするクライアントから送信されている限り、HTTP/3 をサポートできるはずです。
QUIC 接続および HTTP/3 リクエストが成功すると、クライアントはそのドメインに対するそれ以降のすべてのリクエストと接続に QUIC と HTTP/3 を使用します。QUIC 接続や HTTP/3 リクエストにおいて問題が発生した場合、クライアントは TCP を介した標準の HTTP/1.1 または HTTP/2 接続に自動的にフォールバックします。これが優先事項である場合、選択したクライアントがこのフォールバックを実行することを確認する必要があります。
HTTP/3 トラフィックをモニタリングする
Fastly のリアルタイムログストリーミング機能および可観測性機能を使用して、HTTP/3 リクエストをモニタリングすることができます。また、HTTP/3 および QUIC に関連するさまざまな VCL 変数を追加しました。
HTTP/3 の無効化
HTTP/3 が有効化されていない過去のサービスバージョンを有効化するか、新しいサービス設定バージョンを作成し、HTTP/3 スイッチを無効化することで、Fastly サービスで HTTP/3 サポートを無効化できます。
翻訳についての注意事項
このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシーと利用規約が適用されます。