クラスタ名とタスクIDを指定すると、そのタスクに関連するイベントとログを時系列で出力します。 イベントは ECS タスクの状態遷移、ログはそのタスクが CloudWatchLogs に出力したログです。 以下が実際の出力例です。時刻、イベントの種類、ログメッセージが表示されます。 $ tracer default 834a5628bef14f2dbb81c7bc0b272160 2021-12-03T11:06:21.633+09:00 TASKCreated 2021-12-03T11:06:21.664+09:00 SERVICE (servicenginx-local) has started 1 tasks: (task 834a5628bef14f2dbb81c7bc0b272160). 2021-12-03T11:06:22.342+09:00 SERVICE (serv
ECSメインにAWSサービスを利用してコンテナの運用設計を考えてみます。 コンテナの運用設計 ECS 上で稼働するWebアプリケーションを前提に運用の要件を考えてみます。 コンテナを使用したマイクロサービスの運用は、モノシリックなシステム運用とは少し異なります、以下の項目を運用項目としてピックアップします。 可用性/スケーリング CI/CD ロギング トレース モニタリング ECS/ECR のアーキテクチャ まずはECS/ECR のアーキテクチャについて触れます。Amazon ECSはコンテナの作成、実行、停止といった管理をメインとしたサービスであり、Amazon ECRはDockerのレジストリサービスとなります。リポジトリにあるイメージをプッシュしたり、イメージの保管等を行います。 全体的なイメージを以下のように理解をしています。 ECSの機能 まずECSです。 ECSは複数のエン
2月にバクラク事業部Platform Engineering部DevOpsチームに入社したid:itkqです。7月はLayerXエンジニアブログを活発にしよう月間 ということで、この記事では、私が入社してから中心となって進めた、ECSサービスのデプロイの改善について書いています。 バクラクのインフラ 私が所属するバクラク事業部では、バクラク請求書をはじめとする、BtoB向けのSaaSを提供しています。SaaSは主にAWS上でホストしており、サービスの大半がECS Fargateにデプロイされています。昨年、プロダクト開発をイネーブルメントするEnablingチームが発足し*1 、今後の事業成長を支えられるようなソフトウェアアーキテクチャと周辺の仕組みが発達してきています。以下の記事で述べられているように、モノレポかつサービスが多数存在します。tech.layerx.co.jp DevOp
こんにちは、リードエンジニアの @dachi_023 です。今回はGitHub Actionsとecspressoでデプロイフローの構築をしたのでそれについて書いていきます。先に言っておくと簡単にセットアップできるし設定もシンプルなのでかなりおすすめです。 Actions |GitHub kayac/ecspresso:ecspresso is a deployment tool forAmazon ECS これまでのデプロイ コネヒトではECS環境へのデプロイに silinternational/ecs-deploy を採用しています。CodeBuildもしくはTravis CI上からecs-deployを利用してECS環境にアプリケーションをデプロイする構成です。 CI/CDツールの乗り換え検討 これまでずっとTravis CIを利用してきました。しかし 料金体系の変更 があった
はじめに SREチームの大木です。スノボの季節がもう終わりかけており、さみしい限りです。 feature staging環境*( 以下 feature環境 )自体のライフサイクルや管理をどうするか問題、なかなかどこも苦労していると思いますが、その中で今回それなりにいい感じの回答を出せたと思うので共有したいと思います。 *呼び方はpre-staging環境、pull request環境、テスト環境などいろいろありそうですが、私たちはfeature環境と呼んでいます。 どこが「いい感じ」なのかというと、PRのラベル付与によって環境の生成/削除を制御できる点です。PR画面上で楽々とfeature環境の管理ができたり、PR一覧からどのブランチでfeature環境が立っているかが分かりやすくなります。 feature環境について feature環境を当社のプロダクトであるPark Directの開発
こんにちは、後藤です。今回はAWS構成における踏み台についての記事です。 データベースなどのインターネットに繋げたくないリソースに踏み台リソース経由でアクセスさせることは、セキュリティ設計としてよくある構成だと思います。 今回はその踏み台リソースに「ユーザーログイン有無を検知して自動停止する」ロジックを組み込んだ方法を共有します。 また、一般的によく用いられるのはEC2だと思いますが、今回はECS on Fargate(以降はFargateと略)を使います。しかも自動停止ロジックにLambdaを使いません!!コンテナの中で完結させます。 踏み台を設計する時に気になること そもそも踏み台について設計する際に何が気になるのでしょうか。それはOS管理負担と自動停止です。 踏み台にEC2を用いるとOSパッチ適用などの運用コストが発生します。業務系サーバでないのに心労が重なるのはなるべく避けたいとこ
こんにちは。梅原です。 今日はECSのデプロイタイプについて改めて整理します。 ECSのデプロイ方法は3つあります。 ローリングアップデートBlue/Greenデプロイ 外部デプロイ の3つです。 この記事ではローリングアップデートとB/Gデプロイについて流れをおさらいします。 ECSの前段にALBを置いた構成を例にします。 ローリングアップデート ローリングアップデートの流れを見る B/Gデプロイ B/Gデプロイの流れを見る ローリングアップデートとB/Gデプロイの比較 最後に ローリングアップデート ローリングアップデートとは、稼働中のECSタスクをそのまま新しいタスクに置き換える方法です。一番オーソドックスなデプロイ方法なのではないでしょうか。 ECSのみでデプロイすることができ、設定箇所も主に後述する2つだけなので手軽にできます。ですがデプロイ中は新旧のタスクが混ざる状態となるた
伏見です。 今回は弊社の一部ビデオ系プロジェクトでのFargate & Batchの使用例について書いてみたいと思います。 まず、サービスとして次のような処理の流れがあるとします。 (1) ユーザーさんが好きな動画ファイル(mp4/prores)をブラウザから複数同時アップロードする (2) アップロードされた動画ファイルに対して、フレームレートやコーデックなど、軽い検品を行う (3) サイズ圧縮版のmp4/サムネイル用gifを作る (4) 生成したファイルをs3に格納しつつ、ユーザーさんにプレビュー用動画や検品結果を表示する 基本的にはこれだけの流れですが、単純にスケーリングでまず行き詰まりました。 動画のエンコードは「重い」プロジェクト当初はEC2上で直接ffmpegを操作し、各種プレビューやサムネイルを生成していましたが、なにぶんエンコードはCPUリソース食いなので、アクセス流用が
はじめに このツイートに結構反響があったので、雑になるがとにかく自分の考えをダンプする。もともと書いていた記事はうっかりやらかしてデータロストした、泣きたい。 話をわかりやすくするために、ALB+ECS(Fargate)を使ってWebAPIと対比して説明しているが現実はもっと複雑である。 引用リツイートをもらえた部分などについてもアンサーっぽいことも書いていく。AWS利用費と人件費の話AWS上にWebAPIを構築する際に、AWS利用費の削減をモチベーションとしてApiGW+Lambda構成が、採用されることがある。確かにAWS利用費は下がるがApiGW+Lambda構成を設計〜運用するためにはAWSに関する知識の中でもとくに専門的な知識が必要になる。こういった人材を雇用または外部へ発注し続けることは人件費に跳ね返ってくる。ApiGW+LambdaがWebAPIのための構成として唯一無
ちょいとした用途において、カジュアルにFargateの起動/停止を繰り返して、気ままに負荷全開かけていたら、あまりの違和感にCPU割り当てについて調査することにしました。 最近こんなことばっかやってる気がしますが、気に食わんかったからムカムカ解消に書くしかないんや。半分くらいブラックボックス与太話な感じで夜露死苦です。 はじまり とある処理を全開でFargateにやらせて、cpu=1024(100%), 2048(200%), 4096(400%) でどのくらい RPS (requests per second) でるかを計測していると、想定通りならほぼ比例でRPSが伸びるはずが、全然そうならないパティーンに遭遇。 並列過剰やエラー・バグ起因ではないことをほぼ確させた上で、まさかCPUガチャじゃあるまいなと試したら、まんまCPUガチャでしたということで、EC2からある話ではありますが、現在
処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いてLambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。Lambda ECS(Fargate)AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS +Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー
Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding upAmazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション
Containers NEW – UsingAmazon ECS Exec to access your containers onAWS Fargate andAmazon EC2 Today, we are announcing the ability for allAmazon ECS users including developers and operators to “exec” into a container running inside a task deployed on eitherAmazon EC2 orAWS Fargate. This new functionality, dubbed ECS Exec, allows users to either run an interactive shell or a single command agai
スマートキャンプ、エンジニアの入山です。 前回のブログにも書きましたが、弊社では昨年末から既存のEC2からECS/Fargateへのインフラ移行作業を実施しています。 EC2からECSへ移行する上では、特に運用面が大きく変わります。利便性やメンバーへの教育コストを考慮すると、今までEC2でやっていた運用をECSでどう上手く代替するかが力の入れ所だと思います。 一ヶ月前に弊社インターンの関口が書いた以下の記事も、既存運用の置き換えやデバッグ時の利便性向上を目的とした手段の1つで、この記事を執筆した時点ではECS/Fargate上のコンテナに対するAWS公式のログイン手段はありませんでした。tech.smartcamp.co.jp 弊社のECS移行も稼働直前の佳境を迎えている最中ですが、この度Amazon ECS Execがリリースされ、待ち望んでいたECS/Fargate上のコンテナに対す
ECS on EC2はエージェントの環境変数「ECS_IMAGE_PULL_BEHAVIOR」設定でコンテナイメージのキャッシュを利用できます。Amazon ECS on EC2利用時に、コンテナの起動時間を短縮させるために、ホストでキャッシュされたコンテナイメージを使用したいことがあります。Amazon ECS コンテナエージェントの環境変数「ECS_IMAGE_PULL_BEHAVIOR」を利用すると、イメージのプルプロセスをカスタマイズできます。 ECS_IMAGE_PULL_BEHAVIOR パラメーター 4つの中から選べます(説明文はマニュアルから引用)。 キャッシュを優先しない default : リモートでイメージがプルされます。イメージのプルに失敗した場合、コンテナはそのインスタンスにキャッシュされたイメージを使用します。 always : 常にリモートでイメージがプル
Containers Under the hood: FireLens forAmazon ECS Tasks September 8, 2021:Amazon Elasticsearch Service has been renamed toAmazon OpenSearch Service. See details. Recently,Amazon ECS announced support for customlog routing via FireLens. FireLens makesit easy to use the popular open sourcelogging projects Fluentd and Fluent Bit; enabling you to sendlogs to a wide array ofAWS Services and pa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く