Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@krppppp

AWS CLI 基本コマンド(早引き)

More than 1 year has passed since last update.

主に業務で使用するコマンドのメモ。現場が変わると支給マシンが変わることが多く設定の度にGoogle先生を頼るのを辞めるため。
使ったものは順次追記していきます(多分)。

エンジニアっぽい言い回しが嫌いなので砕けた言葉でメモしていく。

OSはLINUX

AWS CLIとは

簡単に。

AWSを触り始めてから長いことAWSをGUIでポチポチいじっていた。
S3: ドラッグ&ドロップ→キャッシュクリア
CloudFront: キャッシュクリア
Lambda: ドラッグ&ドロップ→デプロイ
などなど。

一回の作業が慣れれば1分でおわるにしても"塵積も"な訳で、お金もらってやってる以上こんなことではいけない。小学生でもできる。
なんならボタンの押し忘れが1回でもあれば想定通り動かないものだったりする。小学生以下だ。

そこでコマンドを通じて上記のような日々の繰り返し業務を短縮できるのがAWS CLI(AWS Command Line Interface)だ。
コピペですむし、タイポがあればコマンドが通らない(はず)だからミスも軽減!ってわけ!

インストール

まずは肝心のAWS CLI(AWS Command Line Interface)をインストール。

引用: https://qiita.com/m1ul24/items/603e987e39464a65f5a4

ユーザ作成&アクセスキー取得

大抵現場であればお偉いさんがやってくれるから、そうであればパス

↓自分でおこなう場合↓
引用:https://qiita.com/miwato/items/291c7a8c557908de5833

ユーザーとロールについて

様々な現場をいったりきたりして、現在4つ目。
関わったAWSアカウントの数も4つで、相手企業さんからしたら僕が全権限をもった状態でAWSの中身を見られたら困る訳で(データを壊したり・盗んだりなど)
そのためにルール(ロール)をあたえられた役職アカウント(ユーザー)が発行される。

ルールは細かく設定でき、
S3というサービスの特定のバケットを触ることは愚か見ることしかできない
なんて細かく設定できる。

役職アカウントを現場のお偉いさんが作成したあと、大抵社内メールで送られてくるのが以下二つ

AWS Access Key ID [None]: 12Example180109120
AWS Secret Access Key [None]: ABC6789Example698789

英数字ランダムのパスワード(Key)みたいなもの。

これをローカルのマシンに初期設定(default)しておくことで、現場でターミナルから企業さんのAWS内部のサービスを触れる。

初期設定

引用:https://qiita.com/shonansurvivors/items/1fb53a2d3b8dddab6629

AWS CLIインストール直後に
aws configureコマンド
を打つと複数の入力を1個ずつ求められる。

$ aws configure
AWS Access Key ID [None]: アクセスキーIDを入力
AWS Secret Access Key [None]: シークレットアクセスキーを入力
Default region name [None]: リージョンを入力(ap-northeast-1等)
Default output format [None]: jsonなどのformat

↓今回の例の場合↓

$ aws configure
AWS Access Key ID [None]: 12Example180109120
AWS Secret Access Key [None]: ABC6789Example698789
Default region name [None]: ap-northeast-1
Default output format [None]: json

上記の設定を行うと、

~/.aws/config
~/.aws/credentials
のそれぞれに設定内容が書き込まれます。

~/.aws/configの内容

~/.aws/configには、リージョンと出力形式が書き込まれます。

$ cat ~/.aws/config
[default]
region = ap-northeast-1
output = json

~/.aws/credentialsの内容

~/.aws/credentialsには、アクセスキーIDとシークレットアクセスキーが書き込まれます。

$ cat ~/.aws/credentials 
[default]
aws_access_key_id = 12Example180109120
aws_secret_access_key = ABC6789Example698789

以上。

プロファイル(profile)

ここまでで、1ユーザーの登録ができました。
これは企業さんのAWSのユーザーです。

では、自分個人のAWSのアカウント発行して、休日にいじって行きたい場合はどうするか。
自分のAWSでユーザーを作成してマシンに別のユーザーとして登録することが必要となる。ローカルに登録するユーザーの単位をプロファイルと呼んでいる。

逆引きリファレンス

プロファイルの作成(profile)

$ aws configure --profile プロファイルの名前

$ aws configure --profile my-aws-account1

コマンド入力後、登録する際に求められる内容は初期と同じなので割愛

現在使用中 != default プロファイルの確認

$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>           manual    --profile
access_key     12Example180109120   shared-credentials-file    
secret_key     ABC6789Example698789 shared-credentials-file 

defaultプロファイルの変更

AWS_DEFAULT_PROFILE という環境変数にプロファイル名を設定するだけ

$ export AWS_DEFAULT_PROFILE=my-aws-account1

確認コマンド

$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile           my-aws-account1           manual    --profile
access_key     *************ExAmPle   shared-credentials-file    
secret_key     *************ExaMpLe   shared-credentials-file 
2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
krppppp

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?