Kinsta APIのアップデートにより、開発者やサイト管理者がエッジやバックエンドでのサイトの動作をこれまで以上にきめ細かく制御できるようになりました。

自動化スクリプトの開発や、環境のカスタムツールの構築など、今回の更新でCDNの動作、キャッシュ設定、およびPHPバージョンの更新の管理が簡素化されます。

画像最適化の管理

Kinsta APIを使用して、あらゆる環境の画像最適化設定を管理できます。新たなエンドポイントにより、MyKinstaにログインせずに画像の圧縮方法を柔軟に調整可能です。

これはデプロイの自動化や多数の環境の管理に特に便利です。用途に応じて、以下のいずれかを選択します。

  • off:画像の最適化を無効
  • lossy(非可逆圧縮):ファイルサイズの縮小を優先して画像を圧縮し、読み込み時間を短縮
  • lossless(可逆圧縮):画質を優先して画像を圧縮

以下のPUTリクエストを送信して、環境の画像最適化設定を変更します。

PUT /sites/cdn/image-optimization

リクエストの本文には、environment_idと任意の最適化の種類を含める必要があります。以下は、curlを使って非可逆圧縮を適用する簡単な例です。

curl -i -X PUT \
  https://api.kinsta.com/v2/sites/cdn/image-optimization \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
    "environment_id": "your-environment-id",
    "image_optimization_type": "lossy"
  }'

メディアアセットの配信方法をより細かく制御できるため、本番、ステージング、またはメディアの多い環境全体でパフォーマンスを最適化するのに役立ちます。

Kinstaの画像最適化の詳細はこちらをご覧ください。

エッジキャッシュの有効化/無効化

Kinsta APIの新たなエンドポイントを使用して、特定の環境のエッジキャッシュを有効または無効にすることができ、KinstaのグローバルCDNによるコンテンツの提供方法をより効率的に制御できるようになります。

キャッシュされたコンテンツを一時的にバイパスまたは復活させる必要があるデプロイメント、テスト、またはトラブルシューティングを行う際に特に便利です。

以下のPUTリクエストを送ります。

PUT /sites/edge-caching/status

リクエストボディには、environment_idとbooleanフィールドのenabledを含めます。以下は、curlリクエストでエッジキャッシュを有効化する例です。

curl -i -X PUT \
  https://api.kinsta.com/v2/sites/edge-caching/status \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
    "environment_id": "your-environment-id",
    "enabled": true
  }'

"enabled"falseに設定すると、その環境のエッジキャッシュが無効化されます。変更を頻繁にプッシュしていて、キャッシュの遅延を回避したい場合に有用です。

PHP自動バージョンアップの無効化

PHPのバージョン管理もアップデートされました。環境のPHPバージョンを変更する際に、任意のis_opt_out_from_automatic_php_updateフラグを含めることで、将来的な自動アップグレードを無効にすることができます。

環境間でバージョンの一貫性を維持したり、カスタムコード、プラグイン、または古くなった依存関係との互換性を確保したりするために、バージョンアップを遅らせる必要がある場合に便利です。

以下のPUTリクエストを送信します。

PUT /sites/tools/modify-php-version

リクエストボディには、環境ID、対象のPHPバージョン、is_opt_out_from_automatic_php_updateフラグをtrueあるいはfalseに設定する必要があります。以下はcurlリクエストの例です。

curl -i -X PUT \
  https://api.kinsta.com/v2/sites/tools/modify-php-version \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{
    "environment_id": "your-environment-id",
    "php_version": "8.1",
    "is_opt_out_from_automatic_php_update": true
  }'

このフラグをtrueに設定すると、APIまたはMyKinstaで手動で変更を行わない限り、選択したPHPバージョンで環境が維持されます。このフラグを省略するか、falseに設定すると、環境はKinstaがサポートするPHPバージョンのデフォルト自動更新スケジュールに従います。

PHP管理の詳細はこちらをご覧ください。

環境レスポンスの新規フィールド

GET /sites/{site_id}/environmentsエンドポイントは、各環境がどのように設定されているかを可視化する2つの新たなフィールドを返すようになりました。

  • image_optimization_type:CDN経由で適用されている画像最適化設定("off" "lossy" "lossless")が表示され、環境全体の最適化の詳細を一目で確認できます。
  • is_opt_out_from_automatic_php_update:環境に対してPHP自動バージョンアップが無効になっているかどうかを示します。trueに設定すると、環境のPHPが自動バージョンアップされることはありません。

この機能拡張により、環境固有の設定を簡単に監査・管理できるようになり、ステージング、開発、運用の各インスタンスで作業するチームにとって特に役立ちます。

以下は簡単なレスポンス例です。

{
  "id": "your-environment-id",
  "name": "production",
  "image_optimization_type": "lossy",
  "is_opt_out_from_automatic_php_update": true
}

この詳細は、環境エンドポイントのAPIリファレンスをご覧ください。

まとめ

今回導入されたエンドポイントは、Kinstaで複数の環境を管理している場合やワークフローを自動化している場合に特に役立ちます。

  • MyKinstaにログインすることなく画像のパフォーマンスを微調整
  • API経由で直接エッジキャッシュの動作を管理(デプロイメントパイプラインに理想的)
  • 必要に応じて環境を特定のPHPバージョンにロックし互換性を確保
  • 新たなレスポンスフィールドにより、環境設定を大規模に監査

リクエストとレスポンスの詳細については、Kinsta APIドキュメントをご覧ください。