【AWS】amplify CLIの用意

# はじめに

AWSでお仕事？をしていて、amplify というのを用意する必要があったのでメモ。
amplify command line interface (CLI)は、AWS cloud service をアプリケーションで使うためのツールだそうです。何でも、作業しているproject のフォルダで 

```
 $ amplify init
```

とやると、設定が行われ、CUIでいろいろきるようになるのだとか。自分は、これで作業中のproject で ```amplify init``` できたところまでしかできていませんが、メモ。^^*

https://docs.amplify.aws/cli/start/install

このGet started の install の流れです。

- インストール
- ```amplify configure```

するだけ。

# インストールとアカウント設定

## インストールのための準備

(1) Node.js version 12.0 以上、npm v 6.x 以上とあるが、自分はNode.js が古いことが判明。

```
 $ npm --version
7.20.6
 $ node -v
v10.19.0
```

(2) Node.jsを新しくする。

```
 $ sudo npm install -g n
added 1 package, and audited 2 packages in 1s
found 0 vulnerabilities
 $ n --stable
14.17.5
 $ n --latest
16.6.2
 $ sudo n stable
  installing : node-v14.17.5
       mkdir : /usr/local/n/versions/node/14.17.5
       fetch : https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
   installed : v14.17.5 (with npm 6.14.14)

Note: the node command changed location and the old location may be remembered in your current shell.
         old : /usr/bin/node
         new : /usr/local/bin/node
To reset the command location hash either start a new shell, or execute PATH="$PATH"
$ node -v
v14.17.5
```

(3) 古いamplify を削除。（この前にごちゃごちゃ作業していたときにamplify をinstall していたので。これはnvm をインストールしたときに出てきたメッセージに従っただけ。）

```
$ nvm use system
Now using system version of node: v14.17.5 (npm v6.14.14)
$ npm uninstall -g a_module
up to date in 0.039s
```

### インストール

コマンド一発。

```
$  sudo npm install -g @aws-amplify/cli
npm .......


----------------------------------------
Successfully installed the Amplify CLI
----------------------------------------

JavaScript Getting Started - https://docs.amplify.aws/start
Android Getting Started - https://docs.amplify.aws/start/q/integration/android
iOS Getting Started - https://docs.amplify.aws/start/q/integration/ios
Flutter Getting Started - https://docs.amplify.aws/start/q/integration/flutter


Amplify CLI collects anonymized usage data, which is used to help understand
how to improve the product. If you don't wish to send anonymized Amplify CLI
usage data to AWS, run amplify configure --usage-data-off  to opt-out.

Learn more - https://docs.amplify.aws/cli/reference/usage-data

...

+ @aws-amplify/cli@5.3.0
added 97 packages from 92 contributors, removed 146 packages and updated 1290 packages in 174.551s
```

### Configure でIAMユーザ作成

コマンド一発なのですが、そこでインタラクティブに

- AWS region を指定
- 新しいIAM user name を指定
- AWS console （ブラウザ画面）でユーザの設定
- AWS console での設定で得たaccessKeyId とsecretAccessKey を入力

を行います。

```
 $ amplify configure
```

私のWSL2のubuntu ではこんな感じでした。

![tempsnip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294040/96f948e1-1663-2f2e-bca8-3a3ac5146c5e.png)

この結果、~/.aws/credentials に新しい IAM user のprofile が追加されてました。

```~/.aws/credentials
[default]
aws_access_key_id=XXXX0X000XX000XXXXXX
aws_secret_access_key=5sH........................

[amplify-user01-profile]
aws_access_key_id=XXXX0Y000XX111YYYYYYY
aws_secret_access_key=tbf......................
```

### 実行

あとは各プロジェクトに移動し、```amplify init```とすると、インタラクティブに問いに答える形で設定がされていきました。とりあえずエラーがでなかったので、良さそうです。。。

## 参考情報

下記など拝見しました。

- [AWS Amplify CLIの使い方〜インストールから初期セットアップまで〜](https://qiita.com/Junpei_Takagi/items/f2bc567761880471fd54)
- [AWS Amplify フレームワーク 入門メモ](https://qiita.com/rubytomato@github/items/5d9b6e184b615f974f28)

# まとめ

とりあえず私の開発環境で amplify が使えるようになったらしい。ふー。
(2021/08/15)