ナレッジベース

ご自身の Azure Static Web Apps アカウントへ静的サイトをデプロイする

リソース グループに対する共同作成者権限を持つ Azure サービス プリンシパルを作成して接続し、独自のリポジトリから自分の Azure サブスクリプション上の静的サイトをビルドできるようにします。

接続による効果

お客様独自の Azure Static Web Apps アカウントを接続すると、Zinn® ダッシュボードからお客様の Azure Static Web Apps アカウントへ静的サイトを公開できるようになります。プロジェクトと請求はお客様の所有となり、デプロイ、カスタムドメイン、DNS レコードの処理は当社が行います。

開始する前に

コードを保持する Azure サブスクリプション、サイト用のリソースグループ、および接続された GitHubGitLabBitbucket のいずれかのアカウントが必要です。Azure Static Web Apps はリポジトリからビルドするためです。Azure の無料プランでは、商用利用とアプリごとに 2 つのカスタムドメインが許可されます。

1. Azure Static Web Apps でキーを作成する

Azure ではこれをサービスプリンシパルと呼びます。Microsoft Entra 管理センターで [Entra ID] → [アプリの登録] → [新規登録] の順に開き、名前を入力して登録します。アプリの概要ページで、[アプリケーション (クライアント) ID][ディレクトリ (テナント) ID] をコピーします。次に、[証明書とシークレット] → [クライアント シークレット] → [新しいクライアント シークレット] の順に開き、有効期限を選択して追加します。シークレットの値は一度しか表示されないため、すぐにコピーしてください。

Azure ポータルで、当社に使用させたいリソースグループを開き、[アクセス制御 (IAM)] → [追加] → [ロールの割り当ての追加] の順に選択します。[共同作成者] ロールを選択し、[ユーザー、グループ、またはサービス プリンシパル] に割り当てて、名前でアプリを検索し、[確認と割り当て] を行います。リソースグループの名前と、それが属するサブスクリプション ID(ポータルで[サブスクリプション]を検索)をメモしておきます。

2. ここで接続する

ダッシュボードで[統合]を開き、[アカウントの接続]を選択します。グループとして[静的ホスティング (Netlify, Vercel)]、アカウントとして[Azure Static Web Apps]を選択し、[クライアント ID][クライアント シークレット][テナント ID][サブスクリプション ID][リソースグループ]を入力して、[アカウントを接続]を押します。

保存される前に、入力された内容がテストされます。動作しないキーが保存されることは決してなく、何が問題であったかがメッセージに表示されます。動作するキーはデータベースではなく当社のシークレット ヴォールトに暗号化されて保管され、お客様を含めて二度と再表示されることはありません。

その後の動作

  • 静的サイトを作成または移動すると、このアカウントがデプロイ先として表示されます。
  • Azure Static Web Apps はリポジトリからビルドするため、アップロードされたビルドを受け入れる方法がありません。そのため、サイトのコードは接続された GitHubGitLabBitbucket のいずれかのリポジトリから取得する必要があります。まだ接続していない場合は、最初に接続してください。

  • お客様のアカウントにサービスを作成し、リポジトリを指定して、カスタムドメインを割り当て、デプロイをトリガーします。ドメインのページには、Azure Static Web Apps が必要とする DNS レコードが表示されます。
  • 利用量と請求はお客様のアカウントに帰属し、お客様自身のベンダーダッシュボードで確認できます。
  • Apex ドメインは TXT レコードによって、サブドメインは CNAME によって検証されます。ドメインのページには、ご自身のドメインでどちらが必要かが表示されます。

接続できない場合

Azure がサービスプリンシパルを拒否しました。 クライアント シークレットの有効期限が切れている(選択した有効期限に基づいて必ず期限切れになります)、またはアプリがリソースグループに対する共同作成者の権限を失っているかのいずれかです。2 つのメッセージは似ているため、新しいシークレットを作成する前にロールの割り当てを確認してください。

何も見つかりません。 サブスクリプション IDリソースグループがロールを割り当てたものであること、および テナント ID がアプリが登録されているディレクトリであることを確認してください。

キーが拒否されたと表示されます。 ほとんどの場合、次の 3 つのいずれかが原因です:スペースや改行が一緒にコピーされた、有効期限が切れたキーである、またはコピーした後にキーが取り消されたか再生成された。新しいキーを作成して、再度貼り付けてください。

接続解除

[統合]を開き、アカウントを見つけて[接続解除]を押します。これにより、保存されているキーが直ちに削除されます。それを使用していたものはすべて次のアクションで停止し、それに依存していた画面は静かに失敗するのではなくその旨を表示します。

接続を解除しても、すでに実行されたこと(当社がお客様のアカウントで変更したレコード、デプロイ、設定など)は元に戻りません。キー自体が漏洩した可能性があると思われる場合は、ベンダー側でも無効化してください。接続解除によって削除されるのは当社のコピーであり、ベンダー側のコピーではありません。

ブログの新着情報

ホスティング、SEO、大規模サイトの運営に関するこれまでの執筆記事をご紹介します。

ホスティングレイヤーからのSEOとリンク構築:2026年運用者の視点

2026年におけるホスティングがインデックス作成とリンクエクイティに与える影響:ページのインデックス維持、構築前の中古ドメインの審査、フットプリントを残さないリンク構築、そしてSEOに対してインフラができること・できないことの率直な解説。

投稿を読む

WordPressを高速かつセキュアにする:パフォーマンスとプラグインのチェックリスト

高速でセキュアな WordPress のための実践的なチェックリスト:サーバーレベルのキャッシュ、サイトごとのオブジェクトキャッシュ、導入する価値のある少数のプラグイン、スタックの最新化、そして絶対にキャッシュしてはならない WooCommerce のページ。

投稿を読む

2026年版:マネージドWebホスティングの選び方:購入者ガイド

優れたマネージドホスティングとコントロールパネル付きの安価なサーバーを実際に隔てるもの(移行、バックアップ、アイソレーション、真のキャッシュ、誠実なスケーリング)と、契約する前にそれを見極める方法。

投稿を読む

ブログを読む

まだ解決しませんか?

サポートはすべてのプランに含まれており、対応時間は1日 24 時間、対応言語は 58 ヵ国語の中から自由にお書きいただけます。お客様の言語で回答いたします。

サポートに連絡 すべての記事