LINEで送る
Pocket

今回は初の試みでございます。AWS Fargateを利用してSSHコンテナを動かしてみました。前回のブログでSSMエージェントを使ってログインを試したかったんですが、Alpine Linuxが対応しておらず、結局ssh-serverを立ち上げたほうが楽なのでは?と判断したので、まずは概要と構成から説明していましょう。

[Alpine Linux][Docker]/lib/rc/sh/openrc-run.sh: line 100: can’t create /sys/fs/cgroup/blkio/tasks: Read-only file system


■環境/概要

  • 本番のDB接続やaws-cliなど、確認用のSSHコンテナ(deploy container)が必要なため
  • VPCはPublicとNATゲートウェイ経由のPrivateネットワークと、Privateネットワークの構成
  • 2つのAWSアカウントがあり、両方ともVPCピアリングの設定をしている
  • AWS 01のbastionからAWS 02の対象のコンテナへSSHをする
  • AWS 02のセキュリティグループには22で10.0.0.0/16が許可されている

VPCの構成については以下を参考に。

AWSのVPCの基本まとめ


■IAM

  • add role

ecsTaskExecutionRole

  • ecs-task.json


■ECR push

  • Dockerfile

まずECRでリポジトリを作成してpushしましょう。


■クラスターの作成

  • ネットワーキングのみを選択して次のステップ

  • クラスターの設定


■タスク定義の設定

  • 起動タイプの互換性の選択

  • タスクとコンテナの定義の設定

タスクロールは ecsTaskExecutionRole

  • コンテナの追加


■クラスター > サービス > 追加

  • サービスの設定

  • ネットワークの構成

今回はPublic IPとロードバランサーは必要ないので無効化しましょう。


■確認

OK!!!!!!


■まとめ

Fargateおもしろい!設定項目が多いので、次回はこれらをTerraformで自動化していきたいと思います。

しかし、これができるとなるとbastionもFargate化して、毎週コンテナの脆弱性update(Trivyで)して作り直すみたいな運用ができそう。コンテナのデプロイはecs-deployかな。またね!

※Terraform化もしてるので参考に。

[AWS][Terraform][Fargate]ECSを自動化してみた

LINEで送る
Pocket

カテゴリー: AWSDockerFargate

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください