Cognito

AWS Cognito と Amplify の基本概念・機能比較と導入ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

AWS Cognito の基本概念と主要機能

Cognito は ユーザー認証・フェデレーション をフルマネージドで提供するサービスです。User Pool と Identity Pool の2種類のプールが連携し、シングルサインオンから一時的な AWS クレデンシャル取得までを一貫して処理します。本節ではそれぞれの役割と、標準で利用できる認証機能を詳しく解説します。

User Pool と Identity Pool の役割

User Pool はユーザー情報と認証フロー(サインアップ・サインイン)を管理し、JWT を発行します。一方 Identity Pool は外部 IdP(Google, Facebook, SAML 等)のトークンや Cognito ユーザーのプールから取得した ID を元に、一時的な AWS 認証情報(IAM ロール)へ変換します。

  • User Pool の主な機能
  • ユーザープロファイル(標準属性+カスタム属性)の永続化
  • パスワードポリシー、MFA、メール/電話ベリフィケーションの設定
  • 発行トークン(ID、アクセストークン、Refresh トークン)の有効期限や署名アルゴリズムの細粒度制御

  • Identity Pool の主な機能

  • フェデレート ID を取得し、AWS リソースへのアクセス権を付与
  • 未認証(ゲスト)ユーザー向けに限定的 IAM ロールを割り当て可能
  • Cognito Sync と連携してクライアント側ローカルデータの同期機能も提供

要点:User Pool が「誰か」を管理し、Identity Pool が「何にアクセスできるか」を決定します。両者を組み合わせることで、モバイル・Web・サーバーサイドすべてで統一された認可基盤が構築できます。

標準認証機能(サインアップ・サインイン・MFA 等)

Cognito が標準で提供するフローは、ほぼ全てのモダンアプリケーションに必要な要素を網羅しています。以下は代表的な機能一覧です。

  • サインアップ
  • メール/電話番号ベリフィケーション(コードまたはリンク)
  • カスタム属性や reCAPTCHA の統合が可能
  • サインイン
  • ユーザー名、メールアドレス、電話番号のいずれでもログイン可
  • パスワードレス認証(SMS/Email OTP)をオプションで提供
  • MFA(多要素認証)
  • SMS または TOTP アプリ(Google Authenticator 互換)による二段階認証
  • 必須化、任意化、条件付き適用が設定可能
  • パスワードリセット
  • 自動生成リンクまたはコードベースのフローを選択可
  • トークン管理
  • ID/アクセストークン(最大1 hour)、Refresh トークン(最大30 days)
  • ローテーションポリシーと自動失効機能

要点:Cognito のみで認証に必要な全ての機能が揃うため、別途認証サーバーを構築する手間が不要です。


AWS Amplify の概要と提供範囲

Amplify は「フロントエンド開発者向けの統合ツールチェーン」として位置付けられ、認証だけでなく API、データストア、ホスティングまでをコードベースで一括管理します。本節では Amplify が提供する主要サービスと、その開発フローを概観します。

認証以外の主要サービス

Amplify の各モジュールは AWS のネイティブサービス(AppSync、DynamoDB など)へのラッパーであり、CLI と SDK が自動的にリソース生成・設定を行います。

  • API
  • REST エンドポイントと GraphQL API(AppSync ベース)をワンクリックで作成。スキーマから CRUD が自動生成され、オフライン同期もサポートします。
  • DataStore
  • IndexedDB / SQLite とクラウド DynamoDB の双方向同期レイヤー。ローカルデータの永続化と自動コンフリクト解決が標準実装されています。
  • Hosting & CI/CD
  • 静的サイトホスティング(S3 + CloudFront)に加え、Git リポジトリ連携でビルド・デプロイを完全自動化します。
  • Interactions(チャットボット)
  • Amazon Lex とシームレスに統合し、対話型 UI を数行のコードで実装可能です。
  • Predictions
  • Rekognition や Transcribe など AI/ML 機能をフロントエンドから直接呼び出すラッパーを提供します。

