https://aws.amazon.com/jp/cli/
which aws
aws --version
以下のように返ってくればインストールok
/usr/local/bin/aws
aws-cli/2.11.17 Python/3.11.3 Darwin/22.4.0 exe/x86_64 prompt/off
次の2つの設定が必要です。設定しましょう。
2-1. アクセスキーを作成する ( ~/.aws/credentials )
2-2. 認証情報のプロファイルを設定する ( ~/.aws/config )
AWSコンソールログイン → IAM → ユーザー →(対象のユーザー選択)→ セキュリティ認証情報→ アクセスキーの作成
から作成します。
↓
↓
最後にCSVファイルをダウンロードします。ダウンロードしたファイルは ~/aws_cli/ にでも保存しておきましょう。
コマンドラインから次のコマンドで設定を行います
<プロファイル名>のところは IAM ユーザー名にしておくとわかりやすいと思います
aws configure --profile <プロファイル名>
aws configure
AWS Access Key ID [None]: <アクセスキーID。ダウンロードしたCSVからコピーする>
AWS Secret Access Key [None]: <シークレットアクセスキー。ダウンロードしたCSVからコピーする>
Default region name [None]: <リージョン。例 : us-west-2>
Default output format [None]: json
作成されたプロファイルの確認
cd ~/.aws
ls -la
cat config
cat credentials
これでとりあえずの準備が完了です
プロファイルを削除するにはファイルごと削除するか、エディタで開いて対象のプロファイルを削除します。
cat ~/.aws/credentials
とすればわかるように、いくら自分のローカル端末とは言え平文のままでは危険です。
aws-vault を設定しましょう。
aws-vault を使って AWS のアクセスキーを暗号化して扱おう | microCMSブログ
S3 の ディレクトリ一覧を取得する
export AWS_PROFILE=my-profile
aws s3 ls
通常は .bash_profile にでも指定しておきます
.bash_profile
# AWS CLI
export AWS_PROFILE=my-profile
S3 の ディレクトリ一覧を取得する
aws s3 ls --profile my-profile
プロファイルを先に指定してもokです
aws --profile my-profile s3 ls
ユーザー情報を取得
aws sts get-caller-identity
バケット(フォルダ)内のファイル数とファイルサイズの合計を取得
aws s3 ls s3://[バケット名]/[フォルダ名]/ --recursive --human --sum
S3上のファイルをローカルにダウンロードする
aws s3 cp s3://【バケット名】/【フォルダ名】/ ./
S3上のフォルダ内のすべてのファイルを一括でをローカルにダウンロードする
aws s3 cp s3://【バケット名】/【フォルダ名】/ ./ --recursive
カレントディレクトリ内の sample.txt を S3 の backet-name/fonder-name にアップロードする
aws s3 cp ./sample.txt s3://backet-name/fonder-name
カレントディレクトリごと backet-name/fonder-name にアップロードする
aws s3 cp ./ s3://backet-name/fonder-name --recursive
# バケットの一覧を表示する
aws s3 ls
# バケットの内容を表示する
aws s3 ls s3://{バケット名}/{パス}
# バケットを作成する
aws s3 mb s3://{バケット名}
# バケットを削除する(空でない場合は削除されない)
aws s3 rb s3://{バケット名}
# バケットを削除する(空でなくても削除される)
aws s3 rb s3://{バケット名} --force
# バケットの内容をローカルのフォルダと同期する(追加・更新のみで削除されない)
aws s3 sync {フォルダパス} s3://{バケット名}/{パス}
# バケットの内容をローカルのフォルダと同期する(削除もされる)
aws s3 sync {フォルダパス} s3://{バケット名}/{パス} --delete
# ローカルのファイルをバケットにコピーする
aws s3 cp {ファイルパス} s3://{バケット名}/{パス}
# ローカルのファイルをバケットに移動する
aws s3 mv {ファイルパス} s3://{バケット名}/{パス}
# バケットのファイルを削除する
aws s3 rm s3://{バケット名}/{ファイルパス}
# バケットのフォルダを削除する
aws s3 rm s3://{バケット名}/{フォルダパス} --recursive
引用元 : https://bit.ly/44wCXCn
もしIAMユーザーがない場合はIAM ユーザーの作成をしましょう
AWS コンソールにログインしたら、IAM で検索して移動し、以下のリンクからユーザーを作成します。
直接IAMユーザーを作成する場合は「IAMユーザーを作成します」を選択します
管理者権限を持ったIAMユーザーを作成する場合は以下の例のようにユーザーグループ「AdminUserGroup」を作成します。
(その後、IAMユーザー作成完了後に作成したユーザーに対してユーザーグループを設定します)
管理者権限を持ったIAMユーザーに請求—ボードへのアクセスを許可する場合は次のURLから設定を変更します
https://console.aws.amazon.com/billing/home#/account
( クリック後に画面の下の方までスクロールして、「AM ユーザー/ロールによる請求情報へのアクセス」を探します )