LoginSignup
2
2

More than 3 years have passed since last update.

AWS CLIの使い方

Last updated at Posted at 2019-04-22

AWSをCLIで使う機会があったのでそれをまとめます。

pythonで使う場合

pythonで使う場合はboto3というライブラリをインストールします。

pip install boto3

あとは以下同様にすれば使えます

IAM roleを設定する

AWSコンソールで、IAM roleを作成しましょう。与えるアクセス権は適当に決めてください。
作成したら、その時しか見れないAWS_SECRET_ACCESS_KEYが出るのでどこかに目盛りましょう。無くしたら再度ROLEを作り直せばいいです。

参考:
AWS では、アクセスキーのシークレットアクセスキーの部分を表示およびダウンロードする機会が 1 回限り与えられます。これをダウンロードしない場合や紛失した場合は、アクセスキーを削除して新しいアクセスキーを作成できます。
(https://docs.aws.amazon.com/ja_jp/general/latest/gr/managing-aws-access-keys.html)

AWSCLI

次にAWSCLIのインストール
自分がやったときは仮想環境だったので
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-virtualenv.html
に従いました。—userを入れないだけが違い

あとは適当に
~/.aws/credentials
~/.aws/config
に必要な認証情報を書き込めばOKです。

aws configure
AWS Access Key ID: xxxxxxxxxxxxxxxxx
AWS Secret Access Key: xxxxxxxxxxxxxxxxx
Default region name: xxxxxxxx
Default output format: xxxx

S3を使ってみる

python環境で、S3のデータを操作してみました。

import boto3
s3=boto3.resource('s3')
bucket = s3.Bucket('バケット名')

としたり

from boto3 import Session
s3client = Session().client('s3')

response = s3client.list_objects(
    Bucket = 'バケット名'
)

とするといけます。適当に調べて使いましょう。

boto3 の罠

同じアカウントで、複数のプロジェクトを管理したりする場合など、IAMロールに限られたアクセス権しかないときがあります。例えば
s3://-projectA
|-projectB
として、一つのIMAロールがprojectAにしかアクセスできないようにしているとしましょう。
このとき、

import boto3

s3 = boto3.resource('s3')

for bucket in s3.buckets.all():
    print(bucket.name)

としてしまうと罠にハマります。このコマンドはアカウント内の全てのバケットを探しに行きます。なので一つでもアクセスできないものがあると、access denied になってしまうのです。更にタチが悪いのが、AWSCLIからは普通にアクセスできる(バケットリスト一覧を表示する機能はないはずですので、s3://projectAとアクセスするはずです)のです。
気をつけましょう。

AWS sagemakerを使う

その他

source set_kvs_sdk_env.sh
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export AWS_DEFAULT_REGION=

AWS ロールを作った
https://dev.classmethod.jp/cloud/aws/rekognition-video-analyze-kinesis-video-stream/
これを参考

ロールARNは

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2