🧜‍♂️

AWS CLIの導入

2024/08/30に公開

AWS CLIとは?

AWS CLI(Amazon Web Services Command Line Interface)は、AWSのクラウドサービスをコマンドラインから直接管理するためのツールです。GUI(グラフィカル・ユーザー・インターフェース)を使用せずに、テキストベースのコマンドを使用して、インフラのプロビジョニング、リソース管理、デプロイメントを自動化できます。開発者やシステム管理者にとって、効率的かつスクリプト化しやすい操作手段として広く利用されています。

AWS CLIのメリット

  • 自動化の容易さ: AWS CLIは、コマンドラインで実行できるため、スクリプトや自動化ツールと簡単に統合できます。これにより、繰り返し行う操作を自動化し、手動のエラーを減らすことができます。

  • 迅速な操作: GUIを使用するよりも、CLIコマンドを使う方が多くの場合、操作が速く行えます。例えば、複数のリソースを一度に管理する場合、CLIで一括してコマンドを実行できます。

  • 詳細な制御: CLIでは、AWSサービスの各種パラメータや設定を細かく指定できるため、より詳細な制御が可能です。GUIでは見つけにくい設定項目も、CLIを使えば簡単にアクセスできます。

  • スクリプト化: AWS CLIを使うことで、複雑なAWS操作をシェルスクリプトとして保存し、再利用することができます。これにより、インフラストラクチャをコードとして管理する「Infrastructure as Code」の実践が容易になります。

  • 一貫性: CLIコマンドは一貫した形式で使用できるため、AWSリソースを管理する際にミスが起こりにくくなります。また、他のAWS CLIユーザーと同じコマンドを共有することで、手順や操作を標準化することも可能です。

AWS CLI使用の準備

macOS/LinuxでHomebrewを使ったAWS CLIのインストール

% brew install awscli

インストール後、AWS CLIのバージョンを確認します。

% aws --version
aws-cli/2.15.56 Python/3.11.9 Darwin/22.5.0 source/arm64

AWS CLI設定ファイルの作成。
AWSアクセスキーID、シークレットアクセスキー、リージョン、出力形式を指定します。

% aws configure
AWS Access Key ID [None]: {アクセスキーを入力}
AWS Secret Access Key [None]: {シークレットアクセスキーを入力}
Default region name [None]: ap-northeast-1
Default output format [None]: json

CLI使用方法

接続確認

% aws iam list-users
{
    "Users": [
        {
            "Path": "/",
            "UserName": "*********",
            "UserId": "*********",
            "Arn": "arn:aws:iam::*********:user/*********",
            "CreateDate": "2023-12-27T01:59:21+00:00",
            "PasswordLastUsed": "2024-01-29T06:29:05+00:00"
        },
.
.
.

AWS CLIを使って、さまざまなAWSサービスを操作できます。いくつかの基本的なコマンド例を紹介します。
 
S3バケットの作成:

aws s3 mb s3://your-bucket-name

EC2インスタンスの起動:

aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro

Lambda関数のデプロイ:

aws lambda create-function --function-name MyFunction --zip-file fileb://function.zip --handler index.handler --runtime nodejs14.x --role arn:aws:iam::123456789012:role/lambda-role

AWS CLIを使用する際のベストプラクティス

IAMポリシーの最小権限の原則を守る: ユーザーやサービスアカウントには、必要最低限の権限のみを付与することで、セキュリティリスクを軽減します。

プロファイルの利用: 複数のAWSアカウントを利用する場合、aws configure --profileを使用してプロファイルを設定することで、簡単にアカウント間を切り替えることができます。

スクリプトの活用: 繰り返し行う操作は、スクリプト化することで作業を効率化し、自動化できます。

まとめ

AWS CLIは、AWS環境の管理をコマンドラインから効率的に行うための強力なツールです。インストールや設定は簡単で、使いこなすことでAWSリソースの管理が容易になります。また、スクリプトを使用することで、自動化の可能性が広がり、作業の効率化が図れます。AWSを活用するうえで、AWS CLIをマスターすることは大きなメリットをもたらすでしょう!

参考

株式会社KOMPEITO テックブログ

Discussion