AWS

AWS ECS チュートリアル

AWS

 

ECSの用語

ECR

イメージを保存するリポジトリ。AWS内部のリポジトリなのでセキュアにDockerイメージを設置できる。

クラスター(Cluster)

タスクが実行されるEC2インスタンスの集合体

 

サービス

  • コンテナを常時起動させて、リクエストを待ち受ける
  • 接続を受けてポートを動的にマッピングする
  • コンテナを死活監視し、死んだら再起動をかける
  • 各EC2インスタンスのコンテナをまとめて1つのサービスとしてまとめる

タスク

起動して、処理を実行して削除される。バッチジョブに使える。

 

 

 

 

マネージャ(Manager)

クラスターのリソースとタスクの状態を管理する

 

動的ポートマッピング

動的ポートマッピングすることで、1つのインスタンスの複数Dockerに接続できる。

 

 

 

Docker本番利用上の注意

 

immutable

  • 一度起動したインスタンスに設定変更を行わない = SSHで入るような管理をしない

 

状態を持たないようにする

AutoScalingでの環境もそうだけれど疎結合にしておく。

  • セッションをElaticache, 画像をS3などに格納する

 

環境変数は実行時に外部から注入させる

AWS System Managerを利用することで、SSMのパラメータストア, KMSで機密情報を暗号化した上でECSのインスタンスに環境変数を渡せる。

 

データベースはコンテナを使わない

  • RDS, Aurora

 

 

ログは標準出力, 標準エラー出力に出す

  • Cloudwatch LogsやFluentd+S3に渡す
  • S3fsでS3に設置しても良い
    // AWS側のアナウンスとしてS3をファイルシステムとして使うのは非推奨。私は非推奨な設計が好きではないが、運用されているWEBサービスでS3をファイルシステムとしてマウントしているが利用しているサービスがあるが特に問題が起こっていない。

Nginx, PHP-FPM, Laravelそれぞれについて、標準出力/標準エラー出力を出せる。

 

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)