Cloudflare を使い始めよう

## はじめに

2/10 のイベントに先駆けて、社内で開催する Cloudflare 勉強会のための資料です

https://cfm-cts.connpass.com/event/307368/

どういうことにどれくらいの金額感で使えて、どう使い始めるのか、をまとめます

## Cloudflare とは

公式サイトより引用

https://www.cloudflare.com/ja-jp/

> Cloudflareは「どこでもつながる世界」のためのクラウドです。

> Cloudflareは、世界初の **コネクティビティクラウド** として、世界中で数百万ものお客様をつなぎ、保護しています。

公式サイトの動画では以下のように言っています

> Web サイト、 API 、企業ネットワーク、リモートワーカーを安全かつスピーディーにします

Web サイト -> CDN や Cloudflare Pages
API -> API Gateway や Cloudflare Workers
企業ネットワーク -> Magic Transit 、 Magic AWS など
リモートワーカー -> Zero Trust 、 SASE

## 料金体系

2024/1/26 現在の料金です

アカウントは無料、クレジットカード不要で作成できます

Cloudflare Workers, Cloudflare Pages の無料プランを使う場合もクレジットカード登録不要です

### アプリケーションサービス

CDN や DDoS 攻撃対策、 Web アプリケーションファイアウォール等のサービス

企業がユーザーに提供するアプリケーションを保護・最適化するためのもの

https://www.cloudflare.com/ja-jp/plans/

- Free

  0ドル/月

  > ビジネスに不可欠ではない、個人的または趣味のプロジェクト向け

- Pro

  20 ドル/月の年払い

  または 25ドル/月の月払い

  > ビジネスに不可欠ではない、プロフェッショナルなWebサイト向け

- Business

  200 ドル/月の年払い

  または 250ドル/月の月払い

  > オンラインで事業を営む小規模企業向け

- Enterprise

  カスタム年払い

  > ビジネスのコアを成すミッションクリティカルなアプリケーション向け

### Zero Trust と SASE

社内アプリケーションやデータへのリモートアクセス、 Web フィルタリングなどのサービス

企業が社内リソース、従業員を保護、最適化するためのサービス

https://www.cloudflare.com/ja-jp/plans/zero-trust-services/

Zero Trust（ゼロトラスト）:
ネットワークの境界線で信頼するのではなく、全ての通信を検証する

SASE（Secure Access Service Edge: サッシー）:
ネットワークとセキュリティの機能を統合して提供するクラウドサービス

- Freeプラン

  0ドル/ユーザー

  > 従業員とアプリケーションをオンラインで保護するために不可欠なセキュリティ制御。
  > ユーザー50人未満のチーム、または概念実証テストの実行に最適です。

ユーザー最大50人まで

- 従量課金プラン

  7ドル/ユーザー

  > お客様のネットワーク上やインターネット上のあらゆるものへのアクセスを保護します。
  > ユーザー50人以上で企業サポートサービスを必要としないチームに最適です。

- 契約プラン

  カスタム

  > 最大限のサポート、可視性、接続性、相互運用性に支えられたセキュリティ変革を望む組織に最適です。

### ネットワークサービス

社内ネットワークを保護・高速化するサービス

https://www.cloudflare.com/ja-jp/plans/network-services/

- Magic Transit

  個別料金設定

  > お客様のデータセンターとネットワークインフラストラクチャをDDoS攻撃から保護します。

- Magic WAN

  個別料金設定

  > 支社オフィスとデータセンター間のMPLSを置き換えます。

- Magic Firewall

  個別料金設定

  > お客様のWAN全体で一貫したネットワークセキュリティポリシーを適用します。

### 開発者プラットフォーム

Web サイトやサーバーレスバックエンドを構築、実行

https://www.cloudflare.com/ja-jp/plans/developer-platform/

#### Cloudflare Workers

サーバレスコードをデプロイ、実行

対応言語

https://developers.cloudflare.com/workers/reference/languages

> Workers is a polyglot platform. You can write Workers in JavaScript, TypeScript, or any programming language that compiles to WebAssembly.

「JavaScript, TypeScript もしくは WebAssembly にコンパイルできる任意の言語」ということなので、ここに書かれていない言語でも、 Web アセンブリーにコンパイルできれば使用可能です

以下に挙げるものについては実装例やテンプレートが紹介されています

- JavaScript
- TypeScript

WebAssembly にコンパイルできる言語の例

- Rust
- C
- Cobol

JavaScript にコンパイルできる言語の例

- Kotlin
- Dart
- Python
- Scala
- Reason/OCaml
- Perl
- PHP
- FSharp

料金体系

- Workers 無料

  0ドル/月

  > 契約なしでWorkersのエコシステムを体験

- Workers 有料

  5ドル/月 〜

  リクエスト100万件あたり月額0.15ドル（最低料金は5ドル/月）

  > リクエスト制限を回避

参考:

AWS Lambda 料金（東京リージョン、x86アーキテクチャー）

- GB-秒あたり 0.0000166667ドル
  （128MB の関数が各0.1秒 100 万回実行された場合、0.20ドル）

- リクエスト 100 万件あたり 0.20ドル

#### Workers KV

セキュアな低遅延Key-Value Store

Cloudflare Workers に含まれる

ストレージ: 1GB

- Workers 無料

  - Read 10万回/日
  - Write 1,000回/日
  - Delete 1,000回/日
  - List 1,000回/日

- Workers 有料

  - Read 1000万回/日
  - Write 100万回/日
  - Delete 100万回/日
  - List 100万回/日

- 追加料金

  - ストレージ: 0.50ドル/GB/月 
  - Read 100万回: 0.50ドル
  - Write 100万回: 0.50ドル
  - Delete 100万回: 0.50ドル
  - List 100万回: 0.50ドル

