以下のイベント「Security-JAWS DAYS」で発表した際の登壇資料です。 https://s-jaws.doorkeeper.jp/events/155024
はじめに コンテナオーケストレーションサービスの一つである AWS ECS on Fargate (以下 ECS on Fargate) では、FireLens を利用することで、コンテナが出力するログを簡単に任意のログ基盤へ送信できます。 しかし、FireLens を通じてコンテナのログをルーティングする場合、16 KB 以上のログは分割された状態でログルーティング用のコンテナに到達します。構造化ログを実現するためにアプリケーションが JSON などの形式でログを出力している場合、ログを分割される前の状態に復元する必要があります。 この記事では、FireLens とは何かをおさらいした上で、上記の問題の背景を解説します。また、この問題の解決策についてこれまで知られてきた方法と、最近の ECS on Fargate のアップデートにより利用できるようになった方法を解説します。それにより、読
初めてFargateを触ったので、運用保守の観点で構築時に設定しておいた方が良いポイントをまとめました。 デプロイの自動化と書いているのにデプロイの話薄めになってしまいました…。 こちらはJAWS-UG朝会 #28で発表したものになります。
Amazon Web Services ブログ Amazon ECS と AWS Fargate を利用した Twelve-Factor Apps の開発 この記事は、Developing Twelve-Factor Apps using Amazon ECS and AWS Fargate を翻訳したものです。 本投稿は、Solutions Architect の Sushanth Mangalore と Chance Lee により寄稿されました。 はじめに The Twelve-Aactor App と呼ばれる方法論は、モダンでスケーラブル、かつメンテナンス性に優れた Software-as-a-Service アプリケーションの構築に役立ちます。この方法論はテクノロジーにとらわれず、クラウドネイティブアプリケーションを開発するためのアプローチとして広く採用されています。 AWS で
Amazon ECS でのコンテナデプロイの高速化 この記事は同僚の Nathan Peck (@nathanpeck)が書いた記事 “Speeding up Amazon ECS container deployments” を翻訳し、加筆・修正したものです. 元記事を ECS ユーザに紹介する機会が何回かあったので、せっかくなので翻訳することにしました. コンテナのオーケストレーションは非常に複雑な問題の一つです. アプリケーションコンテナのデプロイのために、相互にやり取りを行う複数の異なるコンポーネントが存在します. あなたのアプリケーションを実行したオーケストレータは、その実行されたアプリケーションが Web トラフィックを受け取る用意ができているかどうかについて判断する必要があります. その後そのアプリケーションはスケールダウンされたり、あるいは新しいバージョンのアプリケーション
Amazon Web Services ブログ AWS Fargate for Amazon ECS のアップデート 先日、AWS Fargate for Amazon ECS 経由でデプロイされたタスクの設定とメトリクスの収集体験を向上させる機能を発表しました。お客様からのフィードバックに基づき、以下の機能を追加しました。 環境ファイルのサポート シークレットバージョンと JSON キーを使用した、AWS Secrets Manager とのより深い統合 より詳細なネットワークメトリクスと、タスクメタデータエンドポイントを介して利用可能な追加データ この記事を通して、これらのアップデートについて深く掘り下げ、Amazon ECS for AWS Fargate にコンテナをデプロイすると、どこに価値をもたらすことができるかを説明します。まず、簡単なデモアプリケーションのデプロイから始めて
シナリオを用いた負荷テストツールとしてJMeterやGatlingなどがございますが、AWSでも負荷テストのソリューションが用意されております。 こちらのソリューションは、Fargateで1秒あたり選択した数のトランザクションを生成する数千規模の接続ユーザーを簡単にシミュレートできます。 本エントリでは、AWSの負荷テストソリューションを使った負荷テストを紹介します。 構成要素 公式の構成図を拝借しています。 フロントエンドでは、バックエンドの負荷テストエンジンを実行するAPIと、テストシナリオの作成やモニタリングに使用するウェブコンソールが提供されています。 なお、使用するテストシナリオにはJMeterのシナリオを指定できるため、既にJMeterを使っている場合は簡単に大規模な負荷テストを行うこともできます。 バックエンドでは、負荷を生成するためのDockerイメージを作成します。イメー
こんにちは、スタディサプリ ENGLISH SREグループの大島です。 オンライン英語学習サービスであるスタディサプリ ENGLISHは2015年10月のリリース1)当時は英語サプリという名前でリリースしていましたから5年が経ち、おかげさまでサービスを拡充させることができています。リリース当初からインフラにはコンテナを採用し、長い間AWSのコンテナオーケストレーションサービスのAmazon Elastic Container Service(以下、ECS)で運用してきましたが、この度ECSからAmazon Elastic Kubernetes Service(以下、EKS)に移行しました。 今回の記事では、その歴史の変遷となぜEKSにしたのかというところを書いていきたいと思います。 コンテナと歩んできた5年間 まず、ECSからEKSに移行しようと思ったきっかけの前に、インフラの歴史を少し振
はじめに AWS Fargateの場合、トラブルがあった時に動かしてるコンテナの中に入ってなくて調査できないのが不便なのでコンテナに入る方法を調査した。 現時点(2020年9月)でAWS Fargateの独自機能でコンテナの中に入る方法はない コンテナにsshdをインストールする方法とssm-agentをインストールする方法がある ssm-agentを使うとSSHのポートの開放やSSHする公開鍵の管理などをしなくて済むためssm-agentを使う方法で行った。 コンテナにsshdをインストールする方法 SSHのポートを空けておく コンテナの中の~/.ssh/authorzied_keysにsshするユーザーの公開鍵を追加しておく コンテナの中にsshdをインストールしておいて、コンテナ起動時にsshdを立ち上げておく メリット セッションマネージャーを使わないため、セッションマネージャーを
はじめまして、2020年3月に中途入社したSREチームの @bayashiok です。 今回は入社後、Fargateでサーバレスバッチ基盤を構築した話を書いていきます。 目次 目次 経緯 Fargateを選んだ理由 1. リソースの見積もりがCPU/Memoryだけですむ 2.スケーリングを考えなくて良くなる 3. セキュリティレベルの向上につながり管理負荷が減る 現行システムで発生している問題点の解消 構成 FargateのトリガーとしてRundeckを採用 理由1: バッチ実行が行われる場所でログを見たかった 理由2: ジョブ失敗やSlack通知の仕組み、リトライ方法やジョブ連携などの作り込みを簡単にしたかった ecs-taskとの連携について デプロイ 1. wrapperコンテナのデプロイ 2. バッチのデプロイ Fargateタスク実行について 移行後の総括 よかった点 悪かった
こんにちはコカコーラ大好き、カジです。 7/3に行われたDevelopers.IO 2020 Connect で、「基礎から応用までじっくり学ぶECS Fargateを利用したコンテナ環境構築」というタイトルで、お話しさせていただきました。 ライブに来ていただいたみなさま、ありがとうございました! お客様や自社の開発部門から、急に「次のシステムはコンテナ使いたい」と言われ、コンテナ実行環境を構築しなければならない状況に直面し、慣れない部分が多いと思います。 AWSにはコンテナ向けのサービスは複数あり、少人数でも運用しやすいのがECS Fargateです。そんなECS Fargateを中心に、実用的なコンテナ実行環境をどのように構築すれば良いのかについて解説しました。 目次 なぜコンテナ? なぜECS Fargate? AWSコンテナ関連サービス コントロールプレーンのざっくり比較 データプ
こんばんわ、札幌のヨシエです。(亜人大好きです、よつばと!と同じぐらい好きです) コンテナ業界盛り上がってますね、中でもFargateのプラットフォームがアップデートされ様々な新機能が追加されてます。 挙げるとキリがないですがFargate PV1.4からコンテナエンジンがDockerからcontainerdに切り替わり、様々な変更が加えられております。 詳しくは↓をご確認ください。 その中でFargate(PV1.4)の発表があった時は「あーはいはい、中身が変わるんですね。わかりました。まぁコンテナホストのバージョンが上がってもコンテナが起動することだけ確認すれば良さそうっすね」と考えておりましたが、 AWSドキュメントに以下の記載を確認しました。 Fargate 起動タイプおよびプラットフォームバージョン 1.3.0 以前を使用する Amazon ECS タスクでは、この機能を活用する
Dockerfile とタスク定義ファイルが変更され、レポジトリに Push される度にプロセスを自動実行する Github Actions を設定します。 こちらの記事を参考にタスク定義が更新される度に既存環境の Fargate へ自動デプロイをする Github Actions を設定したので手順を書き残しておくことにしました。 参考: GitHub Actions からサクッと Fargate にデプロイしてみた ケースシナリオ Dockerfile とタスク定義ファイルが変更され、レポジトリに Push される度に以下のプロセスを自動実行する Github Actions を設定します。その際に任意の環境へ Assume Role しデプロイできるように設定します。 AWS 環境へ Assume Role する Docker イメージをビルドして既存の ECR へ Push する
こんにちは。インフラエンジニアの永井(shnagai)です。 今回は、ターゲット追跡ServiceAutoScallingを使い、ECS×fargateで運用しているサービスのスパイク対策と費用削減に取り組んだのでその内容をまとめています。 内容はざっくり下記4項目について書いています。 抱えていた課題 キャパシティプランニングに対する考え方 ECS ターゲット追跡ServiceAutoScallingとは何か? どんな結果になったか? 抱えていた課題 コネヒトでのWebのアーキテクチャはほとんどがECS×Fargateの基盤で動かしています。 ECSのバックエンドをEC2からFargateに移行したタイミングで、大きく下記2点のメリットは享受していました。 EC2を意識しないことでの運用コスト削減 オートスケールの容易さ ですが、サービス運用にあたりまだ下記のような課題がありました。 ①
皆さん元気ですか!?SREチームの@adachin0817です。去年から行っていた移行プロジェクトで、グループ会社である、シクロマーケティング株式会社の「ミギウデ」をさくらVPSからAWSへ移行しました。今回、移行背景やECS/Fargateでのコンテナ運用について簡単にご紹介と振り返りを行ってみたいと思います。 なぜAWSへ移行するのか AWSへ移行すると冗長性の担保などが挙げられますが、一番は開発環境やインフラなど、すべてランサーズに統一させるということが第一の目的です。それに伴い、ミギウデ自体のサービスがシンプルなインフラ構成ということもあり、インフラ運用の手間をなくしたいということから、ECS/Fargateで初の外部サービスとしてコンテナ運用にチャレンジしてみようとなりました。 目的とコンテナ化にするメリット ・内部統制対応 ・S3、RDSを利用したバックアップ ・CloudWa
firelens is 何? fluentd/fluent-bitに連携することが可能なログドライバーです。 なぜfirelensか firelensが出るまでFargateはawslogsドライバくらいしか選択肢がありませんでした。 s3に生ログの保存、解析+アラート用にdatadog logsに送るためには fargate -> cloudwatch -> firehose -> lambda -> datadog logs, s3 といった構成を取る必要があり、そこには2つ問題がありました。 cloudwatch使わないのに無駄な費用が発生 lambdaがたまにこけていた(これは我々の実装の問題だと思います) fargate(firelens) -> firehose -> datadog logs, s3 とfirelensを使うとこの構成になり、上記解決 + cloudwatch
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く