siren.

AWS Copilotを使ってみた

AWS Copilot を使ってみた

AWS より ECS 周りを簡単に実装できるツールがリリースされました。物は試しと早速使ってみました。

インストール

  • Linux の場合
    curl -Lo /usr/local/bin/copilot https://github.com/aws/copilot-cli/releases/download/v0.2.0/copilot-linux-v0.2.0 && chmod +x /usr/local/bin/copilot && copilot --help
    
  • MAC の場合
    curl -Lo /usr/local/bin/copilot https://github.com/aws/copilot-cli/releases/download/v0.2.0/copilot-darwin-v0.2.0 && chmod +x /usr/local/bin/copilot && copilot --help
    
    注意: AWS CLI は事前にインストールしておき、設定を完了しておく必要があります。

コンテナの準備

まず、Docker コンテナを用意します。具体的な手順はこちらを参照してください。

Copilot を使ってみる

  1. アプリケーションの初期化

     ※Dockerfileがディレクトリに移動
     copilot init
    
     対話形式で答えていく。
     What would you like to name your application? [? for help]    # アプリケーション名を指定
    
     Which service type best represents your service's architecture? [Use arrows to move, type to filter, ? for more help]
       > Load Balanced Web Service    ※ロードバランサ経由か
         Backend Service              ※ロードバランサは不要(外部には公開しない)
    
       What do you want to name this Load Balanced Web Service? [? for help]
       →ロードバランサを指定した場合はロードバランサ名を
    
     Which Dockerfile would you like to use for XXXXX? [Use arrows to move, type to filter, ? for more help]
     →自動的にDockerfileを見つけてくれます
    
     All right, you're all set for local development.
     →yesを指定
    
     Input an image tag value:
     →イメージのタグを聞かれるので適切な名前を
    

    アプリケーション名、サービスタイプ(ロードバランサが必要かどうか)、Dockerfile の場所などを対話形式で設定します。

  2. イメージのタグ指定

    • Docker イメージに適用するタグ名を指定します。
  3. デプロイ

    • すべての設定が完了すると、アプリケーションが AWS 上にデプロイされます。デプロイが完了すると、生成された URL でアプリケーションにアクセスできます。

後片付け

テストで作成したリソースを削除する場合は、以下のコマンドを実行します。

copilot app delete

まとめ

AWS Copilot を使用することで、ECS に関連する多くの設定(ECR リポジトリ、ECS サービス/タスク定義、ロードバランサなど)が短時間で完了するので、AWS のインフラ設定にかかる時間を大幅に削減できるな、、と。テストなので課金されないように最後は削除を、、