#### Cloudflare Pages

Web サイトをデプロイ、公開

以下の機能が特徴

- 統合されたWeb分析
- 無制限、無料の管理者シート
- 無制限のサイト
- 無制限のリクエスト
- 無制限の帯域幅

公式サイトにガイドのあるフレームワーク

https://developers.cloudflare.com/pages/framework-guides/

- Blazor
- Brunch
- Docusaurus
- Gatsby
- Gridsome
- Hexo
- Hono
- Hugo
- Jekyll
- Next.js
- Nuxt
- Pelican
- Preact
- Qwik
- React
- Remix
- Solid
- Sphinx
- Svelte
- Vite 3
- Vue
- VuePress
- Zola
- Angular
- Astro
- Elder.js
- Eleventy
- Ember
- MkDocs

料金体系

- Free

  0ドル/月

  ビルド 500回/月

- Pro

  20ドル/月の年払い

  もしくは 25ドル/月の月払い

  ビルド 5,000回/月

- Business

  200ドル/月の年払い

  もしくは 250ドル/月の月払い

  ビルド 20,000回/月

参考:

Amazon CloudFront 料金（東京リージョン）

- 日本からの HTTPS アクセス 1万件あたり 0.0120 ドル
- 日本へのデータ転送 1GB あたり 0.114 ドル

リクエスト 100万件、平均サイズ 100KB としたとき、 1.2 + 11.4 = 12.6 ドル

#### R2

オブジェクトストレージ

- ストレージ: 0.015ドル / GB
- クラスA操作（状態変更）: 100万件あたり4.50ドル
- クラスB操作（読み取り状態）: 100万件あたり0.36ドル

R2 無料利用枠

- ストレージ: 10 GB / 月
- クラスA操作（状態変更）: 1,000,000 / 月
- クラスB操作（読み取り状態）: 10,000,000 / 月

参考:

Amazon S3 料金（東京リージョン）

- ストレージ：0.025ドル / GB
- PUT、COPY、POST、LIST: 100万件あたり 4.70ドル
- GET、SELECT、他: 100万件あたり 0.37ドル

S3 無料利用枠

- ストレージ: 5 GB / 月
- PUT、COPY、POST、LIST: 20,000 / 月
- GET、SELECT、他: 20,000 / 月

## アカウント作成手順

まずはアカウントを作成しましょう

- Cloudflare のページにアクセス

https://www.cloudflare.com/ja-jp/

- 右上「ログイン」をクリック

![スクリーンショット 2024-01-26 15.25.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/dcf4d848-5833-3529-ed51-858f643f89fe.png)

- 右上「English」をクリック

  表示されたドロップダウンから「日本語」を選択

![スクリーンショット 2024-01-26 15.27.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/ddbf5287-6fa2-1e4e-c3c4-e233c3b4190f.png)

- 左下「サインアップ」をクリック

![スクリーンショット 2024-01-26 15.29.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/062c3361-d7b9-9341-47fa-45e30cc0dd2a.png)

- メールアドレスとパスワードを入力し、「サインアップ」をクリック

![スクリーンショット 2024-01-26 15.30.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/0c050d3b-7f26-cea0-fd5a-76d1b5ab57d4.png)

![スクリーンショット 2024-01-26 15.34.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/bc1c3b7e-eeef-70e3-10bb-0db1dc0c8950.png)

- Cloudflare からメールが届くので、リンクをクリック

- 左上の Cloudflare のロゴをクリックするとホーム画面に遷移

![スクリーンショット 2024-02-01 22.46.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/13590e86-d49b-3410-470e-2d72a5491a30.png)

以降、ログイン後はホーム画面から作業することになります

## 2要素認証の設定

セキュリティ強化のため、2要素認証を設定します

- Google Authenticator などの認証アプリをスマホにインストールしておきます

https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&pcampaignid=web_share

https://apps.apple.com/jp/app/google-authenticator/id388497605

- 右上ユーザーアイコンをクリック

  表示されたドロップダウンから「マイ プロフィール」をクリック

![スクリーンショット 2024-01-26 16.08.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/b155b278-d635-294d-73ca-388937fb5cca.png)

- 左メニュー「認証」をクリック

  「2要素認証」カード内左の「設定」をクリック

![スクリーンショット 2024-01-26 16.09.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/c9762093-6a02-97f4-518d-d41efba7e87e.png)

- 「モバイルアプリの認証」カード内の「追加」をクリック

![スクリーンショット 2024-01-26 16.11.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/4f600743-9893-9f5e-c095-893363c77a83.png)

- Google Authenticator などの認証アプリで QRコードを読み込み、コードを入力

  ログイン時のパスワードを入力

  最下部の「次へ」をクリック

![スクリーンショット 2024-01-26 16.13.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/b4e69523-3191-d3af-6e7a-fc9fea338cbe.png)

- 次の画面でもう一度パスワードを入力し、「次へ」をクリック

![スクリーンショット 2024-01-26 16.18.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/2e39fc8f-4594-f0e4-9af2-ab2a005340ea.png)

- 復旧コードが表示されるのでダウンロードもしくは印刷して「次へ」をクリック

- 復旧コードの設定が完了するので「次へ」をクリック

![スクリーンショット 2024-01-26 16.20.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/500a7821-1a78-d8ad-0ed1-942f088140e1.png)

2要素認証が有効になっています

![スクリーンショット 2024-01-26 16.22.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1485835/3f98c4bc-93f6-7c01-ff3a-325a670ce76c.png)

## まとめ

Cloudflare の概要、料金体系、アカウント作成についてまとめました

他のクラウドサービスと比較検討して、または組み合わせて使ってみましょう