AWS Compare 頻出比較

Console vs Local CLI vs CloudShell vs SDK vs CloudFormation

Console, Local CLI, CloudShell, SDK and CloudFormation

compareConsoleCLISDKCloudFormation
最終整理

GUI、Local Command、Browser Shell、Application Code、Declarative Infrastructure を比較します。

一言で理解

Console は Click、Local CLI は自分の環境の Command、CloudShell は Browser Command、SDK は Application Code、CloudFormation は Infrastructure Template です。

方式適した用途Credential
Console探索、一回限りの操作Password + MFA、SSO
Local CLI / CloudShell定型・Batch TaskIdentity Center、Role、Profile
SDKApplication IntegrationCredential Provider Chain
CloudFormation再現可能な環境Caller / Service Role

Local CLI は Install と Local Credential が必要です。CloudShell は Preconfigured CLI と現在の Console Identity の Temporary Credentials を使い、権限を拡大しません。aws configure は Profile 設定を保存するだけです。

Temporary Credentials は Access Key ID、Secret Access Key、Session Token で構成されます。CLI / SDK は操作方式であり Credential Type ではありません。People は Identity Center、Workload は Role、Secret は Code に入れません。

CloudFormation は Declarative(何を作るか)、CLI Script は通常 Imperative(どの順に行うか)です。

Credential の解決と Role の受け渡し

  • Local CLI / SDK は Credential Provider Chain から Identity Center、AssumeRole、Environment、Container、Instance Role などの認証情報を探索します。
  • EC2 は Instance Profile 経由で 1 つの IAM Role を受け取り、Instance 内の Program は IMDS から Temporary Credentials を取得・更新します。
  • iam:PassRole は Role を AWS Service へ渡す権限であり、呼び出し元がその Role を Assume することではありません。
  • CloudShell は現在の Console Session の Temporary Credentials を使い、IAM を回避したり自動的に Administrator 権限を得たりしません。
  • CloudShell の HOME は Region ごとに永続化され、—region は Request の Region Context だけを変え、Authorization は変えません。