Install & Configs

本ワークショップはローカル環境での実施を推奨します。 ローカル環境でのnode.jsnpmのセットアップが困難な方は、AWS が提供するクラウドベースの統合開発環境 (IDE)であるAWS Cloud9をお使いください。 詳しい手順は10.1. Cloud9のセットアップをご覧ください。 ただし、Amplify Mocking(手元での動作確認)には20002番ポートが利用可能である必要があり、一部の Cloud IDE では利用できないことがあります。 あらかじめご了承ください。

Visual Studio CodeとDockerに馴染みがある場合、ローカル環境を使用する代わりにaws-amplify-sns-workshop-in-vscodeを使うことができます。 その場合、このセクションのNode.js/npmのインストール、Javaのインストール、Amplify CLIのインストールはスキップできます。

コーディングを始める前に、いくつかのソフトウェアをインストール・アップデートしたり、環境設定を行います。

Node.js/npmのインストール

Amplify CLIではNode.jsで10.x、npmでは6.x以降のバージョンが推奨されています。 本セクションではAmplifyの推奨バージョンのNode.js/npmがお手元の環境にインストールされているか確認します。 その上でNode.js/npmのインストールが必要な方のみ、インストール手順を実施していただきます。

  1. バージョンの確認を行うため、ターミナルで次のコマンドを実行してください。
node -v; npm -v
# 以下は実行結果の例
v12.16.1 # <-Node.jsのバージョン
6.13.4 #<- npmのバージョン
  1. Node.js 10.x以降のバージョンをお使いの方は次のセクションにお進みください
  2. Node.js 10.xより前のバージョンをお使いの方、あるいはNode.jsがインストールされていない方は、ご自身で対処いただくか、次の手順にしたがってNode.jsのインストールをお願いします
  3. インストールができたことをご確認ください
node -v; npm -v

パッケージ管理ツールであるnpmは、Node.jsのインストール時に自動的にインストールされます

Java のインストール

Amplify MockingはOpenJDK 1.8 以降のJavaのランタイムを必要とします。 本セクションではAmplify Mockingが求めるバージョンのJavaがお手元の環境にインストールされているか確認します。 その上でJavaのインストールが必要な方のみ、Javaのインストール手順を実施していただきます。

  1. Javaバージョンの確認
java -version
# 以下は実行結果の例
openjdk version "1.8.0_232"
OpenJDK Runtime Environment Corretto-8.232.09.1 (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM Corretto-8.232.09.1 (build 25.232-b09, mixed mode)
  1. OpenJDK 1.8以降のバージョンをお使いの方は次のセクションにお進みください
  2. OpenJDK 1.7以前のバージョンをお使いの方、あるいはJavaがインストールされていない方は、ご自身でアップデートいただくか、次の手順にしたがってJavaのインストールをお願いします。本手順では、AWSが提供する本番環境対応の無償OpenJDK DistributionであるAmazon Correttoのセットアップ方法を紹介いたします。
  3. インストールができたことをご確認ください
java -version

MacOSでパッケージ管理ツールのbrewがインストールされている場合、$ brew cask install correttoでインストール可能です。

Amplify CLIのインストール

Amplfiy CLIのインストールのため、ターミナルで次のコマンドを実行してください。

# Install the AWS Amplify CLI
npm install -g @aws-amplify/cli@4.45.0

すでにAmplify CLIをご利用されている方も、指定のVersionに合わせて再インストールをお願いします。

Amplify CLIの設定

本ワークショップではAmplify CLIを使ってバックエンドの構築を行います。Amplify CLIがバックエンドに接続できるようにするためのIAMユーザの作成と認証情報の設定を行います。

amplify configure

amplify configure コマンドを実行すると、「Sign in to your AWS administrator account:」が表示されます

このとき、ルートユーザーでのログインが求められる場合がありますが、必ずしもルートユーザーである必要はありません。 「Amplifyが必要とする権限をもったIAMユーザー」を作成可能なIAMユーザーでログインしてください。

Enter キーを押すと使用するリージョンや IAM ユーザー名を訊かれます。リージョンにはus-east-1を選択し、他は全てデフォルトを指定します。

https://console.aws.amazon.com/iam/~~ から始まるURLが発行されるので、別のブラウザでこのURLにアクセスします。

confirmation

※もしURLが発行されない場合は ここ にアクセスして、任意のユーザ名を入力してください。

画面に沿って IAM ユーザーを作成します。特に選択肢や設定を変更する必要はなく、次に進めていきます。

本手順で作成する AdministratorAccess権限を持つIAMユーザーは、非常に大きな権限を持ちます。 例えば、仮想VMサービスであるEC2のインスタンスを立ち上げたり、オブジェクトストレージサービスであるS3のデータをみたりと、様々なことができてしまいます。 IAMユーザーのクレデンシャル情報はGitHubなどに誤ってアップロードしないよう、厳重に保管することを意識しましょう。 ワークショップが終わったあと、必要なければIAMユーザーを削除することをお勧めします(参考: IAMユーザーの削除)。 下のTipで紹介するように、本ワークショップで必要な権限のみを追加することも可能です。 あるいは、IAMユーザーを使用せずに、MFAを有効化したIAMロールでよりセキュアにAmplify CLIを使うことも可能です(参考: IAM Roles & MFA)。

Adimin権限をもったIAMユーザーを作成することに抵抗のある方は、 10.3 IAM Policy を参考にIAMポリシーを作成してください。

  1. ユーザー作成 create iam user
  2. IAM ポリシーのアタッチ attach policy
  3. タグの追加 adding tags
  4. 作成内容の確認 confirmation
  5. ユーザー作成完了しましたが、この画面を閉じないでください! confirmation

ターミナルに戻り、Enter キーを押します。アクセスキーID、シークレットアクセスキーID を訊かれるので、ブラウザの IAM ユーザー作成完了画面に表示されているものをコピーしてください。 Profile Name はデフォルト(default)のままでもよいですが、後からわかりやすくするためにここでは amplify-handson とします。

inputcredentials

コンソール上に「Successfully set up the new user.」と表示されることを確認してください。

これで、作成したIAMユーザの権限でAmplify CLIからコマンドを発行できるようになりました。

AWS CLIがインストールされている場合は次のコマンドで作成したProfileを確認することもできます。 (インストールされていない方は実行する必要はありません)

aws sts get-caller-identity --profile amplify-handson
{
    "UserId": "XXXXXXXXXXXXXXXX",
    "Account":  "YYYYYYYYYYYY",
    "Arn": "arn:aws:iam::YYYYYYYYYYYY:user/amplify-ZZZZZ"
}