Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

機能パリティ

このページを使用して、Gen 1 のどの機能が Gen 2 で利用可能であり、どのように変更されたかを理解します。

バックエンドカテゴリ

以下の表は、バックエンドリソース定義に関する Gen 1 と Gen 2 の機能の可用性を比較しています。Migration Tool 列は、移行ツールがこの機能に対して提供するサポートのレベルを示しています。

Migration Tool の凡例

🟢 完全にサポート

ツールは Gen 2 コードを生成し、既存のリソースをリファクタリングできます。

🟠 生成のみ

ツールは Gen 2 コードを生成できますが、この機能はツールが持たないリファクタリングサポートが必要です。リファクタリング中にスキップするように指示された場合、これらのリソースからデータを手動で移動または移行する必要があります。例えば、Geo (GeofenceCollection) はコード生成できますが、既存のジオフェンスデータを新しい Gen 2 リソースに自動的に移動することはできません。

🔴 サポートされていない

ツールは生成またはリファクタリング中にこの機能をサポートしていません。スキップするように指示された場合、ツールはこの機能なしで続行します。移行を完了するには、Gen 2 コードを手動で作成し、関連するデータを移行する必要があります。サポートされていないいくつかの機能には、手動でのデータ複製が必要なステートフルなリソースが含まれます。例えば、@searchable は OpenSearch ドメインをインデックス付きデータで作成し、これを Gen 2 で再作成および再入力する必要があります。他の機能は純粋にステートレスであり、CDK コードを記述することによる手動設定のみが必要です。例えば、Python Lambda 関数は、データ移行を必要としない、Gen 2 コードで CDK を使用して再定義するだけです。

必要な機能がまだサポートされていない場合は、フィーチャーリクエストを作成してください

Auth

機能Gen 1Gen 2Migration Tool
ユーザー名の設定YesYes (CDK を使用)🟢
メールの設定YesYes🟢
電話番号の設定YesYes🟢
FacebookYesYes🟢
GoogleYesYes🟢
AmazonYesYes🟢
Apple でサインインYesYes🟢
ユーザープールグループの追加YesYes🟢
ユーザープールグループの設定YesYes🟢
サインアップ属性YesYes🟢
Auth トリガーサポートYesYes🟢
Auth トリガーテンプレート: Google reCaptcha チャレンジを追加YesYes🟢
Auth トリガーテンプレート: グループにユーザーを追加YesYes🟢
Auth トリガーテンプレート: メールドメインフィルタリング (拒否リスト)YesYes🟢
Auth トリガーテンプレート: メールドメインフィルタリング (許可リスト)YesYes🟢
Auth トリガーテンプレート: ID トークンクレームをオーバーライドYesYes🟢
Auth トリガーテンプレート: カスタム認証チャレンジフローYesYes🟢
Auth トリガーテンプレート: メール検証リンクリダイレクトYesYes🔴
デフォルトパスワードポリシーの設定YesYes (CDK を使用)🟢
属性の読み取り/書き込み機能の設定YesYes (CDK を使用)🔴
OAuth フロー: 認可 v インプリシット付与を設定YesYes (CDK を使用)🔴
管理者クエリYesYes (CDK を使用)🔴
MFA: OFFYesYes🟢
MFA: ONYesYes🟢
MFA: OPTIONALYesYes🟢
MFA: SMSYesYes🟢
MFA: TOTPYesYes🟢
OAuth スコープを設定YesYes🔴
メール検証 - コードYesYes🟢
メールベースのユーザー登録/パスワード忘れYesYes🔴
OAuth フロー: リダイレクト URI を設定YesYes🔴
ユーザープールのフレンドリー名を設定する機能YesYes-
認証なしのログインYesYes🟢
カスタム属性YesYes (CDK を使用)🟢
OAuth フロー: ドメイン名プレフィックスを設定YesYes (CDK を使用)🔴
一流の OIDC サポートNoYes-
一流の SAML サポートNoYes-
認証のインポートYesYes🟢
認証のオーバーライドYesYes🔴
Lambda トリガー (すべてのタイプ)YesYes🟢

Data

移行ツールは GraphQL スキーマをネイティブ Gen 2 スキーマビルダー API (a.model(), a.string() など) に変換しません。代わりに、既存の文字列ベースの GraphQL スキーマは Gen 2 データ定義内でそのまま保持されます。

