AWS CLIは、Amazon Web Servicesの公式コマンドラインツール。200以上のAWSサービスをターミナルから叩ける。2025年9月現在、v2が主流でかなり使いやすくなった。
日本の開発環境でAWS CLIが解決する現実的な問題
深夜障害対応の救世主
東京リージョン(ap-northeast-1)で運用してる人なら分かるよね。深夜2時にSlackでアラート爆発、寝ぼけ眼でSSHしようとしたらインスタンス死んでる。
EC2インスタンス障害時の対応
またかよ...AWSコンソールをブラウザで開いて、MFAでログインして、リージョン切り替えて...なんてやってる間にダウンタイムは延びる一方。
AWS CLIがあれば、パジャマ姿でも寝ぼけ眼でもターミナルから1発で復旧できる。AWSコンソールのMFA地獄と違って、configファイル1回設定すれば後は楽勝:
## 死んでるインスタンス特定(よく使うから覚えとけ)
aws ec2 describe-instances --filters \"Name=instance-state-name,Values=stopped\" \\
--query 'Reservations[].Instances[].[InstanceId,Tags[?Key==`Name`].Value|[0]]' --output table
## 緊急再起動(寝ぼけててもコピペで済む)
aws ec2 start-instances --instance-ids $(aws ec2 describe-instances \\
--filters \"Name=tag:Name,Values=web-server\" \"Name=instance-state-name,Values=stopped\" \\
--query 'Reservations[].Instances[0].InstanceId' --output text)
CI/CDパイプラインの自動化
GitHub ActionsやJenkinsでAWSリソースをdeployする際、AWS CLIは必須です。特に日本の企業でよくある「staging環境とproduction環境の切り替え」や「複数アカウント管理」が楽になります。AWS CodePipelineやAWS CodeDeployとの連携も簡単です。
コスト管理の自動化
AWSコスト管理の自動化
「また今月のAWS請求額がヤバい...」経理から連絡来て、「何この請求額?」って聞かれた時の絶望感。前月の倍近い請求で、調べたらt3インスタンスが大量に放置されてた。しかも設定したやつもう辞めてるし。AWS CLIなら定期的なコスト監視script組めるから、こういう事故も防げる。
S3とストレージ管理
S3バケットの管理はAWS CLIの得意分野。ファイルのsyncやcp、権限設定、lifecycle管理まで全部コマンドラインで済む。特に大量ファイルの一括操作は、ブラウザじゃ絶対に無理。
v2になってやっと使い物になった
Python地獄から解放されたのが一番デカい。v1だとpython 3.8とboto3のバージョンが合わなくて、「ImportError: No module named 'botocore'」で朝からハマることがよくあった。macOSのシステムPythonが勝手にアップデートされて、pipの依存関係がぐちゃぐちゃになったり。v2は独立してるから、そういうクソみたいな問題はない。
Tab補完がまともに動くようになったのも助かる。aws s3 <Tab><Tab>
で候補が出るから、もうStackOverflowでsyncコマンドの構文をググる必要もない。Bash、Zsh、PowerShellどれでも動く。fish shellもプラグインがある。
大企業だとSSO認証が必須だが、IAM Identity Centerにちゃんと対応したのもv2のメリット。前のAWS SSOから名前変わったやつ。Active DirectoryやSAMLとか、大手企業でよくある認証システムとも連携できる。
MFA関連のエラーも減った。以前は「InvalidUserID.NotFound」で何回もロックアウトされて、IT部門に解除してもらうハメになったり。ただし、v2の初期バージョン(2.0.50台)はEKSで「unable to decode certificate」エラーが出て、kubectl使えなくなることがある。これで丸一日ハマった。v2.0.56以降なら大丈夫だけど。
操作ログもCloudTrailで自動記録されるから、「誰がproductionのEC2を止めた?」みたいな犯人探しも楽になった。
日本で使うときのハマりどころ
東京リージョンでのレイテンシ最適化
AWS CLIは東京リージョン(ap-northeast-1)との通信を最適化できます。--region ap-northeast-1
をデフォルトに設定すれば、毎回指定する手間も省けます。
日本語ドキュメントとコミュニティ
AWS公式の日本語ドキュメントも結構充実してる。JAWS-UGとかの日本のAWSコミュニティで活発に情報交換されてるし、クラスメソッドのDevelopersIOは実用的な記事が多い。AWSサミットの発表資料も参考になる。
企業のCompliance要件
日本企業でよくある「操作ログをすべて残す」要件も、CloudTrail連携で対応できる。監査で「このEC2誰が削除した?」って聞かれても、ちゃんと証跡が残ってるから安心。
結論:AWS CLIは「あったら便利」じゃなくて「ないと死ぬ」レベルの必須ツール。特にDevOps、インフラエンジニア、そして深夜障害で寿命を削ってる全てのエンジニアにとって、これ以上頼りになるツールはない。一度覚えたら手放せなくなる。