結論:Azureのほうが安いみたい
個人的にいじってるけど使い勝手が悪すぎるし、これセキュアなのかと疑う部分が多い。
たぶん設定できるんだけども、AWSに慣れすぎてるせいでよくわからないことが多い印象でした。
電子請求書発行サービスのAzure上での構築経緯
1. プロジェクト概要
- 目標: 電子請求書発行サービスをAzure上で構築し、顧客が発行された請求書をダウンロードできるシステムを作成する。
-
使用する技術:
- Azure Static Web Apps: フロントエンドのホスティング
- Azure Functions: サーバーレスバックエンドAPIの構築
- Azure Table Storage: データの保存
- Azure Blob Storage: 請求書PDFなどのファイル保存
- Azure Active Directory B2C: 顧客認証
2. Azure Functionsの構築
-
作成したHTTP Trigger Function:
-
GetData
: Azure Table Storageからデータを取得するAPI -
AddData
: Azure Table Storageにデータを追加するAPI
-
-
解決した課題:
-
func
コマンドがGit Bashで認識されない問題が発生し、環境変数の設定やエイリアス作成で解決。 -
host.json
の構文エラーを修正し、正しいJSON形式に設定。 -
FUNCTIONS_WORKER_RUNTIME
設定の不一致を解消し、ローカルとAzureの設定を一致させた。
-
3. Azure Functionsのデプロイ
-
手順:
func azure functionapp publish
コマンドを使用してAzureにデプロイ。 - 結果: デプロイが成功し、Azure Portalで動作確認を実施。
4. Azure Table StorageとBlob Storageの設定
-
未作成の部分:
- Azure Table Storage: データ保存用。ストレージアカウントとテーブルの作成が必要。
- Azure Blob Storage: 請求書ファイル保存用。ストレージアカウントとBlobコンテナーの作成が必要。
-
提供した手順:
- Azure Portalでストレージアカウントを作成し、テーブルとBlobコンテナーを設定する手順を提供。
5. 料金面の考察
-
Azure Static Web Apps:
- プラン: Standard プラン ($9/月)
- 役割: フロントエンドのホスティング。
-
Azure Functions:
- 料金: 約 $0.20/100万回の実行 (使用量に依存)
- 役割: バックエンドAPIのホスティング。
-
Azure Table Storage:
- 料金: $0.05/GB (データ保存量に依存)
- 役割: データベースとして使用。
-
Azure Blob Storage:
- 料金: $0.0184/GB (ホットストレージ)
- 役割: 請求書などのファイル保存。
-
Azure Active Directory B2C:
- 料金: 5万MAUまでは無料。超過時は$0.0055/MAU。
- 役割: ユーザー認証管理。
-
Azure Monitor:
- 料金: $2.76/GB (ログデータの監視と保存)
- 役割: アプリケーションの監視とログ管理。
合計月額コスト (概算)
-
総コスト:
- Static Web Apps: $9.00
- Functions: $0.20
- Table Storage: $5.00 (100GB使用時)
- Blob Storage: $1.84 (100GB使用時)
- Monitor: $5.52 (2GBログデータ使用時)
- 合計: 約 $21.56/月 + 使用量に応じた追加費用
6. 次のステップ
- Azure Table StorageとAzure Blob Storageの設定を完了する。
- Azure Functionsとこれらのストレージを統合し、システム全体の動作確認を行う。
7. 残タスク
- Azure Table StorageとAzure Blob Storageの設定をAzure Portalで行う。
- Azure Functionsとこれらのストレージを統合し、データの保存と取得、ファイルのアップロード機能を実装する。
- システム全体の動作確認と、最終テストを行い、本番リリースの準備を進める。