機能Gen 1Gen 2Migration Tool
modelYesYes🟢
primaryKeyYesYes🟢
secondaryKey (name, sortKeyFields, query)YesYes🟢
hasOneYesYes🟢
hasManyYesYes🟢
belongsToYesYes🟢
manyToManyYesNo🔴
defaultYesYes🟢
auth - public - apiKeyYesYes🟢
auth - public - iamYesYes🟢
auth - owner - userPoolsYesYes🟢
auth - private - userPoolsYesYes🟢
auth - private - iamYesYes🟢
auth - group - userPoolsYesYes🟢
auth - custom - functionYesYes🟢
searchableYesNo (Zero-ETL DynamoDB-to-OpenSearch を使用したガイド)🔴
predictionsYesNo (AI サービス統合ガイド)🔴
カスタムミューテーション、クエリ、サブスクリプションYesYes🟢
VTL ハンドラーYesCDK を使用した Yes🟢
JavaScript リゾルバーハンドラーNoYes-
function ハンドラーYesYes🟢
http ハンドラーYesYes (http を含むカスタムデータソース)🟢
DataStore サポートYesNo🔴
MySQL と PostgreSQL サポートNoYes-

API

機能Gen 1Gen 2Migration Tool
GraphQL: API キー認証YesYes🟢
GraphQL: Cognito ユーザープール認証YesYes🟢
GraphQL: IAM 認証YesYes🟢
GraphQL: OpenID Connect 認証YesYes🔴
GraphQL: Lambda 認証YesYes🔴
GraphQL: 競合検出 (DataStore)YesNo🔴
REST APIYesYes🟢
REST: API アクセスを制限YesYes🟢
REST: Auth/Guest/Group のアクセス許可YesYes🟢
カスタム JS/VTL リゾルバーYesYes🔴
Amplify リゾルバーをオーバーライド/拡張YesYes🔴
API をオーバーライドYesYes (CDK を経由)🔴

Storage

機能Gen 1Gen 2Migration Tool
S3 バケットのプロビジョニング機能YesYes🟢
Auth とゲストのアクセスYesYes🟢
Auth - CRUD アクセスを設定YesYes🟢
Cognito グループの CRUD アクセスを設定YesYes🟢
ゲスト - CRUD アクセスを設定YesYes🟢
S3 バケットの Lambda トリガーYesYes🟢
単一の S3 バケットをインポートYesYes🔴
複数の S3 バケットをインポートNoYes🔴
ストレージをオーバーライドYesYes🔴
S3 Lambda トリガーYesYes🟢
NoSQL データベースYesYes🟢
NoSQL: ソートキー、グローバルセカンダリインデックスYesYes🟢
NoSQL: Lambda トリガーYesYes🟢

Functions

機能Gen 1Gen 2Migration Tool
Function ランタイム: TypeScriptNoYes-
Function ランタイム: NodeJSYesYes🟢
Function ランタイム: .NET 6YesYes (CDK を使用)🔴
Function ランタイム: GoYesYes (CDK を使用)🔴
Function ランタイム: JavaYesYes (CDK を使用)🔴
Function ランタイム: JavaScriptYesYes (CDK を使用)🔴
Function ランタイム: PythonYesYes (CDK を使用)🔴
Function リソースアクセス権限: authYesYes🟢
Function リソースアクセス権限: functionYesYes🔴
Function リソースアクセス権限: APIYesYes🟢
Function リソースアクセス権限: カスタムNoYes-
Function リソースアクセス権限 CRUD 操作YesYes🟢
Function リソースアクセス権限: geoYesYes (CDK を使用)🔴
Function リソースアクセス権限: analyticsYesYes (CDK を使用)🟢
環境変数YesYes🟢
シークレットYesYes🔴
Cron ジョブYesYes🟢
メモリサイズの設定YesYes🟢
Lambda レイヤーYesYes🔴
カスタム IAM ポリシーYesYes🔴
Function テンプレート: Hello WorldYesYes🟢
Function テンプレート: DynamoDB の CRUDYesYes🟢
Function テンプレート: サーバーレス expressYesYes🟢
Function テンプレート: Lambda トリガーYesYes🟢

Hosting

移行ツールは amplify.yml ビルドスペックファイルを生成するため、Amplify Hosting サービスを通じてアプリをデプロイおよび公開できます。詳細は ビルド仕様リファレンス を参照してください。

機能Gen 1Gen 2
Amplify Console (Git ベースの継続的デプロイ)YesYes
Amplify Console (手動デプロイ)YesNo
Amazon CloudFront と S3YesNo

包括的な Gen 2 デプロイメントオプションのガイダンスについては、完全な デプロイと公開 ドキュメントを参照してください。

Gen 1 では、デプロイは通常、カスタムパイプラインを使用して amplify push (バックエンド) と amplify publish (フロントエンド) を通じて行われるか、Amplify Hosting サービスを通じて自動的に行われていました。Gen 2 では、これらのコマンドは存在しなくなりました。

Amplify Hosting

