■ はじめに
EC2からAWS コマンドラインインターフェイス (AWS CLI) により、 Amazon S3にデータ更新、同期を行う
https://dk521123.hatenablog.com/entry/2017/03/06/212734
目次
【1】S3関連のAWS CLI 1)サンプル 2)公式サイト 3)その他のコマンド 【2】ハンズオン 1)S3 バケットの作成 2)IAMを設定する 3)EC2に最新の AWS CLIをインストールする 4)AWS CLI でAmazon S3にファイルをアップロード/同期させる 5)S3内のファイルを一覧表示する 6)アップロード
【1】S3関連のAWS CLI
# | コマンド | 説明 |
---|---|---|
1 | aws s3 ls (s3://【S3のバケット名】) | 一覧表示 |
2 | aws s3 cp <コピー元> <コピー先> (--recursive) | コピー(アップロード/ダウンロード) --recursive : ディレクトリまるっとコピー |
3 | aws s3 sync <同期元> <同期先> | 同期 |
Amazon S3 ~ AWS CLI / aws s3 ls ~
https://dk521123.hatenablog.com/entry/2024/10/07/152215
Amazon S3 ~ AWS CLI / aws s3 sync ~
https://dk521123.hatenablog.com/entry/2024/06/06/203209
1)サンプル
$ aws s3 ls s3://your-bucket # アップロード $ aws s3 cp s3://your-bucket/sample ./ --recursive # 別の AWS アカウントのS3にアップロード # https://aws.amazon.com/jp/premiumsupport/knowledge-center/s3-bucket-owner-access/ $ aws s3 cp s3://your-bucket/sample/hello.txt s3://other-bucket/world.txt --acl bucket-owner-full-control $ aws s3 sync s3://your-bucket/hello ./hello
2)公式サイト
* AWS CLIについて、以下の公式サイトを参照のこと。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-s3-commands.html
3)その他のコマンド
その他のコマンドは以下のサイトを参照のこと
http://www.task-notes.com/entry/20150904/1441335600
【2】ハンズオン
* Hello World的なことを行ってみる
概要
1)S3 バケットの作成 2)IAMを設定する 3)EC2に最新の AWS CLIをインストールする 4)AWS CLI でAmazon S3にファイルをアップロード/同期させる
前提条件
* EC2(Amazon Linux)が作成されていること(以下の関連記事を参照のこと)
https://dk521123.hatenablog.com/entry/2017/03/06/212734
1)S3 バケットの作成
[1-1] [S3]-[バケット作成]を選択
AWSログイン後に [S3]-[バケット作成]を選択
[1-2] バケット名入力
以下を入力し、「作成」ボタン押下 + バケット名:任意 (!!注意!!「グローバルでユニーク」である文字列を入力すること) + リージョン:アジアパシフィック(東京)
2)IAMを設定する
AWS Identity and Access Management (IAM) について、以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2017/02/26/231046
[2-1] [IAM]-[ユーザー]-[ユーザーを追加]を選択
AWSログイン後に [IAM]-[ユーザー]-[ユーザーを追加]を選択
[2-2] 「次のステップ:アクセス権限」ボタン押下
「ユーザーを追加」で以下を入力すると、「次のステップ:アクセス権限」ボタン押下 + ユーザー名:任意のユーザー名 + アクセス種類:「プログラムによるアクセス」にチェック入れる
[2-3] IAMロールの追加
IAMユーザー名のアクセス権限において、 「ポリシータイプ」に「AmazonS3」を入力しEnterキー押下し、 「AmazonS3FullAccess」にチェックを入れ、 「次のステップ:確認」ボタン押下
[2-4] ユーザ作成実行
「ユーザーの作成」ボタン押下
[2-5] 閉じる
「表示」リンク押下で 「アクセスキーID」「シークレットアクセスキー」を コピーしたりして取っておき、「閉じる」ボタン押下(後で使う)
3)EC2に最新の AWS CLIをインストールする
EC2にTera TarmなどのSSHクライアントでログインアクセスし、 以下のコマンドを入力し、既存のAWS CLIを一旦アンインストール ~~~~ sudo yum remove -y aws-cli ~~~~
以下のコマンドを入力し、最新のAWS CLIをインストール ~~~~ sudo pip install awscli ~~~~
[3-3] 設定する
「aws configure」コマンドで入力し、 手順[2-4]で表示された「アクセスキーID」「シークレットアクセスキー」 などを入力する ~~~~ aws configure AWS Access Key ID [None]: [アクセスキーIDを入力] AWS Secret Access Key [None]: [シークレットアクセスキーを入力] Default region name [None]: ap-northeast-1 (東京リージョン) Default output format [None]: [(何も入力せずに)Enterキー押下] ~~~~
4)AWS CLI でAmazon S3にファイルをアップロード/同期を試す
[4-1] 事前準備をする
EC2にTera TarmなどのSSHクライアントでログインアクセスし、 準備として、以下のコマンドを入力 ~~~~ # 作業用ディレクトリ「sample」を作成する mkdir sample # 作業用ディレクトリ「sample」に移動 cd sample # S3にアップロードするファイル「hello.txt」を作成する echo hello >> hello.txt # hello.txtがあるか確認する ls ~~~~
5)S3内のファイルを一覧表示する
# S3内のファイルを一覧表示する(はじめは何もないはず) aws s3 ls s3://【手順[1-2]のS3のバケット名】
6)アップロード
# hello.txtをS3内にコピーする(アップロード) aws s3 cp ./hello.txt s3://【手順[1-2]のS3のバケット名】 # S3内のファイルを一覧表示する(「hello.txt」が表示されるはず) aws s3 ls s3://【手順[1-2]のS3のバケット名】
関連記事
Amazon S3 ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2017/03/06/212734
Amazon S3 ~ aws s3api ~
https://dk521123.hatenablog.com/entry/2024/05/22/235922
Amazon S3 ~ AWS CLI / aws s3 ls ~
https://dk521123.hatenablog.com/entry/2024/10/07/152215
Amazon S3 ~ AWS CLI / aws s3 sync ~
https://dk521123.hatenablog.com/entry/2024/06/06/203209
S3権限周りのトラブルシュート
https://dk521123.hatenablog.com/entry/2024/01/04/000000