基本設定 & 一般操作
AWS CLIの初期設定や、多くのコマンドで共通して利用されるオプションについて説明します。これらはAWSリソースを操作する上での基本となります。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| 初回設定 | |
AWSアクセスキーID、シークレットアクセスキー、デフォルトリージョン、デフォルト出力形式を対話形式で設定します。設定情報は ~/.aws/credentials および ~/.aws/config に保存されます。 |
| 特定プロファイルでの設定 | |
デフォルト以外の名前付きプロファイルの設定を行います。複数のAWSアカウントや設定を使い分ける際に便利です。 |
| プロファイル指定実行 | |
指定したプロファイルを使用してコマンドを実行します。 |
| リージョン指定実行 | |
コマンドの実行対象となるリージョンを一時的に指定します。デフォルトリージョン設定を上書きします。 |
| 出力形式指定 (JSON) | |
コマンドの出力をJSON形式で表示します。プログラムでの処理に適しています。デフォルト設定を上書きします。 |
| 出力形式指定 (Text) | |
タブ区切りのテキスト形式で出力します。シェルスクリプトでの簡単なパースに適しています。 |
| 出力形式指定 (Table) | |
人間が読みやすいテーブル形式で出力します。 |
| 出力内容フィルタリング (JMESPath) | |
JMESPath構文を使用して、JSON出力から特定の情報のみを抽出します。複雑な出力から必要なデータだけを取り出すのに強力です。 |
| ヘルプ表示 | |
利用可能なサービスや、特定のサービス、特定のコマンドに関するヘルプドキュメントを表示します。利用可能なオプションやサブコマンドを確認できます。 |
| ドライラン (Dry Run) | |
コマンドを実行せずに、必要な権限があるか、パラメータが正しいかなどをチェックします。リソース変更を伴う操作の前に確認のために使用します。成功するとDryRunOperation、失敗するとエラーメッセージが返ります。(すべてのコマンドでサポートされているわけではありません) |
IAM (Identity and Access Management)
AWSリソースへのアクセスを安全に管理するためのユーザー、グループ、ロール、ポリシーに関する操作です。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| ユーザー一覧取得 | |
アカウント内のIAMユーザーを一覧表示します。 |
| ユーザー作成 | |
新しいIAMユーザーを作成します。 |
| ユーザー削除 | |
指定したIAMユーザーを削除します。事前にアクセスキーやポリシーなどをデタッチする必要があります。 |
| グループ一覧取得 | |
アカウント内のIAMグループを一覧表示します。 |
| グループ作成 | |
新しいIAMグループを作成します。 |
| ユーザーをグループに追加 | |
指定したユーザーを指定したグループに追加します。 |
| ユーザーをグループから削除 | |
指定したユーザーを指定したグループから削除します。 |
| ポリシー一覧取得 (管理ポリシー) | |
AWSが管理するマネージドポリシーを一覧表示します。--scope Localでカスタマー管理ポリシーを表示します。 |
| ポリシーをユーザーにアタッチ | |
指定したポリシーをIAMユーザーにアタッチします。ポリシーARNはarn:aws:iam::aws:policy/[ポリシー名]のような形式です。 |
| ポリシーをグループにアタッチ | |
指定したポリシーをIAMグループにアタッチします。 |
| ユーザーからポリシーをデタッチ | |
IAMユーザーから指定したポリシーをデタッチします。 |
| ロール一覧取得 | |
アカウント内のIAMロールを一覧表示します。 |
| ロール作成 | |
新しいIAMロールを作成します。信頼ポリシー(どのエンティティがこのロールを引き受けられるか)をJSONファイルで指定します。 |
| ポリシーをロールにアタッチ | |
指定したポリシーをIAMロールにアタッチします。 |
| 現在の呼び出し元ID取得 | |
現在AWS CLIを実行しているIAMユーザー、IAMロール、またはAWSアカウントに関する詳細情報を取得します。UserId, Account, Arn が返されます。 |
EC2 (Elastic Compute Cloud)
仮想サーバー(インスタンス)や関連リソース(セキュリティグループ、キーペアなど)の管理操作です。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| インスタンス一覧表示 | |
リージョン内のすべてのEC2インスタンスに関する詳細情報を取得します。多くの情報が含まれるため、--queryオプションでのフィルタリングが有効です。 |
| 特定のインスタンス情報表示 | |
指定したインスタンスIDのEC2インスタンスに関する詳細情報を取得します。 |
| インスタンスの状態フィルタリング | |
特定の状態(例: running, stopped)のインスタンスのみをフィルタリングして表示します。複数のフィルタ条件を指定可能です。 |
| インスタンス起動 | |
停止状態 (stopped) のEC2インスタンスを起動します。 |
| インスタンス停止 | |
実行中 (running) のEC2インスタンスを停止します。EBS-backedインスタンスの場合、ストレージは保持されます。 |
| インスタンス終了 (削除) | |
EC2インスタンスを完全に終了(削除)します。復元はできません。関連付けられたEBSボリュームの削除設定に注意してください。 |
| インスタンス作成 | |
指定したパラメータに基づいて新しいEC2インスタンスを起動します。AMI ID, インスタンスタイプ, キーペア, セキュリティグループ, サブネットなどを指定します。 |
| セキュリティグループ一覧表示 | |
リージョン内のセキュリティグループとそのルールを一覧表示します。 |
| セキュリティグループ作成 | |
新しいセキュリティグループを作成します。作成直後はインバウンドルールがありません。 |
| インバウンドルール追加 | |
指定したセキュリティグループにインバウンド(受信)ルールを追加します。例ではSSH(TCP/22)を特定のCIDRから許可しています。 |
| キーペア一覧表示 | |
リージョンに登録されているキーペアの名前とフィンガープリントを一覧表示します。秘密鍵自体は取得できません。 |
| キーペア作成 | |
新しいキーペアを作成し、秘密鍵をローカルファイル(例: .pem)に保存します。このコマンド実行時しか秘密鍵は取得できません。 |
| AMI一覧表示 (自身が所有) | |
自身のアカウントが所有するAMI(Amazon Machine Image)を一覧表示します。 |
| VPC一覧表示 | |
リージョン内のVPC(Virtual Private Cloud)を一覧表示します。 |
| サブネット一覧表示 | |
リージョン内のサブネットを一覧表示します。VPC IDでフィルタリングすることも可能です。 |
S3 (Simple Storage Service)
オブジェクトストレージサービスであるS3のバケットやオブジェクトを操作します。aws s3apiと高レベルなaws s3コマンドがあります。ここでは主にaws s3コマンドを扱います。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| バケット一覧表示 | |
所有するすべてのS3バケットを一覧表示します。 |
| バケット内オブジェクト一覧表示 | |
指定したS3バケット内のオブジェクトとプレフィックス(フォルダのようなもの)を一覧表示します。--recursiveオプションで再帰的に表示します。 |
| バケット作成 | |
新しいS3バケットを作成します。バケット名はグローバルで一意である必要があります。リージョン指定は必須ではありませんが、特定のリージョンに作成したい場合は指定します (例: us-east-1以外)。 |
| バケット削除 | |
空のS3バケットを削除します。--forceオプションは、バケットが空でない場合でもオブジェクトを削除してからバケットを削除します(注意して使用)。 |
| ファイルアップロード | |
ローカルファイルをS3バケットにアップロードします。オブジェクトキーに `/` を含めることでフォルダ構造のように見せかけることができます。 |
| ファイルダウンロード | |
S3バケットからオブジェクトをローカルにダウンロードします。 |
| フォルダ(プレフィックス)同期 (アップロード) | |
ローカルフォルダの内容をS3バケットの指定したプレフィックスと同期します。差分のみがアップロードされます。 |
| フォルダ(プレフィックス)同期 (ダウンロード) | |
S3バケットの指定したプレフィックスの内容をローカルフォルダと同期します。差分のみがダウンロードされます。 |
| オブジェクト削除 | |
S3バケットから指定したオブジェクトを削除します。 |
| フォルダ(プレフィックス)内オブジェクト一括削除 | |
指定したプレフィックス以下のすべてのオブジェクトを再帰的に削除します。 |
| オブジェクト移動/名前変更 | |
S3オブジェクトを移動または名前変更します(実体はコピー&削除)。同一バケット内、異なるバケット間どちらも可能です。 |
| 署名付きURL生成 | |
プライベートなS3オブジェクトに対して、一時的にアクセスを許可する署名付きURLを生成します。有効期間を指定できます。 |
CloudWatch
AWSリソースのモニタリング、ログの収集と監視を行うサービスです。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| アラーム一覧表示 | |
設定されているCloudWatchアラームを一覧表示します。アラーム名や状態でフィルタリングも可能です (--alarm-names, --state-value)。 |
| 特定アラーム履歴表示 | |
指定したアラームの状態変更履歴(OK, ALARM, INSUFFICIENT_DATA)を表示します。--history-item-typeで履歴タイプを指定できます。 |
| メトリクス一覧表示 | |
指定した名前空間(例: AWS/EC2, AWS/S3)に存在するメトリクスを一覧表示します。 |
| メトリクス統計取得 | |
指定したメトリクスの統計データ(平均、最大、最小など)を取得します。開始/終了日時 (ISO 8601形式)、期間(秒)、統計の種類を指定します。 |
| ロググループ一覧表示 | |
CloudWatch Logsのロググループを一覧表示します。--log-group-name-prefixでプレフィックスによる絞り込みが可能です。 |
| ログストリーム一覧表示 | |
指定したロググループ内のログストリームを一覧表示します。通常、新しい順に表示されます。 |
| ログイベント取得 | |
指定したログストリームからログイベントを取得します。--start-time, --end-timeで期間を指定したり、--limitで件数を制限できます。 |
| ログイベントフィルタリング検索 | |
複数のログストリームを横断して、指定したフィルタパターン(例: “ERROR”、”{$.userId = 1234}”など)に一致するログイベントを検索します。 |
RDS (Relational Database Service)
リレーショナルデータベースのセットアップ、運用、スケーリングを容易にするサービスです。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| DBインスタンス一覧表示 | |
リージョン内のRDS DBインスタンスを一覧表示します。 |
| 特定のDBインスタンス表示 | |
指定したDBインスタンス識別子の詳細情報を表示します。 |
| DBスナップショット一覧表示 | |
指定したDBインスタンスに関連する手動および自動スナップショットを一覧表示します。インスタンス識別子を省略すると全てのスナップショットが表示されます。 |
| DBスナップショット作成 | |
指定したDBインスタンスの手動スナップショットを作成します。 |
| DBインスタンス再起動 | |
指定したDBインスタンスを再起動します。フェイルオーバーを伴う場合があります。 |
| DBインスタンス停止 | |
指定したDBインスタンスを停止します。最大7日間停止でき、その後自動的に起動されます。(一部エンジン、構成では利用不可) |
| DBインスタンス起動 | |
停止中のDBインスタンスを起動します。 |
Lambda
サーバーレスコンピューティングサービスLambdaの関数を管理・実行します。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| 関数一覧表示 | |
リージョン内のLambda関数を一覧表示します。 |
| 関数情報取得 | |
指定したLambda関数の設定情報(ランタイム、ロール、メモリサイズなど)を取得します。 |
| 関数同期実行 | |
指定したLambda関数を同期的に実行し、結果(レスポンスペイロード、実行ログなど)をoutput.jsonファイルに出力します。--payloadで入力データを渡します。 |
| 関数非同期実行 | |
指定したLambda関数を非同期的に実行します。即座にステータスコード 202 が返され、バックグラウンドで実行されます。 |
| 関数コード更新 (Zip) | |
指定したLambda関数のコードをローカルのZipファイルで更新します。fileb://プレフィックスが必要です。 |
| 関数設定更新 | |
指定したLambda関数の設定(メモリサイズ、タイムアウト、環境変数、実行ロールなど)を更新します。 |
| 関数作成 | |
新しいLambda関数を作成します。ランタイム、実行ロール、ハンドラー名、デプロイパッケージなどを指定します。 |
| 関数削除 | |
指定したLambda関数を削除します。 |
CloudFormation
インフラストラクチャをコードとして管理 (IaC) するCloudFormationのスタックを操作します。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| スタック一覧表示 | |
CloudFormationスタックを一覧表示します。--stack-status-filterで特定の状態のスタックのみを表示できます。 |
| スタック詳細表示 | |
指定したスタックの詳細情報(パラメータ、出力、リソースなど)を表示します。 |
| スタックリソース一覧表示 | |
指定したスタックによって作成されたAWSリソースを一覧表示します。 |
| スタックイベント表示 | |
指定したスタックの作成、更新、削除中のイベント履歴を表示します。トラブルシューティングに役立ちます。 |
| テンプレート検証 | |
CloudFormationテンプレートファイルの構文が正しいかを検証します。スタック作成前に実行すると便利です。 |
| スタック作成/更新 (チェンジセット) | |
テンプレートに基づいてスタックを作成または更新します。変更内容を確認するためのチェンジセットが自動的に作成・実行されます。IAMリソース作成には--capabilitiesが必要です。パラメータは--parameter-overridesで指定します。 |
| スタック削除 | |
指定したCloudFormationスタックと、それによって作成されたリソースを削除します。(削除保護されたリソースや、手動で変更されたリソースは削除に失敗することがあります。) |
| チェンジセット作成 | |
スタックを実際に変更する前に、どのような変更が行われるかのプレビュー(チェンジセット)を作成します。 |
| チェンジセット実行 | |
作成したチェンジセットを実行して、スタックに変更を適用します。 |
CLI 出力制御
--outputと--queryオプションを使用して、AWS CLIの出力を整形・抽出する方法です。
| 目的 | コマンド例 | 説明 |
|---|---|---|
| JSON出力 | |
出力をJSON形式にします。デフォルトまたはaws configureで設定可能です。 |
| Text出力 | |
出力をタブ区切りのテキスト形式にします。--queryと組み合わせると特定の値を抽出しやすいです。 |
| Table出力 | |
出力を人間が読みやすい表形式にします。 |
| 特定キーの値抽出 | |
--queryでJMESPath式を指定し、JSONレスポンスから特定のキー(この例ではUserオブジェクト内のUserName)の値を取得します。 |
| リストの最初の要素抽出 | |
リスト(配列)の特定のインデックス(この例では最初の要素[0])を指定して要素を抽出します。 |
| リスト全要素から複数キー抽出 | |
リストのすべての要素 ([*]) から、複数のキー ([...]内にカンマ区切りで指定) を抽出します。Table形式やText形式で見やすく表示できます。 |
| 条件によるフィルタリング | |
JMESPathのフィルタ式 ([?条件式]) を使用して、特定の条件(この例ではState.Nameがrunning)に一致する要素のみを抽出します。 |
| 複数値の平坦化 | |
ネストされたリスト構造から特定の値(この例では許可されたCIDRブロック)をすべて抽出し、平坦なリストとして表示します。Text出力では改行区切りになります。 |