最も簡単な方法は、Amplify Console (App Settings → Branch Settings → Add Branch) で Git ブランチを接続することです。詳細については、ブランチデプロイメント を参照してください。

カスタムバックエンドパイプラインを使用しているがフロントエンド用に Amplify Hosting を使用したい場合は、amplify.yml ビルドスペックを更新して pipeline-deploy の代わりに npx ampx generate outputs を実行し、バックエンドパイプラインが成功した後、受信 Webhook を使用してフロントエンドビルドをトリガーしてください。

Gen 1 アプリが手動デプロイを使用する場合 (つまり、Git リポジトリに接続されていない場合)、Amplify Console では同じアプリに Git ベースのブランチデプロイメントを追加することは許可されません。この場合、新しい Amplify アプリを作成し、Git リポジトリを接続する必要があります。

カスタムパイプライン

Gen 1 とは異なり、Gen 2 のデプロイメントは常に Amplify アプリ ID とブランチ名を必要とします。独自の CI/CD システム (AWS CodePipeline、Jenkins、CodeCatalyst など) または SVN などの Git 以外の VCS を使用する場合、ampx CLI を使用して Gen 2 デプロイメントを直接実行できます。いくつかの 1 回限りのセットアップを実行する必要があります:

# (オプション) 新しい Amplify App を作成 — 既存のアプリを再利用しない場合のみ必要
aws amplify create-app --name my-app
# パイプラインがデプロイするブランチ名を登録
# (これは論理名であり、必ずしも実 Git ブランチではない)
aws amplify create-branch --app-id <APP_ID> --branch-name gen2-main
# 自動ビルドを無効にして、Amplify が git push でビルドしないようにする
aws amplify update-branch --app-id <APP_ID> --branch-name gen2-main --no-enable-auto-build

次に、パイプラインのビルドステップで:

npm ci
export CI=1
npx ampx pipeline-deploy --branch gen2-main --app-id <AMPLIFY_APP_ID>

--branch パラメーターは Git ref ではなく論理名です。任意の文字列を使用できます (trunk, release-1.0 など)。ビルド時に amplify/ フォルダがワーキングディレクトリに存在する必要があります。

詳細は、カスタムパイプラインガイド を参照してください。

Amplify なしのフロントエンドホスティング

フロントエンドを個別にホストしている場合 (S3 + CloudFront、オンプレミスなど)、パイプラインで npx ampx generate outputs を実行して amplify_outputs.json を生成し、フロントエンドビルドアーティファクトにバンドルしてください。

その他のカテゴリ

機能Gen 1Gen 2Migration Tool
REST APIYesYes (カスタム CDK を使用)🟢
Analytics (Kinesis)YesYes (カスタム CDK を使用)🟢
Analytics (Pinpoint)YesYes (カスタム CDK を使用)🔴
Geo (Map)YesYes (カスタム CDK を使用)🟢
Geo (PlaceIndex)YesYes (カスタム CDK を使用)🟢
Geo (GeofenceCollection)YesYes (カスタム CDK を使用)🟠
PredictionsYesYes (カスタム CDK を使用)🔴
InteractionsYesYes (カスタム CDK を使用)🔴
カスタム (CDK)YesYes (カスタム CDK を使用)🟢
カスタム (CFN)YesYes (CfnInclude を使用)🔴

ツールと ワークフロー

CLI

Gen 2 は Gen 1 の CLI ウィザードアプローチを TypeScript と CDK を使用したコードファーストモデルに置き換えます。以下の表は主要な違いをまとめています:

側面Gen 1Gen 2
CLI インストールグローバル (npm i -g @aws-amplify/cli)ローカル devDep (npm i @aws-amplify/backend-cli)、npx 経由で実行
バックエンド定義CLI ウィザード + amplify/ の JSON/GraphQL ファイルamplify/ の TypeScript + CDK
環境管理amplify env add/checkout/listGit ブランチ (またはカスタムパイプラインの論理ブランチ名)
ローカル開発amplify mock (ローカルエミュレーション)npx ampx sandbox (開発者ごとの実クラウドリソース)
デプロイメントamplify pushnpx ampx pipeline-deploy または Amplify Hosting 自動ビルド
フロントエンド設定ファイルamplifyconfiguration.json / aws-exports.jsamplify_outputs.json
リソースのオーバーライドamplify override <category>amplify/backend.ts の直接 CDK アクセス
リソースの追加amplify add <category>define*() 関数を使用した TypeScript 定義
シークレットamplify function update シークレットプロンプトnpx ampx sandbox secret set <NAME> またはコンソール + コードの secret()
コード生成amplify codegen / amplify codegen model必須ではありませんが、オプションで npx ampx generate graphql-client-code