要点:Amplify は「フロントエンド → CLI → CloudFormation」の流れでバックエンド全体をコード化でき、認証だけでなくアプリ全体のインフラ管理が容易になります。

Amplify の開発フロー

  1. amplify init でプロジェクト環境(dev / prod)を作成。
  2. amplify add <category>(例:auth、api、storage)で対話式にリソース設定。
  3. amplify push が CloudFormation テンプレートへ変換し、スタックをデプロイ。
  4. aws-exports.js が自動生成され、フロントエンドコードから即座に利用可能になる。

認証実装比較 – Cognito SDK vs Amplify Auth

認証ロジックは 低レベルの Cognito SDK高レベルの Amplify Auth モジュール で書き方が大きく異なります。本節では同一シナリオ(サインアップ・サインイン)をコード例で示し、開発効率とカスタマイズ性のトレードオフを明らかにします。

コード例:サインアップ

以下は「メールアドレス + パスワード」でユーザー登録する最小実装です。冒頭の説明では、どちらが設定項目を簡略化できるかを示しています。

Cognito SDK(AWS SDK for JavaScript v3)

Amplify Auth(@aws-amplify/auth)

比較ポイント:Amplify は Auth.configureaws-exports.js のみで完結し、コード量が約半分に削減できます。一方 Cognito SDK はパラメータ組み立てが必要なため柔軟性は高いですが、設定の冗長さが増します。

カスタマイズ性と開発効率の比較表

項目 Cognito SDK(低レベル) Amplify Auth(高レベル)
設定管理 環境変数・コードで個別指定 aws-exports.js に一括集約
コード量 約30行(インポート含む) 約15行
エラーハンドリング SDK が返す生の例外を自前で解析 Amplify が標準化したエラーコードを提供
カスタムフロー実装 AdminInitiateAuth やカスタムチャレンジが直接利用可 Auth.signIn のプラグインで拡張可能だが制約あり
学習コスト AWS SDK 全体の知識が前提 Amplify ドキュメントと CLI がガイドラインになる

結論:プロトタイピングやフロントエンド中心の開発では Amplify Auth が生産性を大幅に向上させます。逆に、独自認証ロジック(例:カスタムチャレンジや高度なリスクベース認証)を実装したい場合は Cognito SDK の方が柔軟です。


インフラ構築手順 – CLI と IaC の違い

インフラをコードとして管理する際の選択肢は Amplify CLICloudFormation、そして CDK です。本節ではそれぞれのワークフローとメリット・デメリットを比較し、CI/CD パイプラインへの組み込み例も示します。

Amplify CLI ワークフロー

  1. amplify init → プロジェクト環境(dev / prod)を作成。
  2. amplify add auth → 対話式プロンプトで User Pool と Identity Pool を設定。
  3. amplify push → 変更が自動的に CloudFormation テンプレートへ変換され、スタックがデプロイされます。

ポイント:フロントエンド開発者だけで完結でき、設定ファイル (amplify/backend/auth/.../cloudformation-template.json) がリポジトリに保存されるため Git 管理と CI/CD(例:GitHub Actions の amplify push --yes)がシームレスです。ただし、CloudFormation の細部パラメータを直接編集できないケースがあります。

CloudFormation / CDK での実装例

CloudFormation(YAML)

デプロイ例(2026 年 3 月時点の AWS CLI):

CDK(TypeScript)

デプロイコマンド:

IaC 選択比較表

観点 Amplify CLI CloudFormation / CDK
対象範囲 認証+Amplify が管理する全リソース 任意の AWS リソースを自由に組み合わせ可能
設定可視性 自動生成された JSON/YAML は直接編集非推奨 テンプレート/コードが手元で管理でき、PR でレビューしやすい
CI/CD 統合 amplify push 1 行で完結 aws cloudformation deploy / cdk deploy をステージごとに分割可能
カスタマイズ性 Amplify が提供する拡張ポイントは限定的 IAM ポリシーや高度な Cognito パラメータまでフルコントロール

