初学者向け：MacBookでAWS CLIの初期セットアップをしてS3バケットを作成してみた

## はじめに
AWS CLI（Command Line Interface）は、AWSリソースをコマンドラインから効率的に操作できる便利なツールです。

:::note warn
***この記事では、MacBookでのAWS CLIの初期セットアップ手順と、S3バケットを作成する方法をご紹介します。***
:::

AWS CLIのインストール手順については、前回の記事で詳しく解説していますので、まだ導入されていない方は以下の記事を参考にしてみてください。

https://qiita.com/free-honda/items/389059edbdb5e7adcd0b

## 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 CLIを使用するには、AWSアカウントとアクセスキーの設定が必要です。以下に手順を解説します。

AWS Management Consoleにログインし、「IAM」サービスに移動し、「セキュリティ認証情報」タブを開き、「アクセスキー」をクリックします。

![スクリーンショット 2024-12-21 4.40.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/39042e5f-5f5d-6fc6-4bbd-a8b7e3cc63fa.png)

「アクセスキーを作成」をクリックすると、アクセスキーとシークレットアクセスキーが発行されます。

:::note alert
***この情報は非常に重要なため、必ず安全な場所にメモしてください。***
:::

![スクリーンショット 2024-12-21 4.43.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/b1c2394e-8895-a1d6-0ccd-59af62290def.png)

シークレットアクセスキーはこの画面でしか表示またはダウンロードできません。***一度閉じると再表示ができないため、十分注意してください。***

### アクセスキーのベストプラクティス

***アクセスキーの取り扱いには細心の注意を払う必要があります。*** 以下に安全に管理するためのベストプラクティスを紹介します。

:::note alert
- **アクセスキーをプレーンテキストもしくはコードリポジトリで、またはコードに保存しないでください。**
- **不要になったアクセスキーを無効化または削除します。**
- **最小権限の許可を有効にします。**
- **アクセスキーを定期的にローテーションします。**
:::

アクセスキーの管理の詳細については、以下の公式サイトを参考にしてみてください。

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#securing_access-keys

## AWS CLIの初期セットアップをしてみた

次に、AWS CLIの初期セットアップを行います。以下の公式サイトを参考にしながら進めていきます。

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

設定内容はよく忘れがちなので、未来の自分への備忘録として簡単にまとめます！

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

### 設定手順

以下のコマンドをターミナルで実行して設定を開始します。

```bash
aws configure
```

プロンプトに表示される項目に対して、以下の情報を順に入力します。

:::note warn
- **AWS Access Key ID:**
IAMで取得したアクセスキーを入力

- **AWS Secret Access Key:** 
IAMで取得したシークレットキーを入力

- **Default region name:** 
使用するリージョンを指定（例: ap-northeast-1）

- **Default output format:** 
出力形式を指定（推奨: json）
:::

実際のセットアップ中の画面は以下のようになります。

![スクリーンショット 2024-12-21 4.56.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/a70cb080-fb2e-52a7-eeff-a4a7df16a8d5.png)

設定内容は```~/.aws/credentials```と```~/.aws/config```に保存されます。

設定を確認するには以下を実行してください。

```bash
cat ~/.aws/credentials
cat ~/.aws/config
```

実際に```~/.aws/```の中のファイルに設定されていることが確認できました！

![スクリーンショット 2024-12-21 5.00.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/11f830e5-9f27-3259-1e7b-cf61b3f7ef01.png)

## AWS CLIを使ってS3バケットを作成してみた

S3バケットは、AWSのオブジェクトストレージで、ファイルやデータを保存するために使用します。

:::note warn
***ここでは、AWS CLIを使ってS3バケットを作成する手順をご紹介します。***
:::

以下のコマンドを使用してS3バケットを作成します。

```bash
aws s3api create-bucket --bucket <バケット名> --region <リージョン> --create-bucket-configuration LocationConstraint=<リージョン>
```

例えば、バケット名を```my-example-bucket-20241221```、リージョンを```ap-northeast-1```（東京）とした場合は以下のコマンドになります。

```bash
aws s3api create-bucket --bucket my-example-bucket-20241221 --region ap-northeast-1 --create-bucket-configuration LocationConstraint=ap-northeast-1
```

### バケットの確認

作成したバケットを確認するには、以下のコマンドを実行します。

```bash
aws s3api list-buckets
```

実際のコマンド結果は以下のようになります。

```bash
{
    "Buckets": [
        {
            "Name": "my-example-bucket-20241221",
            "CreationDate": "2024-12-20T20:02:41+00:00"
        }
    ],
    "Owner": {
        "DisplayName": "bentianhuangtailang",
        "ID": "da55acd9deaf33a197a10afc21d1c15dd1a77de4f549971f21ac10fb493c62e6"
    },
    "Prefix": null
}
```

さらに、マネジメントコンソール上で確認し、バケットが正しく作成されていることが確認できました！ 

![スクリーンショット 2024-12-21 5.05.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/38fffda0-31fd-76ba-806e-2028511eb0b1.png)

***これで検証は大成功です！！***


## まとめ

これで、AWS CLIを使ったMacBookでの初期セットアップから、S3バケット作成までの技術検証が完了しました！

:::note
***AWS CLIを使えば、GUIを介さず効率的にAWSリソースを管理できます。S3以外のAWSサービスもCLIで操作可能なので、ぜひ試してみてください！***
:::

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

## おまけ

最後に、AWS CLIを使って先ほど作成したS3バケットを削除する方法をご紹介します。

```bash
aws s3api delete-bucket --bucket my-example-bucket-20241221 --region ap-northeast-1
```

マネジメントコンソール上でも削除が反映されていることを確認しました。

![スクリーンショット 2024-12-21 5.11.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/ad25f0a4-1363-ad2f-0c22-8378448d3ea4.png)

:::note warn
***たったこれだけのコマンドで、S3バケットの作成や削除が簡単に行えるのは嬉しいですね！***
:::

## 参考記事

https://dev.classmethod.jp/articles/aws-cli_initial_setting/