Gen 2 CLI (@aws-amplify/backend-cli) は npx ampx <command> で呼び出されます。すべてのコマンドは AWS CLI 環境変数 (AWS_PROFILE, AWS_REGION) をサポートしています。完全な CLI コマンドリファレンス を参照してください。

完全なコマンドマッピング表
Gen 1 コマンドGen 2 相当注記
amplify init相当なしGen 2 プロジェクトは amplify/ フォルダを TypeScript 定義で作成することによって初期化されます。新規プロジェクトの場合は npm create amplify@latest を使用します。
amplify add authamplify/auth/resource.tsdefineAuth()コードファーストの定義。CLI コマンドは必要ありません。
amplify add apiamplify/data/resource.tsdefineData()GraphQL スキーマは TypeScript で定義されます。
amplify add storageamplify/storage/resource.tsdefineStorage()S3 バケット構成はコードで定義されます。
amplify add functionamplify/functions/<name>/resource.tsdefineFunction()Lambda 関数はコードで定義されます。Gen 2 は既定で TypeScript ランタイムを使用します。
amplify add hosting削除Amplify Hosting ブランチデプロイメントまたはカスタムパイプラインを使用します。Amplify Hosting の場合は aws amplify CLI を使用します。
amplify pushnpx ampx pipeline-deploy --branch <branch> --app-id <id>バックエンドインフラストラクチャをデプロイします。サンドボックスモードでは、npx ampx sandbox を使用します。
amplify publish削除push + フロントエンドデプロイのラッパーでした。パイプラインまたは Amplify Hosting を代わりに使用します。
amplify pullnpx ampx generate outputs --branch <branch> --app-id <id>フロントエンド用の amplify_outputs.json を生成します。
amplify env add新しい git ブランチを作成Gen 2 環境は git ブランチにマップされます。各ブランチは独自の CloudFormation スタックを取得します。
amplify env checkoutgit checkout <branch> + npx ampx generate outputsブランチを切り替えてから、出力を再生成します。
amplify env listAmplify Console をチェックするか list branches直接 CLI 相当なし。
amplify statusnpx ampx sandbox (ウォッチモードはドリフトを表示)直接ステータスコマンドなし。サンドボックスはライブフィードバックを提供します。
amplify deletenpx ampx sandbox delete (サンドボックスのみ)ブランチ環境の場合、Amplify Console でブランチを切断します。
amplify codegennpx ampx generate graphql-client-codeGraphQL ステートメントと型を生成します。
amplify codegen modelnpx ampx generate graphql-client-code --format modelgenモバイル/JS のモデルクラスを生成します。
amplify configureAWS CLI プロファイル設定Gen 2 は標準的な AWS プロファイルを使用します。Amplify 固有の設定ステップはありません。
amplify mocknpx ampx sandboxサンドボックスは開発者ごとの実クラウドリソースをデプロイします。Gen 2 にはローカルモックはありません。
amplify override <category>amplify/backend.ts の直接 CDK 修正Gen 2 はネイティブに完全な CDK アクセスを提供します。

コンソール & デベロッパーエクスペリエンス

これらはランタイム、コンソール、ツール機能であり、バックエンドリソース定義の一部ではなく、インフラストラクチャの移行を伴いません。

機能Gen 1Gen 2
コンソールでの Auth 設定YesNo
コンソールでのユーザー管理YesYes
ゼロコンフィグ Authenticator サポートYesYes
データビジュアル設定 (Studio)YesNo (Gen 2 はデザイン上コードファースト)
IDE エンドツーエンド型安全性NoYes
コンソールのストレージファイルブラウザーYesYes
ストレージビジュアル設定 (Studio)YesNo (Gen 2 はデザイン上コードファースト)
ローカルテストamplify mocknpx ampx sandbox (クラウドサンドボックス)
コンソールの Function ログYesYes

UI Builder

Gen 1 UI Builder は Amplify Studio (Gen 1 アプリケーションを管理するためのビジュアルツール) の一部です。Gen 2 にはそのようなビジュアルツールは存在しませんが、Amplify UI Builder Figma Plugin を使用することでほぼ完全な機能パリティを実現できます。

前提条件: Amplify UI Kit に基づいて Figma を使用して設計し、Amplify UI Builder Plugin をインストールします。

機能Gen 1 (Studio)Gen 2 (Figma Plugin)
テーマの調整とカスタムコンポーネントの作成サポート対象サポート対象
エクスポート前にコンポーネントをデータモデルに接続サポート対象 (既存のデータモデルが必要)サポートされていない。エンジニアリング作業の一部として Amplify Data に接続します。
プロジェクトへのコンポーネントのエクスポートUI Builder 経由でサポート対象Plugin 経由でサポート対象