Amplify CLI の主要なワークフローを探索する
新しいプロジェクトを初期化する
新しい Amplify プロジェクトを初期化するには、フロントエンドアプリのルートディレクトリから以下のコマンドを実行します。
amplify initinit コマンドは以下のステップを実行します。
- プロジェクトを分析し、フロントエンド設定を確認します
- 選択されたフロントエンドの初期化ロジックを実行します
- 複数のプロバイダープラグインがある場合、クラウドリソースへのアクセスを提供するプラグインの選択を促します
- 選択されたプラグインの初期化ロジックを順番に実行します
- amplify フォルダ構造をプロジェクトのルートディレクトリに挿入し、初期プロジェクト設定を行います
- 上記で選択されたプラグインの出力を含む、プロジェクトメタデータファイルを生成します
- AWS Amplify コンソールにクラウドプロジェクトを作成して、すべてのバックエンド環境のリソースを表示・管理できるようにします。
サンプル Amplify プロジェクトをクローンする
サンプル Amplify フルスタックプロジェクトをクローンするには、空のディレクトリ内で以下のコマンドを実行します。
amplify init --app <github-url>
ここで <github-url> は有効なサンプル Amplify プロジェクトリポジトリです。詳細はこちらをクリックしてください。
一般的な CLI コマンド
amplify init
init コマンドは、ディレクトリの内容に基づいてプロジェクトのデフォルトを決定できます。提供されたデフォルトを受け入れるには、以下の質問に「はい」と答えます。
Initialize the project with the above configuration?
init プロセス中に、ルートスタックが 3 つのリソースで作成されます。
- 認証されていないユーザーの IAM ロール
- 認証されたユーザーの IAM ロール
- S3 バケット、デプロイメントバケット(このプロバイダーのワークフローをサポート)
プロバイダーは、ルートスタックとリソースの情報をプロジェクトメタデータファイル (amplify/backend/amplify-meta.json) に記録します。
amplify <category> add
init が完了したら、amplify <category> add コマンドを実行して、カテゴリのリソースをクラウドに追加します。これにより、このカテゴリのリソースの CloudFormation テンプレートがカテゴリのサブディレクトリ amplify/backend/<category> に配置され、その参照が上述のルートスタックにネストされた子スタックとして挿入されます。チームで作業する場合、バックエンドカテゴリを変更する前に amplify pull を実行することをお勧めします。
amplify push
カテゴリの更新を行った後、amplify push コマンドを実行してクラウドリソースを更新します。CLI はまずカテゴリのネストされたスタックテンプレートの最新バージョンを S3 デプロイメントバケットにアップロードし、次に AWS CloudFormation API を呼び出してクラウドのリソースを作成/更新します。追加/更新されたリソースに基づいて、aws-exports.js ファイル(JS プロジェクト用)と awsconfiguration.json ファイル(ネイティブプロジェクト用)が作成/更新されます。ルートスタックのテンプレートは amplify/backend/awscloudformation に格納されています。
amplify pull
amplify pull コマンドは git pull に似た動作をし、クラウドからアップストリームバックエンド環境定義の変更をフェッチし、ローカル環境をその定義に一致するように更新します。このコマンドは、チームシナリオで複数のチームメンバーが同じバックエンドを編集している場合、新しいプロジェクトにバックエンドをプルする場合、または同じ Amplify バックエンド環境を共有する複数のフロントエンドプロジェクトに接続する場合に特に役立ちます。
* CLI は、最後に成功した
amplify pushから CloudFormation テンプレートを含むプロジェクト情報を取得するために S3 デプロイメントバケットを使用します。
amplify console
amplify console コマンドはブラウザを起動し、AWS Amplify コンソール内のクラウドプロジェクトに誘導します。Amplify コンソールは、開発チームがバックエンド環境を表示・管理したり、バックエンド デプロイメントのステータスを確認したり、Amplify カテゴリ別のバックエンドリソースへのディープリンクを取得したり、環境をプル、クローン、更新、または削除する方法に関する指示を確認したりするための中央の場所を提供します。
amplify configure project
amplify configure project コマンドは高度なコマンドで、初期段階の入門プロジェクトではよく使われません。このコマンドは、.config/ ディレクトリにあるプロジェクト設定を変更し、amplify init ステップ中に設定された AWS 認証情報(ローカルマシンのプロファイルに基づく)を再設定するために使用する必要があります。.config/ ディレクトリは amplify/ ディレクトリに生成され(まだ存在しない場合)、local-aws-info.json、local-env-info.json、project-info.json ファイルが amplify configure project コマンドの一部として選択された内容を反映するように設定されます。
amplify configure project はまた、Amazon Elastic Container Service で Serverless Container オプションをプロジェクトで有効にするために使用されます。有効にすると、Dockerfile または Docker Compose ファイルを使用して、AWS Lambda と AWS Fargate の両方で API を構築できるようになります。詳細はサーバーレスコンテナを参照してください。
amplify logout --appId <Amplify Project Id>
Amplify CLI が Amplify Studio で認証されている場合、JSON Web トークン (JWT) が開発者のマシンに保存されます。このコマンドは、特定の Amplify プロジェクトに関連付けられた JWT を削除します。CLI はまた、すべてのセッションからログアウトするかどうかも確認します。「はい」を選択すると JWT が削除され、グローバルに無効化されることが保証されます。「いいえ」を選択すると、ローカルに保存された JWT は削除されますが、トークンは有効期限が切れるまで有効なままです。
Amplify CLI をアップグレードする
Amplify CLI チームは継続的に新機能、機能強化、セキュリティ改善をプッシュしており、あなたまたはチームが使用している Amplify CLI バージョンを最新バージョンに更新することをお勧めします。Amplify CLI の最新リリースは npm で追跡できます - https://www.npmjs.com/package/@aws-amplify/cli
npm install -g @aws-amplify/cliamplify upgradeamplify upgradeAmplify CLI アップグレードを確認する
CLI で以下のコマンドを入力して、最新 CLI バージョンの正常なインストールを確認します。
amplify -vAmplify CLI のインストール済みバージョンを確認します。CLI の最新バージョンはこちらで確認できます。
(オプション) 最新の Amplify CLI を使用してプロジェクトを更新する
以下のコマンド cd <Project-Filepath> を使用して Amplify プロジェクトフォルダに移動します。それが有効な Amplify プロジェクトフォルダであるかを確認するには、CLI で以下のコマンドを入力します。
amplify statusそれが有効な Amplify プロジェクトフォルダである場合、Amplify は AWS クラウドにデプロイしたプロジェクトフォルダ内のリソースのリストを表示します。
更新されたセキュリティ設定または改善により、バックエンドリソースを更新するには、CLI で以下のコマンドを入力します。
amplify push --force確認プロンプトが表示されたら、Enter キーを押すか Y を入力します。設定更新が適用されたことを検証するために、以下の結果を探します。
✔ All resources are updated in the cloud複数の AWS Amplify プロジェクトフォルダがある場合、各プロジェクトフォルダに対して上記のステップを繰り返します。
Amplify CLI をアンインストールする
以下のコマンドを使用して、Amplify CLI をシステムから完全に削除します。Amplify CLI を削除しても、Amplify プロジェクトは削除されません。
プロジェクトを削除するには、プロジェクトディレクトリ内で amplify delete を実行します。
npm uninstall -g @aws-amplify/cliamplify uninstallamplify uninstallコマンド一覧
amplify <category> <subcommand>amplify pushamplify pullamplify env <subcommand>amplify configureamplify consoleamplify deleteamplify helpamplify initamplify publishamplify runamplify statusamplify logout
カテゴリコマンド
amplify <category> addamplify <category> updateamplify <category> removeamplify <category> push
シークレットスキャン
Amplify プロジェクトでシークレットを使用する場合、シークレットがバージョン管理にコミットされないようにシークレットを保護することが重要です。git を使用している場合、AWS Labs の git-secrets を使用することをお勧めします。インストール後、ローカルリポジトリをスキャンしてシークレットを検出し、コミットを防止します。