1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

boto3でECSを使ってブログ開設するまでを自動化

Last updated at Posted at 2021-10-22

開発前の状態

  • 今後の仕事でAWSを触ると聞き,知識ゼロなのでヤバみを感じた
  • とりあえず本を買って勉強して雰囲気は掴んだ気になっている
  • GUIぽちぽちすればやりたいことはできると感じたが,さらなるステップアップをするためにはどうしたらいいか悩んだ
  • これまでの仕事でAnsibleなどによる環境構築自動化や,dockerなどのコンテナ技術のありがたみは非常に実感していた
  • なので,
    • 環境設定をすべて自動化し
    • EC2上での作業を予めDockerImage化しておいてデプロイところまで頑張ってみたいと思った

コード

やっていること

  • VPCからECSのサービス開始までを全自動化
    • VPC,Subnetなどを依存関係に注意して作成していく
    • EC2としてはECS Optimized AMIを使用
      • ecs-agentが動いている
    • 最終的には,以下のような構造になる
      • VPC
        • PublicSubnet
          • WebServer(Wordpress)
        • PrivateSubnet
          • DB Server(MariaDB)
  • 用がすんだらEnterキーを押してすべてKill
    • 課金の元になるEC2やNAT,EIP含めすべて削除
      (途中でなにかしらの異常でコケたら手動で消す必要がある)

結果や感想

  • PublicIpにブラウザからアクセス,WordpressとDBの接続を完了できた.
    Screen Shot 2021-10-23 at 0.04.31.png
  • インフラをプログラムしてる感じが新鮮だった
  • boto3では依存に気を使って削除する必要があるため,各種リソースの依存関係をデバグの過程で体感できた.
  • 特にECS with boto3については情報が見つかりにくかったので,client APIやAWSの各種ドキュメントの調査をする機会が得られた
    • この過程でECSの用語(クラスター,タスク,サービス)をつかめてきた

今後やりたいこと

  • 環境変数に含まれるセンシティブな情報はS3から取得するようにする
  • ECSタスク起動イベントをひろって,LAMBDAからNATを停止する処理を入れる
  • メトリクスについて理解を深める
  • SMMエージェントを使ってみる
  • CloudFormationでやってみる
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?