導入
AWSの操作方法は1つではありません。ブラウザでポチポチ設定する人もいれば、コマンド一発でサーバーを立てる人、プログラムから自動で操作する人もいます。実はどれも同じ入り口にたどり着きます。
説明
AWSを操作する方法は、主に次の4つがあります。
- マネジメントコンソール … ブラウザからアクセスする管理画面(GUI)。視覚的に操作でき、初心者が学習し始めるのに向く。
- AWS CLI(Command Line Interface) … コマンドラインからAWSを操作するツール。繰り返し作業やスクリプト化に向く。
- SDK(Software Development Kit) … Python、JavaScript、Javaなど各プログラミング言語からAWSのAPIを呼び出すためのライブラリ。アプリのコードにAWS操作を組み込める。
- IaC(Infrastructure as Code) … AWS CloudFormationやAWS CDKなどを使い、インフラの構成をコード(設定ファイル)として記述し、それをもとに環境を自動構築する方法。同じ環境を何度でも再現でき、変更履歴もコードとして残せる。
flowchart LR
C["マネジメント<br/>コンソール"] --> API["AWS API"]
L["AWS CLI"] --> API
S["SDK<br/>(Python等)"] --> API
I["IaC<br/>(CloudFormation等)"] --> API
API --> AWS["AWSの各サービス"]
どの方法を使っても、最終的には同じAWS APIを呼び出しています。つまり、コンソールでできることは基本的にCLIやSDKでもでき、その逆も同様です。AWS CLIでS3(ストレージサービス)のバケット一覧を見るコマンドは、次のようになります。
aws s3 ls
学習の入り口はコンソールで視覚的に理解し、実務で繰り返す作業はCLIやIaCで自動化する、という使い分けが一般的です。
具体例
「開発・検証・本番の3環境に、同じ構成のサーバーを3セット作る」という仕事を、方法別に比べてみましょう。
- マネジメントコンソール … 画面をポチポチ。1セットならすぐだが、3セットを手作業で作ると、どこかで設定を1つ押し忘れて「本番だけ動かない」といったズレが生まれがち。
- AWS CLI …
aws ec2 run-instances ...をスクリプトにして3回流す。手作業より速く正確。 - IaC(CloudFormation) … サーバー構成を1つのテンプレートに書き、パラメータを変えて3回適用。3環境がコード上でまったく同じと保証でき、変更履歴もGitで追える。半年後に「4つ目の環境」が必要になっても、同じテンプレートを流すだけ。
小さな1回きりならコンソール、繰り返す・複製する・再現したいならIaC。規模が大きくなるほど、右のIaCへ寄っていきます。
読んでみよう
「4つの入り口はあるが、行き着く先は同じAWS API」という理解があれば、CLF試験で操作方法を問う設問にも迷わず答えられます。