脱GUIしたい方向け：MacBookでAWS CLIを簡単にインストールしてみた

## はじめに
私は、AWSのリソースをGUIでポチポチ作成するよりも、AWS CLIやCloudShellを使ったコマンド操作の方が個人的に好きです。

:::note warn
***新しくMacBookを購入してからAWS CLIの設定ができていなかったため、この機会にセットアップしました！***
:::

この記事では、MacOSでのAWS CLIのセットアップ方法について、[公式サイトの情報](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html)を参考にしながら簡単にご紹介します。

## AWS CLIとは？
AWS CLI（Command Line Interface）は、AWSのサービスをコマンドラインから操作できるツールです。

![スクリーンショット 2024-12-20 22.02.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/d94e8683-449c-ba44-00d6-65362339729b.png)

:::note
***コマンド操作を通じてAWS上のリソースを簡単に作成・管理することができます！***
:::

https://aws.amazon.com/jp/cli/

AWS CLIを使うことで、AWS Management Console（GUI）を利用せずにリソースの管理や操作が可能になります。

:::note alert
***特に、スクリプトを活用して繰り返しの作業を自動化したい場合に便利です。***
:::

以下の記事もAWS CLIについて詳しく書かれているので、参考に読んでみてください。

https://dev.classmethod.jp/articles/aws-cli-configuration-file-env-option/

## 導入のきっかけ
普段、AWSリソースを作成する際には、TerraformやCloudFormationを使用することが多いです。

***また、簡単なリソース作成にはAWS CloudShellを活用しています。***

https://qiita.com/free-honda/items/cc3f4c68f7d1521830c3

しかし、CloudShellでPythonの環境構築を進めている際、以下のコマンドを実行したところエラーが発生しました。

```bash
pip install flask mysql-connector-python
```

:::note alert
***このエラーの原因は、AWS CloudShellの一時ディスクストレージ（最大1GB）が不足していることです。***
:::

```bash
Collecting MarkupSafe>=2.0
  Downloading MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
Installing collected packages: zipp, MarkupSafe, Werkzeug, Jinja2, itsdangerous, importlib-metadata, click, blinker, mysql-connector-python, flask
ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device
```

詳細については、以下の公式ドキュメントを参考にしてください。

https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html

***これをきっかけに、より快適にAWSリソースを管理するため、買い替えたばかりのMacBookにAWS CLIを導入することにしました。***

## AWS CLIをインストールしてみた
### インストール手順
以下の手順でAWS CLIをインストールします。

:::note
***前提条件***
***本記事ではMacOS向けの手順をご紹介します。***
:::

```curl```コマンドを使用して、AWS CLIのインストーラをダウンロードします。

```bash
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
```

ご自宅のネットワーク環境にもよりますが、通常は数秒程度でダウンロードが完了します。

![スクリーンショット 2024-12-20 21.27.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/81235951-b898-95ec-a402-e04e6407174a.png)

ダウンロードしたインストーラを使用して、AWS CLIをインストールします。

```bash
sudo installer -pkg ./AWSCLIV2.pkg -target /
```

上記コマンドを実行し、以下のように「```installer: The upgrade was successful.```」と表示されればインストールは成功です。

![スクリーンショット 2024-12-20 21.30.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/e4b066b6-b854-a409-1c87-867ad1403e8f.png)

これにより、AWS CLIが```/usr/local/aws-cli```にインストールされ、```/usr/local/bin```にシンボリックリンクが自動的に作成されます。

```bash
➜  bin ls -l | grep aws
lrwxr-xr-x  1 root             admin   22 12 20 21:29 aws -> /usr/local/aws-cli/aws
lrwxr-xr-x  1 root             admin   32 12 20 21:29 aws_completer -> /usr/local/aws-cli/aws_completer
```

### インストール確認

インストールが正しく行われたか確認するには、以下のコマンドを実行します。

```bash
which aws
/usr/local/bin/aws 

aws --version
aws-cli/2.22.21 Python/3.12.6 Darwin/24.1.0 exe/x86_64
```

このように表示されれば、問題なくインストールされています。

![スクリーンショット 2024-12-20 21.34.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/d3d876ce-75e7-0ae3-fe8f-901ec1bfcc86.png)

:::note alert
***```aws```コマンドが見つからない場合は、端末再起動やそれでも解決しない場合は、パス設定を再確認などしてみてください！***
:::

## まとめ
ここまでお読みいただき、ありがとうございます！

今回は、MacOSでのAWS CLIの基本的な導入手順について解説しました。

:::note warn
***AWS CLIを使えば、GUIよりも効率的にAWSリソースを操作できるため、非常に便利です。私自身も、GUIよりCLIでの操作が断然好きです（笑）***
:::

この記事が、どなたかの技術的な支えになれば幸いです！

## 関連記事

https://dev.classmethod.jp/articles/install-aws-cli-on-the-windows-11-terminal-at-hand-and-execute-aws-cli-commands/

https://udemy.benesse.co.jp/development/system/aws-cli.html

https://liginc.co.jp/646419