AWS CLIはローカル環境からAWSの各種リソースを操作するために非常に便利なツールです。個人開発でも利用頻度が高く、頻出するコマンドをいくつか紹介します。
1. AWS CLI の基本設定
AWS CLIを利用する前に、初期設定として aws configure でアクセスキーなどの情報を設定します。
aws configure
AWS Access Key ID: AWSのアクセスキーID
AWS Secret Access Key: 秘密アクセスキー
Default region name: ex. ap-northeast-1 (東京リージョン)
Default output format: 通常は json が多い
こうしておけば、以降のコマンドで都度リージョン指定などをしなくてもよくなります。
2. S3 関連コマンド
AWS S3はよく利用されるオブジェクトストレージです。個人開発でもファイルのホスティングやバックアップ先として利用することが多いです。
バケット一覧の確認
aws s3 ls
バケットへのファイルアップロード
aws s3 cp <ローカルファイル> s3://<バケット名>/<アップロード先>
ローカルへのダウンロード
aws s3 cp s3://<バケット名>/<ファイルパス> <保存先>
同期アップロード: ローカルディレクトリとS3を同期
aws s3 sync <ローカルディレクトリ> s3://<バケット名>/<パス>
3. EC2 関連コマンド
個人開発でも、EC2インスタンスを利用する機会はよくあります。基本的にインスタンスの一覧を確認したり、新規インスタンス作成などを行います。
インスタンス一覧
aws ec2 describe-instances
インスタンスの詳細情報が大量に出力されます。必要に応じて --query オプションなどを用いてフィルタリングできます。
AMI一覧確認
aws ec2 describe-images --owners self amazon
独自に作成したAMIやAmazon公式のAMIを確認できます。
インスタンス起動例
aws ec2 run-instances \
--image-id <AMI-ID> \
--count 1 \
--instance-type t2.micro \
--key-name <SSH鍵名> \
--security-group-ids <セキュリティグループID>
4. ECR 関連コマンド
DockerコンテナのイメージをAWS上に保存・管理するためのサービスがECR (Elastic Container Registry)です。個人開発でECSやFargateを使う際にはお世話になる場面が多いでしょう。
リポジトリ一覧
aws ecr describe-repositories
Dockerイメージのプッシュ手順
ECRにログイン (認証トークン発行)
aws ecr get-login-password | docker login --username AWS --password-stdin <AWSアカウントID>.dkr.ecr.<リージョン>.amazonaws.com
ローカルでDockerイメージをビルド
docker build -t <リポジトリ名> .
タグ付け
docker tag <リポジトリ名>:latest <AWSアカウントID>.dkr.ecr.<リージョン>.amazonaws.com/<リポジトリ名>:latest
プッシュ
docker push <AWSアカウントID>.dkr.ecr.<リージョン>.amazonaws.com/<リポジトリ名>:latest
5. Lambda 関連コマンド
AWS Lambdaはサーバーレスでコードを実行できる便利なサービスです。CLI上からコードのデプロイなども可能です。
関数一覧
aws lambda list-functions
関数更新 (ZIPファイルをアップロード)
aws lambda update-function-code \
--function-name <Lambda関数名> \
--zip-file fileb://<デプロイ用ZIPファイル>
実行テスト
aws lambda invoke \
--function-name <Lambda関数名> \
--payload '{"key":"value"}' \
response.json
実行結果は response.json に出力されます。
6. DynamoDB 関連コマンド
NoSQLデータベースのDynamoDBも個人開発で利用する機会が比較的多いサービスです。
テーブル一覧の確認
aws dynamodb list-tables
テーブル作成 (例)
aws dynamodb create-table \
--table-name <テーブル名> \
--attribute-definitions AttributeName=Id,AttributeType=S \
--key-schema AttributeName=Id,KeyType=HASH \
--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
項目の書き込み (put-item)
aws dynamodb put-item \
--table-name <テーブル名> \
--item '{"Id":{"S":"123"},"Name":{"S":"Test"}}'
7. CloudFormation 関連コマンド
インフラをコードとして管理する際にCloudFormationを使う場合、以下のCLIコマンドを活用すると便利です。
スタック一覧
aws cloudformation list-stacks
スタック作成
aws cloudformation create-stack \
--stack-name <スタック名> \
--template-body file://<テンプレートファイル>.yaml \
--parameters ParameterKey=Example,ParameterValue=MyValue
スタック削除
aws cloudformation delete-stack \
--stack-name <スタック名>
8. まとめ
ここで紹介したコマンドはAWS CLIのごく一部です。個人開発ではまず aws configure で認証とリージョンを設定し、あとは必要なサービスのCLIコマンドを調べながら使っていくことで効率良くAWSを操作できます。AWSの公式ドキュメントには各オプションも詳しく載っているため、さらに深く学びたい場合は必見です。
以上、個人開発でよく使うAWS CLIコマンドの簡単なまとめでした。