タグ

ECSに関するmakky55makky55のブックマーク (21)

  • AWS Step Functions で同時実行数制御を行う方法

    🤔 どんな人向けの記事か ☑︎ これから AWS Step Functions で定期バッチのワークフローを構築したい人 ☑︎ AWS Step Functions の同時実行数制御を行いたい人 🐈‍⬛ 背景 AWS Step Functions(以下、Step Functions)のユースケースの一つとして、EventBridge Schedulerと組み合わせた定期バッチの実行があります。 EventBridge自体の実行保証は、1回以上となっています。そのため、スケジュールしたイベントが複数回発行されるケースが存在します。また、定期バッチを行う場合、特定のタイミングでバッチの実行時間が長くなり、実行中に次のバッチが開始されることがあります。 基的には、冪等性を保つことで重複実行されても問題ない実装をアプリケーション側で行うことが重要ですが、冪等性のある実装でも、実行コストが高い

    AWS Step Functions で同時実行数制御を行う方法
  • ワークフローツールを AWS Step Functions に移行した話 | CyberAgent Developers Blog

    AI事業部の協業リテールメディアdivでソフトウェアエンジニアをしている 中澤 といいます。直近では、プロダクト開発以外にAI 事業部の新卒研修の運営を行なったりもしていました。 私が所属しているチームで最近、定期バッチを行うワークフロー管理ツールを AWS Step Functionsへ移行したので、移行の背景や得た知見を記事として公開します。 移行前の構成 私たちのチームでは、ワークフロー管理ツールを AWS Step Functions に置き換える前には、Prefect を使っていました。 Prefect に関しては、弊社ブログの別記事があるので、Prefect について知りたい方はそちらも参考にしてみてください。 Prefect を利用している時の構成では、Prefect 側でワークフローのスケジュール管理やワークフロー内のタスク実行を Prefect、実際のワークフローのタ

    ワークフローツールを AWS Step Functions に移行した話 | CyberAgent Developers Blog
  • ecspressoでEBS付きECSタスクを実行する

    ECSのEBS連携がサポートされ、EBSストレージを付与してECSタスクを実行できるようになった。 実際にecspressoからこのようなECSタスクを実行してみる。 準備 必要なリソースのセットアップ まず始めに必要なIAMロールをterraformで作成する。 単にECSを実行するために必要なECSタスク実行ロールと、EBSを作成するために必要なECSインフラストラクチャーロールが必要。 ## EBSを作成するために必要なIAMロール resource "aws_iam_role" "ecs_infrastructure" { name = "sample-ecs-infrastructure-role" assume_role_policy = data.aws_iam_policy_document.assume_ecs.json managed_policy_arns = [ "

    ecspressoでEBS付きECSタスクを実行する
  • AWS CDKでECS Fargate Bastionを一撃で作ってみた | DevelopersIO

    EC2インスタンスの踏み台を用意したくない こんにちは、のんピ(@non____97)です。 皆さんはEC2インスタンスの踏み台を用意したくないと思ったことはありますか? 私はあります。 VPC上のRDS DBインスタンスやRedisクラスター、OpenSearch Service ドメインなどのリソースに接続したい場合、Site-to-Site VPNやClient VPN、Direct Connectがなければ踏み台(Bastion)が必要になります。 踏み台へのアクセス方法は以下のようなものがあります。 直接SSH SSMセッションマネージャー EC2 Instance Connect そして、踏み台となるリソースとして採用される多くがEC2インスタンスだと考えます。EC2インスタンスの場合、OS周りの面倒をみる必要があります。OS内のパッケージのアップデートが面倒であれば「踏み台が

    AWS CDKでECS Fargate Bastionを一撃で作ってみた | DevelopersIO
  • Amazon ECSタスクを冪等に起動できるようになりました | DevelopersIO

    旧聞ですが、2023/11/13からAmazon ECSが冪等なタスク起動をサポートし、副作用無しに再試行、複数回呼び出せるようになりました。 現時点では、以下のECS APIが冪等性をサポートしています。 CreateService CreateTaskSet RunTask 冪等性を実現する場合、主に次の2通りがあります。 複数回呼び出される前提で、アプリを冪等に実装 一度しか呼び出されない前提で、アプリをシンプルに実装 Amazon SQSを例に取ると、at least onceなスタンダードキューが前者で、exactly onceなFIFOが後者です。 今回のECSアップデートは後者です。ECSタスクの冪等起動対応により、ライブラリ・フレームワークの力を借りながら頑張って冪等に実装していたタスクを、シンプルに実装できるようになることがで期待できます。 ポイント 重要なポイントを述べ

    Amazon ECSタスクを冪等に起動できるようになりました | DevelopersIO
  • もう令和も4年なので定時バッチを cron で運用するのは卒業してサーバレスにしました。 - あしたのチーム Tech Blog

    engineer.ashita-team.com (この記事はあしたのクラウド のインフラ移行に関する連載記事です) 先日、約一年間かけてようやくリングフィットアドベンチャーをクリアして、ちょっとだけ筋肉の成長を感じている @snaka です。 今回は「定時バッチのしくみ」の改善についてお話します。 移行前の定時バッチのしくみ 移行前のインフラ構成では、定時バッチを cron で実行するという伝統的な手法をとっていました。 おおよそのしくみは以下のとおりです。 移行前の定時バッチのしくみ EC2インスタンスの一つで cron を稼働させておく ( 3台構成の App サーバうち 1 台で実行していました ) cron で実行されるスクリプトでは基的に Sidekiq のキューにジョブを投入して終了する バッチサーバで起動している Sidekiq でキューを監視してジョブが投入されたらそれ

    もう令和も4年なので定時バッチを cron で運用するのは卒業してサーバレスにしました。 - あしたのチーム Tech Blog
  • Amazon ECSのローリングアップデート開始からSidekiq停止までの流れを追う - Money Forward Developers Blog

    はじめに こんにちは。 SREグループの佐々木と申します。 Amazon ECS(以下、ECS)を使っていて、ローリングアップデート時に、コンテナ上のSidekiqで実行中のジョブに影響が無いのか、気になったことはありませんか? この記事では、ローリングアップデート時のECSとSidekiqの挙動、ローリングアップデート時に気をつけるポイントを紹介します。 ⁠背景 最近、「Sidekiq::Shutdown」のエラーメッセージと共に落ちたジョブがいました。 リリースの際に発生していたので、ECSのローリングアップデート起因で、Sidekiqのジョブが強制終了してしまい、ジョブが落ちたのだろう。と想定していました。 とはいえ、あくまで想定です。 また、ジョブが落ちたことによる影響の有無が分かりませんでした。 そこで、エラーメッセージの原因を調査するために、ECSとSidekiqの挙動を追いま

    Amazon ECSのローリングアップデート開始からSidekiq停止までの流れを追う - Money Forward Developers Blog
    makky55makky55
    makky55makky55 2023/02/08
    おお、ちょうどsidekiqのECS移行をやっているので。
  • 【IaC・CI/CD 入門】Terraform による AWS リソース・GitHub Actions による CI/CD の構築をしよう

    【IaC・CI/CD 入門】Terraform による AWS リソース・GitHub Actions による CI/CD の構築をしよう GitHub が提供している年次レポート Octoverse 2022 によると、ここ一年で Hashicorp Configuration Language(HCL)の使用率が大きく伸びました。これは、世界的に Terraform による IaC 化が進んでいることを意味しています。 書籍では、ECS on Fargate を使ったコンテナの実行環境の構築を通して、Terraform格入門することが目標です。また、Terraform による IaC と GitHub Actions による CI/CD パイプラインを組み合わせて、快適な運用を実現する方法についても学習します。 一緒に IaC と CI/CD について学び、実践的なスキルを身に

    【IaC・CI/CD 入門】Terraform による AWS リソース・GitHub Actions による CI/CD の構築をしよう
  • RundeckをECS上に構築してGitHubログインできるようにする - PartyIX

    この記事はscouty Advent Calendar 2018 の3日目です. ECSで動かしているサービスのスケジュールジョブが多くなってきた. もともとECS Scheduled Taskを使っていたんだけど,数十個レベルになってくると,これで管理するのはだいぶつらい. というわけでRundeckを構築したメモ. そもそもECS Scheduled Taskやる気あんの? ECS Scheduled Taskの辛いところ. Scheduled Taskは既存のTaskDefinitionを上書きしてタスクを実行するため,Override用にjsonでTaskDefinitionの一部を与える必要がある Scheduled Taskの一覧画面はあるのだが,そこから「何時に,どのタスクIDで実行されたか」を知る術がない そんなだから,タスクが正常に終了したのか,何かのエラーで途中終了した

    RundeckをECS上に構築してGitHubログインできるようにする - PartyIX
    makky55makky55
    makky55makky55 2023/01/18
    いま EC2 + Rundeck で定期バッチを実行しているので、 Rundeck + ECS はとても参考になる
  • ECS on Fargate のデプロイツールを調べてみた【ver2022】 - 完全に理解した.com

    ECS on Fargate は AWS のアプリケーション実行環境として近年定番の選択肢です。 そんな ECS on Fargate について、Infrastructure as Code や CI/CD などを含めて環境を整えようとすると、何かしらのツールが必要になります。 2020 年時点の情報としては AWS Dev Day Japan の「第2回 AWS Fargate かんたんデプロイ選手権」という資料があり、ECS on Fargate のデプロイツールを比較するうえでとても参考になるのですが、AWS のアップデートはとても早いです。 2022 年 12 月の時点で ECS on Fargate のデプロイツールをいくつか試してみたので、得られた知見をまとめておきます。 調査したツール 今回 ECS on Fargate のデプロイツールを調査した理由は、実際に ECS on

    ECS on Fargate のデプロイツールを調べてみた【ver2022】 - 完全に理解した.com
  • ecspresso+ecschedule+lambrollでCI/CDを作った話 - トラストバンクテックブログ

    前回の記事から間が空いてしまいました、SREのbutadoraです。 年末に向けた準備で忙しなくしているこの頃です。 今回はとある環境で実装したCI/CDのフローを紹介したいと思います。 今回のサービスアーキテクチャ 今回はPHPWEBサービスをデプロイする環境が必要ということで、以下の様な設計としました。 WEBサービス体 → ALB+ECS+RDS 定時バッチサービス → ECS (Task Scheduler)+RDS ファイル設置をトリガーにしたバッチサービス → S3+Lambda(コンテナイメージ)+RDS CI/CD 簡単な構成図はこんな感じです。 大きなポイントとしては、タイトルにある3種の各デプロイツールを組み合わせることで、開発側のリソース管理を切り出しているところです。 弊社ではAWSリソースの管理をTerraformで行っていますが、図にあるようなリソースまで管

    ecspresso+ecschedule+lambrollでCI/CDを作った話 - トラストバンクテックブログ
  • AWS DevDay Japan 2022 に「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 」というタイトルで登壇しました #AWSDevDay | DevelopersIO

    はじめに CX事業部の佐藤智樹です。 先日AWS DevDay Japan 2022 というイベントで「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実」というタイトルで登壇しました。 今回は上記の登壇で使用した資料の公開と発表の補足を記載いたします。 登壇動画 登壇資料 発表理由 1年前に上記の構成を始めた際に、思っていたよりは理想の状態にできないことが多々あり、情報も多くないように感じたので少しでも参考になるように実践例をベースにまとめました。同じような構成を試される際は参考になるかと思います。また発表の1ヶ月以内(2022/09~10)に結構更新があったので、昔同じ構成試してダメだった部分があったかたも参考になる部分あるかと思うのでみてもらえると嬉しいです。 最後に 当は資料90ページぐらいになってタイトルと関連性の薄い内容(ECS on Farg

    AWS DevDay Japan 2022 に「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 」というタイトルで登壇しました #AWSDevDay | DevelopersIO
  • あなたの組織に最適なECSデプロイ手法の考察 | DevelopersIO

    「ECSデプロイの話だけで45分喋った男がいた…」 というわけで、先日、Developers.IO 2020 CONNECTにおいて、以下のタイトルで喋りました。 「あなたの組織に最適なコンテナデプロイ方法とは?〜ECSにおけるデプロイ最新機能てんこ盛り〜」 オンラインセッションは何度か登壇経験あったのですが、今回は45分。正直めっちゃくちゃ疲れました。いやぁ、登壇ってもしかしたら、リアルよりもオンラインのほうがつかれるかもしれません。 そんな登壇だったわけですが、内容あれこれ詰め込んでECSのデプロイだけに内容を絞ったのですが、その甲斐あってかいろんな方に参考にしていただける内容になったのではと考えています。 ぜひ、この記事を、皆さんの現場のECSデプロイをパワーアップする参考にしていただければと思います。 ホンマにECSデプロイだけで45分喋ったの…!? ( ゚д゚) ガタッ /  

    あなたの組織に最適なECSデプロイ手法の考察 | DevelopersIO
  • 【AWS初学者向け・図解】Amazon ECSとは?現役エンジニアがわかりやすく解説

    AWS初学者 ECSの構成要素が全然理解できない… おつまみ そのお悩みを解決します! AWSを学び始めた皆さん 学習は順調に進んでいますか? AWSでコンテナの管理を行うツールとしてお馴染みの「Amazon Elastic Container Service」通称「ECS」 ECSの主要な構成要素を自分の言葉で説明することはできますか? ……。 ………………。 説明できましたでしょうか? 記事では「ECS」の構成要素について、初心者にわかりやすいよう図解付きで解説していきます。 結論、こちらがECSの構成要素です! Amazon ECSの構成要素 タスク定義:タスクを作成するテンプレート定義 タスク:タスク定義に基づいて起動するコンテナの集まり サービス:実行中のタスクを管理する クラスター:サービスとタスクを実行する基盤 「は?なんで遊園地?」と思った方。今は理解できなくて正常です!

    【AWS初学者向け・図解】Amazon ECSとは?現役エンジニアがわかりやすく解説
  • ECSを勉強するにあたって役に立った資料とメモ - St_Hakky’s blog

    こんにちは。 自分でECSとか触って開発することになったので、そのやり方とかまとめておこうと思います。 ECSとは AWSのコンテナ管理のマネージドサービス。ぐだぐだ私が説明するよりも、ぶっちゃけ世の中に良き記事が出すぎて、改めて書く必要もなし。 AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service from Amazon Web Services Japan www.slideshare.net 最初は、言葉が多くて、面らうんで、忘れやすい私のためにメモ。 用語 意味 Cluster Container Instanceの集合体。複数のサービスを管理する ECS Instance ECSが稼働するEC2インスタンス Service 複数のタスク定義と紐づけて、管理するもの Task Definition タスクに

    ECSを勉強するにあたって役に立った資料とメモ - St_Hakky’s blog
  • ECSを運用で使っていて難しいと思った点 - アジャイルSEの憂鬱

    ECSを触っていて今まで難しいと思ったことを雑にまとめておく。 ECSを仕事で運用するときに必要な知識が多すぎる。こんなの社内に1人AWSマスターいないと無理だ...— 神速 (@sinsoku_listy) 2021年8月10日 タスクロールとタスク実行ロールの違い ECSを長く触っているのに、いつも混乱する。 タスクロール コンテナ内の権限 S3やSESなどの権限をつける タスク実行ロール コンテナ外の権限 ECRやParameter Storeの権限をつける ECSのデプロイ時に静的ファイルが404になる ECSを触った初期に遭遇した。 詳細は以下のQiitaの記事が分かりやすい。 参照: ECSのデプロイ時に一定確率で静的ファイルが404になる問題を回避する 回避する方法はいくつかある。 静的ファイルをS3に置く CodeDeployの OneAtATime を使う CodeDep

    ECSを運用で使っていて難しいと思った点 - アジャイルSEの憂鬱
  • ECS Scheduled Taskの管理をecscheduleでGitOps化しました - コネヒト開発者ブログ

    こんにちは。コネヒトのテクノロジー推進グループでインフラエンジニアをしている laughk です。 今回は定期実行バッチで利用しているECS Schedule Taskの管理に Songmu/ecschedule を導入し、GitOps化した話をまとめます。 サマリ ecscheduleを導入する前の定期実行バッチの管理状況と課題 技術選定 - ecshceduleを選定した理由 導入プロセス GitOps化 導入後どうなったか ecscheduleを導入する前の定期実行バッチの管理状況と課題 コネヒトでは提供するサービスのWeb基盤にAmazon ECSをフル活用しており、定期実行バッチにおいてもECS Scheduled Taskを利用しています。ECS Scheduled TaskはECS Taskを cron のように定期実行でき、とても便利なものです。一方でその管理においては利用

    ECS Scheduled Taskの管理をecscheduleでGitOps化しました - コネヒト開発者ブログ
  • Amazon ECS でのコンテナデプロイの高速化

    Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding up Amazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション

    Amazon ECS でのコンテナデプロイの高速化
  • AWS CI/CD for Amazon ECS ハンズオンをやってみた | DevelopersIO

    AWS Fargateを触ってみたい、でも時間が...というあなたに冬休み中にできる3時間程度のハンズオンを 概要 AWS CI/CD for Amazon ECS ハンズオンをやってみました。 ハンズオンは下記の3立てです。3時間程度で終わりました。 サンプルアプリのコンテナイメージ作成 AWS Fargate環境構築とコンテナ実行 CI/CDのパイプライン作成 ハンズオンを進めながら個人的なメモを補足した内容です。実際のハンズオン資料を見ながら作業をすすめ補足資料になればよいなと思っています。 CodeBuild時にDocker Hubのレートリミットに引っかかるとつまづくと思うのでそこの回避方法を載せています。 まず、AWS Fargateとは ハンズオン1 Fargateでコンテナを実行するまでの前準備する内容です。 ハンズオン資料より VPC、ALB作成 ハンズオンの手順ではV

    AWS CI/CD for Amazon ECS ハンズオンをやってみた | DevelopersIO
  • AWS ECSとFargateの組み合わせが素晴らしい件 - エムティーアイ エンジニアリングブログ

    若者言葉を無理に使って白い目で見られるDockerおじさんの西川です。 re:Inventで発表されたFargateはECSをいじる者としてはとても気になります。 aws.amazon.com ECSクラスタを構成するクラスタインスタンス(ECS用語ではコンテナインスタンス)の管理から全く開放されるのです! マジヤバくね?(こういうところですね) ということで、AWSサポートから情報を頂きつつ、手を動かして試してみました。 前提知識:そもそもECSが何をするものなのか Dockerが何か、ECSが何かというところはこちらの記事を参考にしていただけると良いかと思います。 コンテナを使う動機 なぜDocker(コンテナ)が期待されるのか - Qiita Amazon EC2 Container Service(ECS)の概念整理 - Qiita Fargateは何をしてくれて、私は何をしなくて

    AWS ECSとFargateの組み合わせが素晴らしい件 - エムティーアイ エンジニアリングブログ