Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Azure

最終更新 Markdown で表示Agent セットアップ

このガイドでは、軽量コネクター cloudflared を使って Azure Virtual Machine を Cloudflare に接続する方法を説明します。

デプロイするものは次のとおりです。

  • 基本的な HTTP サーバーを動かす Azure VM。
  • 公開ホスト名またはプライベート IP アドレス経由でサービスへ接続できる Cloudflare Tunnel。

前提条件

次の手順を完了するには、次が必要です。

1. Azure で VM インスタンスを作成する

  1. Azure ポータルで Virtual Machines > Create > Azure virtual machine を開きます。

  2. Resource group を選ぶか、新しく作成します。

    Azure のグループ
  3. VM の名前を入力し、リージョンを選びます。ImageUbuntu Server 24.04 LTS を選びます。Size は適切なサイズ(例: Standard_B1s)を選びます。

  4. Administrator accountSSH public key を選び、キーペアを入力します。

    Azure のキーペア
  5. Inbound port rules で SSH(22)を許可します。テスト目的では、HTTP(80)と HTTPS(443)も許可します。

    Azure のポート
  6. Review + create を選択し、Create を選択します。

  7. VM が起動したら、概要ページから Public IP address をコピーします。Private IP address も控えてください。Azure はデフォルトで 10.0.0.0/8 サブネットを使います。

  8. インスタンスに SSH します。

    ssh -i "your-key.pem" azureuser@<PUBLIC_IP>
  9. sudo su を実行し、VM の管理者権限を取得します。

  10. テスト目的では、ポート 80 で基本的な Apache Web サーバーをデプロイできます。

    apt update
    
    apt -y install apache2
    
    cat <<EOF > /var/www/html/index.html
    <html><body><h1>Hello Cloudflare!</h1>
    <p>This page was created for a Cloudflare demo.</p>
    </body></html>
    EOF
  11. Apache サーバーが動いていることを確認するには、ブラウザーで http://<PUBLIC_IP> を開きます(https ではなく http で接続してください)。Hello Cloudflare! のテストページが表示されます。

2. Cloudflare Tunnel を作成する

Cloudflare Tunnel を作成し、Azure VM 上で実行します。

  1. Cloudflare ダッシュボードにログインし、Networking > Tunnels を開きます。

    Tunnels を開く ↗
  2. Create a tunnel を選択します。

  3. トンネル名を入力します(例: azure-tunnel)。

  4. Create Tunnel を選択します。

  5. OS を選びます(Azure VM では Debian を選択)。インストールコマンドをコピーし、Azure VM 上で実行します。

  6. トンネルの接続を待ちます。接続できたら Continue を選択します。

3. 公開ホスト名で接続する

公開アプリケーション を使うと、インターネット上の誰でも、仮想プライベートクラウド (VPC) 上でホストしている HTTP リソースに接続できます。Cloudflare Tunnel に公開アプリケーションを追加する手順は次のとおりです。

  1. Routes タブで Add route を選び、Published application を選択します。
  2. アプリケーションのホスト名を入力します(例: hellocloudflare.<your-domain>.com)。
  3. Servicehttp://localhost:80 を入力します。
  4. Add route を選択します。
  5. 動作確認として、ブラウザーで http://hellocloudflare.<your-domain>.com を開きます。Hello Cloudflare! のテストページが表示されます。

必要に応じて Access アプリケーションを作成 し、サービスへアクセスできるユーザーを制御できます。

4. プライベート IP で接続する

プライベートネットワークルート を使うと、ユーザーは Cloudflare One Client 経由で Azure Virtual Network (VNet) に接続できます。Cloudflare Tunnel にプライベートネットワークルートを追加する手順です。

  1. Cloudflare ダッシュボードで Networking > Routes を開きます。

    Routes を開く ↗
  2. Create route > Tunnel CIDR を選びます。作成したトンネルを選び、Azure VM の Private IP address を入力して(例: 10.0.0.4)、Create route を選びます。必要に応じて、あとから IP 範囲を広げられます。

  3. Split Tunnel の設定 で、プライベート IP が Cloudflare One Client 経由でルーティングされていることを確認します。たとえば、Split Tunnels が Exclude モードの場合は、10.0.0.0/8 を削除します。Azure VM が明示的に使っていない IP は、リストへ戻すことを推奨します。

    戻す IP アドレスを決めるには、10.0.0.0/8 から Azure VM の IP を差し引きます。

    結果を Split Tunnel の Exclude モードのリストに戻します。

  4. ユーザーデバイスでテストする手順です。

    1. Cloudflare One Client にログイン します。
    2. ターミナルを開き、プライベート IP でサービスに接続します。
    curl 10.0.0.4
    <html><body><h1>Hello Cloudflare!</h1>
    <p>This page was created for a Cloudflare demo.</p>
    </body></html>

任意で Gateway のネットワークポリシーを作成 し、プライベート IP 経由で Azure VM にアクセスできるユーザーを制御できます。

ファイアウォールの設定

Azure VM を保護するには、Network Security Group (NSG) ですべての受信トラフィックを拒否し、Cloudflare Tunnel の IP アドレス への送信トラフィックだけを許可できます。NSG ルールは優先度で評価され、許可ルールに一致しないトラフィックはデフォルトの拒否ルールでブロックされます。そのため、カスタムの受信ルールはすべて削除し、必要な送信ルールだけを残せます。

NSG ルールを設定したあと、Cloudflare Tunnel 経由で 公開ホスト名 または プライベート IP からサービスにアクセスできることを確認します。Cloudflare Tunnel の外からはサービスにアクセスできなくなります。たとえば、VM のパブリック IP への直接アクセスは動作しません。

役に立ちましたか?