【AWS_31】オンプレLinuxサーバ(RedHatEnterpriseLinux評価版)でAWS CLI を実行してAWSリソース(ES3)へ接続する

以前、個人のWindowsクライアントで検証したので、次はLinuxサーバで検証してみたいと思います。
目次
バケットの作成
以下の記事の「バケットの作成」を参照し、バケットを作成します。
バケット「mybucket-20250703-02」が作成されました。

AWS CLI のインストール
公式ページ
AWS CLI の最新バージョンのインストールまたは更新
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
Linuxサーバ(RedHatEnterpriseLinux評価版)

公式に「Amazon Linux でのアップデートが初めての場合、AWS CLI の最新バージョンをインストールするには、次のコマンドを使用して、プリインストールされている yum バージョンをアンインストールする必要があります。」とあるので実行してみます。
sudo yum remove awscli

公式手順にのっとりAWS CLI をインストールします。
curlコマンドを実行し、zipファイルをダウンロードします。
curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”

ダウンロードしたzipファイルを解凍します。
unzip awscliv2.zip

解凍したファイルをインストールします。
sudo ./aws/install

インストールを確認します。
aws –version

AWS CLI 用の IAM ユーザーを作成
Linuxサーバ(RedHatEnterpriseLinux評価版)でAWS CLI コマンドを実行して AWS リソースを操作するには、IAM ユーザーの権限が必要となります。
AWS CLI 用の IAM ユーザーを作成する際、Linuxサーバ(RedHatEnterpriseLinux評価版)へ埋め込む用のアクセスキー(アクセスキーとシークレットアクセスキーのペア)も同時に作成します。
AWS マネジメントコンソールのIAM コンソールで [ユーザー] > [ユーザーの作成] をクリックします。

任意の「ユーザー名」を入力、「AWSマネジメントコンソールへのユーザーアクセスを提供する – オプション」をチェックし、「IAMユーザーを作成します」を選択します。
任意の「カスタムパスワード」を入力、「ユーザーは次回のサインイン時に新しいパスワードを作成する必要があります – 推奨」のチェックを外し「次へ」をクリックします。

「許可のオプション」は、「ポリシーを直接アタッチする」を選択、「許可ポリシー」は、「AmazonS3FullAccess」を検索してチェックを入れ、「次へ」をクリックします。

内容を確認して「ユーザーの作成」をクリックします。

「.csvファイルをダウンロード」をクリックし、CSVファイルをダウンロードしておきます。

アクセスキーの作成
ユーザー作成後にユーザー名(cli-user)をクリック、「セキュリティ認証情報」タブを選択し、「アクセスキーを作成」をクリックします。

「コマンドラインインターフェイス(CLI)」を選択、画面下の「上記のレコメンデーションを理解し、アクセスキーを作成します。」にチェックを入れて、「次へ」をクリックします。

説明タグは何も入力せずに「アクセスキーを作成」をクリックします。

「.csvファイルをダウンロード」からCSVファイルをダウンロードした後、「完了」をクリックします。
シークレットアクセスキーを表示またはダウンロードできる唯一の機会です。後で復元することはできないのでここで必ず確認、もしくはダウンロードしておいてください。

「セキュリティ認証情報」タブの「アクセスキー」が更新されました。

LinuxサーバへIAM ユーザーのアクセスキーを設定
ダウンロードしたファイルの中身を確認して、aws configure コマンドでLinux クライアント端末にアクセスキー(アクセスキーとシークレットアクセスキーの文字列)を設定します。
aws configure コマンドを実行し、対話形式でアクセスキーとシークレットアクセスキーを設定します。


設定したクレデンシャル情報は、AWS CLI をインストールしたユーザーのホームディレクトリの「.aws」の配下に、以下のように格納されています。

AWS CLI コマンドを実行してS3を操作する
次に S3 もAWS CLIコマンドで操作してみます。
S3 のバケット名の確認とファイルのアップロード、削除を検証してみます。
バケットの一覧を表示する
バケットの一覧を表示するコマンドを実行するとバケット名が表示されました。
aws s3 ls

ローカルのファイルをバケットへアップロードする
/root/20250717.txt ファイルをバケット直下へアップロードしてみます。

ローカルのファイルをバケットにアップロードするコマンド
aws s3 cp {ファイルパス} s3://{バケット名}/{パス}
aws s3 cp /root/20250717.txt s3://mybucket-20250703-02/

アップロードされました!

バケット内のファイルを削除する
アップロードしたファイルをAWS CLIで削除してみます。
バケットのファイルを削除する
aws s3 rm s3://{バケット名}/{ファイルパス}
aws s3 rm s3://mybucket-20250703-02/20250717.txt

削除されました!

まとめ
今回は、Linuxサーバ(RedHatEnterpriseLinux評価版)へAWS CLIをインストールしてAWSリソース( S3)へ接続できるか検証してみました。
次は、AWSのパブリックサブネット内のEC2インスタンスからS3へアクセスできるか検証したいと思います。
以下、他の記事をまとめた一覧です。AWSもまとめています。