Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

AWSのコマンドについてまとめています。

AWSのコマンドラインインタフェース(CLI)

AWSには、AWSマネジメントコンソールから開ける各種AWSサービスのGUI画面のほか、コマンドラインで操作できるコマンドラインインタフェース(AWS CLI)やプログラムやシェルスクリプトに組み込みが可能なAPI(AWS API)といったインタフェースが提供されています。

コマンドラインインタフェースのメリットは、複数の異なるAWSサービスを同一のインタフェースから連続して操作できるという点、操作記録のログが取りやすいという点、BATファイルのように単純な処理を自動化しやすいというメリットがあります。デメリットは、コマンドを知らないと実行できないという点です。

【関連記事】
AWSをエンジニアっぽく黒画面でコマンド操作「AWS CLI」 | ポテパンスタイル

AWSのコマンドラインインタフェース(CLI)のインストール

AWSのコマンドラインインタフェースを利用するには、AWS CLIをインストールする必要があります。AWS CLIは、Linux、Mac OS、Windows用が用意されています。

たとえばLinux版のAWS CLIは、CentOS、Fedora、Ubuntu、Amazon Linux 1、Amazon Linux 2、LinuxARMといった最近のディストリビューションの64ビットバージョンに対応しています。

【関連記事】
AWS CLIのインストール方法 AWSアクセスキーの登録と疎通確認

お使いの環境にAWS CLIがインストールされているかを確認するには、以下のコマンドでawsのバージョンを表示させます。

$ aws --v
aws-cli/2.2.31 Python/3.8.8 Linux/5.4.72-microsoft-standard-WSL2 exe/x86_64.ubuntu.20 prompt/off

AWS CLIは64ビット専用です。32ビット環境にインストールしても、以下のエラーが出力されてコマンドの実行ができません。(Ubuntu 32ビットで実行した例)

$ aws
-bash: /usr/local/bin/aws: バイナリファイルを実行できません: 実行形式エラー

aws cliでAWSサービスを操作するには、アクセスキーの登録が必要です。

【関連記事】
AWSのアクセスキーの作成や管理方法 シークレットアクセスキーの確認方法は無い

aws configreで、AWS CLIにアクセスキーを登録

aws configureを実行してアクセスキーIDと、シークレットアクセスキーを登録します。すでに登録されている場合には、AWS Access Key ID(アクセスキーID)とAWS Secret Access Key (シークレットアクセスキー)の一部が表示されます。

$ aws configure
AWS Access Key ID [****************WQII]:
AWS Secret Access Key [****************sGj1]:
Default region name [ap-northeast-1]:
Default output format [text]:

アクセスキー情報は、Linux版AWS CLIだと、~/.aws/configと、~/.aws/credentialsにファイル保存されます。

$ ls ~/.aws
cli  config  credentials
$ cat ~/.aws/config
[default]
region = ap-northeast-1
output = text
$ cat ~/.aws/credentials
[default]
aws_access_key_id = ##############
aws_secret_access_key = ################

実際には、~/.aws/credentialsのアクセスキーIDと、シークレットアクセスキーは暗号化されていない平文で保存されています。AWSの公式サイトによると、「アクセスキーを定期的に変更する」ことが推奨されています。

また、非公式のaws vaultというオープンソースソフトウェアを使用することで、Linux端末に保管されるアクセスキーIDとシークレットアクセスキーを暗号化することができます。aws vaultはGitHubに共有されています。

関連)GitHub – 99designs/aws-vault: A vault for securely storing and accessing AWS credentials in development environments

関連)AWS Vaultで端末内のAWSアクセスキー平文保存をやめてみた | DevelopersIO

AWS CLIのコマンド一覧

AWS CLIのVer2以降では、コマンド補完機能があり、以下のように「–cli-auto-prompt」オプションを付加して実行すると、1文字入力するごとに候補が表示されます。

aws --cli-auto-prompt

コマンドラインインタフェースでありながら、メニュー選択のような感覚でコマンドを選べるんですね。

aws コマンドは以下のように、awsに続けて<コマンド> <サブコマンド> <オプション>といったふうに必要な値を指定します。

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]

例えば、ec2のインスタンスを起動するコマンドは以下のようになります。

aws ec2 run-instances \
--image-id ami-xxxxx\
--count 1 \
--instance-type t2.micro \
--key-name example_key_pair \
--security-groups example-sg-group

<command>に当たる部分の一覧は、「aws xxx」のように存在しないコマンドを指定すると表示されます。

$ aws xxx
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
 :
 :

aws: error: argument command: Invalid choice, valid choices are:

accessanalyzer                           | acm
acm-pca                                  | alexaforbusiness
amp                                      | amplify
amplifybackend                           | apigateway
apigatewaymanagementapi                  | apigatewayv2
appconfig                                | appflow
appintegrations                          | application-autoscaling
application-insights                     | applicationcostprofiler
 :
 :

AWSのコマンドのまとめ

ポテパンダの一言メモ
  • AWSはコマンドラインインタフェースが用意されていて、AWS CLIコマンドをインストールすると使えるようになる
  • AWS CLIコマンドを使用するには、アクセスキーの登録が必要
  • AWS CLI(Ver2以降)では、コマンド補完機能があり、1文字入力すると候補が表示され、メニュー選択形式のように使用できる

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。