今回はAWS管理統合ツールであるAWS CLIを使ってS3にファイルをアップロードするTipsです。
『クラウドの容量は無限、安心安全』を謳っても、手作業で手元の無数のファイルを1つ1つクラウドにアップロードすると日が暮れてしまいますよね…。便利なのはわかるけど、移行するのは面倒くさい。
しかしAWS CLIというコマンドラインを利用してAWSを操作できちゃうのです。そんなわけで、ばすっと1発ぶちこんで終わらせようと思います。
S3関連記事
- AWS CLIでAWS S3にアップロード ダウンロード
- AWS S3 バージョニング機能で復元
- AWS S3 公開 非公開設定
- AWS CloudFront+S3で作るCDNエッジサーバ
- AWS SES + S3でメール受信環境を構築 AWSで無料サーバ証明書_1
- AWS SES + S3でメール受信環境を構築 AWSで無料サーバ証明書_2
- AWS S3 + Nephila clavataによるWordPress画像サーバ
まずはIAMでS3ユーザを作成します。
【サービス】>>【IAM】>>【グループ】>> 【新しいグループの作成】をクリックします。
グループ名の設定として【s3-users】として、【次のステップ】をクリックします。
グループポリシーのアタッチ
ポリシータイプの検索窓に【S3】と入力すると、S3関連のポリシーがずらずらでてきます。
AWS S3へのフルアクセス権限にチェックを入れて設定しました。
【グループの作成】をクリックします。
ユーザの作成
【ユーザ】>> 【ユーザを追加】をクリックします。
ユーザ名に”sg-user-demo”と設定し、【プログラムによるアクセス】にチェックを入れ、【アクセス権限】をクリックします。
【ユーザをグループに追加】タブをクリックして、先程追加したグループ名にチェックをいれ、【確認】をクリックします。
【ユーザの作成】をクリックします。
成功しました。
- ユーザ名
- アクセスキーID
- シークレットアクセスキー
3つをメモして控えて下さい。
S3のバケットを作成します。
【サービス】>> 【S3】をクリックします。
【バケットを作成する】をクリックします。
バケット名、リージョンを任意で入力して下さい。
バージョニングは有効にした方がいいかと思いますが任意で選択して下さい。
【次へ】をクリックしましょう。
【次へ】をクリックします。
【バケットを作成】をクリックします。
バケットが出来ました。
【フォルダの作成】をクリックします。
任意のフォルダ名を入力し、【保存】をクリックします。
AWS CLIのインストール
いよいよコマンドで操作する
1 |
# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" |
1 |
# python get-pip.py |
1 |
# pip install awscli |
AWS CLI設定
1 2 3 4 5 6 |
# aws configure AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxx Default region name [None]: ap-northeast-1 Default output format [None]: json |
- AWS Access Key ID : IAMユーザ作成時のもの
- AWS Secret Access Key : IAMユーザ作成時のもの
- Default region name : 適切なリージョンを
- Default output format :json
対話形式で設定を行って下さい。
バケットが見れるか確認します。
1 2 |
# aws s3 ls 2017-09-06 14:59:41 s3-sg-demo |
アップロード
アップロードを行います。
1 |
# aws s3 cp wordpress s3://s3-sg-demo/minaide/ --recursive |
※解説
# aws s3 cp wordpress s3://バケット名/フォルダ名/ –recursive
アップロード出来ました。
S3のバケットを見てみよう
フォルダをクリックします。
アップロードされていることを確認出来ました。
ちなみに、ダウンロードは逆にします。
1 |
# aws s3 cp s3://s3-sg-demo/minaide/ /root/destination/ --recursive |
IAMから掲載したので長くなりましたね。
お疲れ様です。