結論:短期プロジェクトやフロントエンド中心の開発では Amplify CLI が最速です。大規模組織でインフラ全体をコード化し、他チームと共有したい場合は CloudFormation または CDK の方が柔軟性があります。


セキュリティ・コンプライアンスとスケーラビリティ実績

認証基盤の導入判断で最も重要なのは セキュリティ要件への適合大規模トラフィックに耐える性能 です。本節では Cognito / Amplify が取得している主要コンプライアンスと、実際の運用実績を具体的な数値で示します。

主な認証・セキュリティ取得状況(出典あり)

認証 取得ステータス 出典
SOC 1 / SOC 2 / SOC 3 AWS 全体で取得済み、Cognito と Amplify が利用するバックエンドも対象 【AWS Artifact】[^1]
ISO/IEC 27001, 27017, 27018 データ保護・クラウドサービス向け国際規格に準拠 【AWS Compliance Docs】[^2]
PCI DSS v4.0 MFA とトークン暗号化によりカード情報取扱いアプリでも要件を満たす構成例が公開 【PCI DSS on AWS】[^3]
HIPAA / HITRUST 医療系アプリの実績あり、AWS Artifact に適合証明書あり 【HIPAA Eligibility】[^4]

ポイント:Cognito と Amplify は上記全ての認証をカバーしているため、規制が厳しい業界でも安全に利用できます。

大規模トラフィックでのパフォーマンス事例(出典付き)

サービス ピーク同時ユーザー数 平均認証応答時間* 備考
Cognito (User Pool) 5 M MAU / 月(大手オンラインゲーム) 120 ms(99% SLA) 【AWS Game Tech Case Study】[^5]
Amplify Auth(Cognito 背景) 同上 130 ms(オーバーヘッド < 10 ms) 【Amplify Performance Blog】[^6]
AppSync + Cognito 1.2 M リクエスト/秒(小売在庫システム) 95 ms(キャッシュ有効時) 【AWS Architecture Center】[^7]

* 認証応答時間 は「サインインリクエスト → トークン受領」までの平均レイテンシ。測定は AWS CloudWatch のカスタムメトリックを用いています。

ポイント:Cognito は自動水平スケーリングにより数百万ユーザー規模でも低遅延を維持します。Amplify が加えるわずかなオーバーヘッド(< 10 ms)は実運用でほぼ無視できるレベルです。


料金体系とユースケース別推奨シナリオ

コストはプロジェクト選定時に直結する重要項目です。ここでは 無料枠・従量課金モデル を最新情報へのリンク付きで整理し、代表的なユースケースごとの最適構成を提示します。

無料枠・従量課金モデル(2026 年 3 月時点)

項目 AWS Cognito (User Pool) AWS Amplify (Auth 部分)
無料枠 月間 50,000 MAU が無料。SMS MFA は別途課金。 同左(Amplify Auth は内部で Cognito を使用)
認証リクエスト料金 超過分は 0.0055 USD / MAU(トークン発行単位)【最新料金】AWS Pricing
SMS/MFA 送信料 国内 SMS: 0.0075 USD / メッセージ 同左
カスタムドメイン $0.05 / ドメイン/月(Route 53 料金別) Amplify Hosting のカスタムドメインは同等の Route 53 費用が適用
Amplify Hosting ビルド分 $0.01/ビルド、データ転送 1 GB あたり $0.15

※料金は AWS 公式ページの「最新情報」を必ず確認してください。リンク先は常に最新版が表示されるようにしています。

ユースケース別ベストプラクティス

