AWS CLIインストール、IAMユーザー作成、アクセスキー作成、AWSリソースへのアクセス

## はじめに
Windows11Pro+WSL2+Ubuntu+Docker環境を構築し、
VS CodeからUbuntuに接続しプログラム作成、コンテナイメージ作成、
AWSのECRへプッシュ、ECSへのデプロイ・接続確認までを行います。

1. [WSL2のインストール](https://qiita.com/hiropon1839/items/126de61987a0daa8267d)
2. [Visual Studio CodeのインストールとUbuntu on WSL2への接続](https://qiita.com/hiropon1839/items/0f48d85733ad0c85b3b1)
3. [Docker Desktopのインストール、Dockerfile作成、コンテナビルドと修正](https://qiita.com/hiropon1839/items/2af467975fb31bbb2819)
4. **[AWS CLIインストール、IAMユーザー作成、アクセスキー作成、AWSリソースへのアクセス](https://qiita.com/hiropon1839/items/cd9d1e049ac5d0c07a64) (今回の記事)**
5. [AWS ECRリポジトリ作成、Ubuntu on WSL2からECRへのプッシュ](https://qiita.com/hiropon1839/items/52442eb55a58c0b409a0)
6. [AWS ECSのタスク定義、クラスタ作成、サービス作成](https://qiita.com/hiropon1839/items/d443d0073f12819f1a88)

:::note warn
以降では「WSL2上のUbuntu」を単に「Ubuntu」と表現します。
:::

## 目的
作成したコンテナイメージをAWSのECRにプッシュするために、Ubuntu上で`aws`コマンドを実行できる状態にします。

## AWS CLIのインストール
今回インストールしたUbuntuのアーキテクチャは「x86_64」のため、
x86_64版のAWS CLIをインストールします。

その前に`unzip`コマンドをUbuntuにインストールしておきます。
```bash:bash
sudo apt install unzip
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/722cdae7-2f70-4efa-cf31-1e80942bffbe.png)


`curl`コマンドでzipファイルをダウンロードし、`unzip`コマンドで解凍後、インストーラーを実行します。
```bash:bash
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/a2d2edae-f36b-22b1-309c-2752effdd98d.png)
・・・（略）・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/d653e6ab-65f9-9e60-a963-2578ab89626b.png)
`aws`コマンドのインストールが完了しました。

## インストーラーの削除
インストール完了後はダウンロードしたインストーラー、展開したファイルを削除することができます。

```bash:bash
# ダウンロードしたインストーラーの存在確認
ls -l awscliv2.zip

# 展開したawsディレクトリの存在確認
ls -ld aws

# インストーラーと展開したディレクトリの削除
rm -rf awscliv2.zip aws

# ダウンロードしたインストーラーが削除されていることを確認
ls -l awscliv2.zip

# 展開したawsディレクトリが削除されていることを確認
ls -ld aws
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/64310336-b885-ced5-8a27-33eb6c61d7da.png)




## IAMユーザーの作成
`aws`コマンドを利用してAWSリソースにアクセスするために、IAMユーザーが必要です。

AWSにログインします。
IAMのユーザー画面から「ユーザーを追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/4d4625b7-0f1d-ebc4-bbcd-7ee20546f701.png)

ユーザー名を入力し、「次へ」をクリックします。
以降、ユーザー名を「user001」とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/f62ac15e-d010-c235-22a4-eb787d41c739.png)

:::note warn
注意: この記事で示すIAMユーザーの作成方法は個人の検証や学習のためのものであり、必ずしもAWSのベストプラクティスに従っていません。これらの手順は簡易化のために一部セキュリティ上の推奨事項を省略しています。企業や本番環境におけるIAMユーザーの作成や管理には、AWSの公式ガイドラインに従うことを強く推奨します。この記事の内容を元に行うあらゆる行動については、自己責任となりますのでご注意ください。
:::


許可のオプション：ポリシーを直接アタッチする
許可ポリシー：AdministratorAccess
を選択し、「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/25b54d7c-fdaa-bebc-4956-199f63615313.png)


「ユーザーの作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/9af0dbaa-a3e3-e9ee-5fc3-b27aaeb10f24.png)

## アクセスキーの作成
:::note warn
注意: この記事で示すアクセスキーの作成方法は個人の検証や学習のためのものであり、必ずしもAWSのベストプラクティスに従っていません。これらの手順は簡易化のために一部セキュリティ上の推奨事項を省略しています。企業や本番環境におけるアクセスキーの作成や管理には、AWSの公式ガイドラインに従うことを強く推奨します。この記事の内容を元に行うあらゆる行動については、自己責任となりますのでご注意ください。
:::

IAMのユーザー画面で「user001」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/3571872c-cfbd-9866-c10f-1f801cd2ea8c.png)

「セキュリティ認証情報」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/d2123282-4cfe-f21a-949d-29570cdd5f5f.png)

「アクセスキーを作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/1a6b5307-0ffa-c550-5bc5-46d9958d9349.png)

「ユースケース」で「コマンドラインインターフェイス(CLI)」を選択、
「上記のレコメンデーションを理解し、アクセスキーを作成します。」にチェックをいれます。

:::note warn
今回は検証環境のため、AWSセキュリティのベストプラクティスには従わず、簡単に設定できることを優先します。
:::

「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/401970d5-4dfb-fd1f-fa4a-54c178c2c263.png)

「説明タグ値」にアクセスキーの説明を入力、「アクセスキーを作成」をクリックします。
今回は、UbuntuからECRへのプッシュに利用するため、「ecr_test」としました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/11514977-edfb-aed7-a86f-cee0a7b50f84.png)

「.csvファイルをダウンロード」をクリックし、csvファイルをダウンロードします。
中にはアクセスキーとシークレットアクセスキーが記載されています。

「完了」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/988a25b7-88ad-9801-221e-c8ed0c525973.png)

:::note warn
- 今回作成したアクセスキーは検証が終わったらすぐにIAM画面から無効化・削除しましょう。
:::

## AWS CLIの初期設定
Ubuntuで下記コマンドを実行します。

```
aws configure

AWS Access Key ID [None]: (csvファイル内のアクセスキーを入力)
AWS Secret Access Key [None]: (csvファイル内のシークレットアクセスキーを入力)
Default region name [None]: ap-northeast-1
Default output format [None]: json
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/cbefcc19-f417-4e09-8f8d-6cea4b153f0d.png)

## AWSリソースへの接続確認
`aws`コマンドを使用してAWSリソースへ接続できることを確認をします。
```bash:bash
aws iam list-users
```

IAMユーザーの一覧が表示できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/6f19783d-ec2e-2173-101a-c7631ae17dea.png)


## さいごに
AWS CLIのインストール、AWSリソースへのアクセスが完了しました。
次回はAWSのECRにリポジトリを作成し、コンテナイメージをプッシュしてみます。

- [AWS ECRリポジトリ作成、Ubuntu on WSL2からECRへのプッシュ](https://qiita.com/hiropon1839/items/52442eb55a58c0b409a0)

## 参考ページ
- [AWS CLI の最新バージョンを使用してインストールまたは更新を行う](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html) (AWS)