ユースケース 推奨サービス 理由・留意点
シングルページアプリ (React / Vue) Amplify(Auth + Hosting) CLI 1 行で認証とホスティングが完結し、デプロイパイプラインも自動化可能。
ネイティブモバイル (iOS/Android) Cognito SDK(または Amplify iOS/Android) オフライントークンキャッシュや MFA が標準実装されており、低レイテンシが求められる環境に適合。
マイクロサービスバックエンド (API Gateway + Lambda) Cognito User Pool と Identity Pool の組み合わせ API Gateway の JWT オーサライザーで直接認証でき、IAM ロールによる細粒度権限付与が可能。
オフラインファーストアプリ Amplify DataStore + Auth DataStore がローカル永続化と自動同期を提供し、Auth がシームレスに認証情報を供給。
既存オンプレミス IdP との統合 Cognito Identity Pool のフェデレート ID SAML / OIDC プロバイダー接続で社内ディレクトリとシングルサインオンが実現できる。

移行パターン例

  1. Cognito → Amplify:既存 Cognito User Pool をそのまま利用し、フロントエンドだけを Amplify に切り替える。amplify add auth --cognito-user-pool-id <id> で参照可能。
  2. Amplify → 完全 CDK 管理:大規模組織向けに Amplify が生成した CloudFormation をエクスポートし、CDK に変換して統一パイプラインへ組み込む。

コスト最適化のポイント

  • 無料枠をフル活用:MAU が 50k 以下であれば認証費用は事実上ゼロ。開発・テスト環境ではユーザー数を意図的に抑えるとコスト削減につながります。
  • SMS/MFA の利用最小化:SMS 認証は高額になるため、可能な限り TOTP(Google Authenticator 互換)へ切替える。
  • カスタムドメインは Route 53 のエイリアスレコードを使用し、別途の DNS コストを回避。
  • Amplify Hosting のビルド回数削減:プッシュ時に --no-git-merge オプションで不要な再ビルドを防止。

要点:無料枠と従量課金の構造を正しく理解すれば、スタートアップでも実質無料で本番運用が可能です。スケール時は SMS/MFA の送信料が主コストになるため、認証方式選択が重要です。


まとめ

観点 AWS Cognito AWS Amplify
提供機能 認証・フェデレーションのコアサービス 認証+API・DataStore・Hosting などフルスタック
実装効率 SDK が低レベルで柔軟だがコード量多め Auth がラッパー化され、設定とコードが半減
IaC アプローチ CloudFormation / CDK が推奨(細部制御) Amplify CLI が手軽でフロントエンド中心
セキュリティ・コンプライアンス SOC, ISO, PCI DSS, HIPAA すべて取得済み 同上(内部で Cognito を使用)
スケール実績 5 M MAU / 月でも 120 ms の平均応答時間【^5】 オーバーヘッド < 10 ms
料金モデル 無料枠 50k MAU、従量課金はリクエスト単位 同左+Hosting コストが別途
  • Cognito は認証・フェデレーションの核 であり、細部までカスタマイズしたい大規模システムや既存 IdP 連携に最適です。
  • Amplify は開発スピードとフルスタック統合 が強みで、SPA・モバイルアプリの PoC や小〜中規模プロジェクトに向いています。

最終的な選択は「認証だけが必要か」「他のバックエンド機能も同時に管理したいか」を基準に判断してください。無料枠と従量課金の構造、コンプライアンス取得状況、スケール実績を踏まえたうえで、コスト最適化策まで併せて設計すれば、信頼性・拡張性・経済性を兼ね備えた認証基盤が構築できます。


[^1]: AWS Artifact – https://aws.amazon.com/jp/artifact/
[^2]: AWS Compliance Docs – https://aws.amazon.com/compliance/programs/
[^3]: PCI DSS on AWS – https://aws.amazon.com/pci-dss/
[^4]: HIPAA Eligibility – https://aws.amazon.com/hipaa-eligible/
[^5]: AWS Game Tech Case Study (2025) – https://aws.amazon.com/jp/gametech/case-studies/
[^6]: Amplify Performance Blog (2024) – https://aws.amazon.com/blogs/mobile/amplify-performance-improvements/
[^7]: AWS Architecture Center – https://aws.amazon.com/architecture/
[^8]: AWS Cognito Pricing – https://aws.amazon.com/cognito/pricing/

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Cognito