JAWS-UG コンテナ支部 #15 での登壇資料です https://jawsug-container.connpass.com/event/143245/
本日はコンシューマチームのブログリレー2日目です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回は以前筆者が M3 Tech Talk で話した AWS Lambda での Web アプリ開発に Rails を使う内容について、 若干内容を変えつつ Tech Blog の方でも紹介をしたいと思います。 最近使っているキーボードの様子 現在のチームで担当している主要なアプリは Rails で書かれていて、ほとんどがコンテナ化され Amazon ECS(ECS) と Fargate を使って運用されています。 そんな中今年の初めに AWS Lambda(Lambda) に適したプロジェクトが話にあがりました。ただ Rails で Lambda しかも Web アプリとなるとあまり採用事例を耳にしません。 とはいえ使い慣れている Rails をそのまま生かし
[アップデート]全 AWS Fargate 利用者必見! Seekable OCI インデックスによりコンテナの起動が大幅に高速化するようになりました はじめに 昨年、AWSはSeekable OCI(SOCI)の導入により、アプリケーションの起動と同時にコンテナからデータを非同期にダウンロードするコンテナイメージの遅延読み込みを実現しました。 これにより、コンテナイメージを変更せずにアプリケーションをより速く起動できるようになりました。 今回、SOCIがAWS Fargateにもサポートされました! SOCIは、ECRに保存されているコンテナイメージと同じECRにインデックスを作成しておくことで、イメージ全体をダウンロードせずに個々のファイルを抽出してコンテナを迅速に起動できます。 Amazon ECR リポジトリからイメージをダウンロードする際には、自動的にSOCI インデックスの有無
メドピアマッスル部上腕二頭筋担当、CTO室 kenzo0107 です。 今回はメドピアの直近のプロジェクトで採用している Rails × ECS Fargate についてです。 直近プロジェクト 直近プロジェクトでは AWS ECS を採用しています。 2018年10月にリリースした スギサポ deli は、メドピアで Fargate 初採用となったプロジェクトです。 スギサポ deli とは? sugisapo.ws 病気で食事制限が必要な方やシニアの方々、より健康な食生活を目指す方など、誰もが美味しく召し上がれるお食事をお届けするサービスです。 「食事制限」 と聞くと、簡素な食事をイメージされる方もいらっしゃると思いますが 一度見て頂くとお分かりの通り、かなりバラエティに富んだ内容となっており、目にも美味しい品々が並んでおります。 是非一度お試しいただければ幸いです♪ 今回お話ししたい
【追記情報】 2022/06/15 09:00 誤字修正 + cdkk8sについて言及 先日、ハンドブックを公開しました。 ここではKubernetes上で稼働させた実績値としての記録が紹介してあります。が、逆に紹介していないものもたくさんあります。検証が済んでいないもの、時間的制約から導入できなかったものなど、不完全な情報を紹介しようと思います。 したがって、何も保証するための裏付けはないので「そういうことも検討してたんだなぁ」ぐらいで読んでもらえると嬉しいです。元記事もぜひ読んでみてください。 nodejsのDocker Imageの軽量化 Docker Imageを作る際、多くの場合Image内にnode_modulesを含んだ状態でイメージを作成しています。Nodejsのベースイメージが60〜100MBくらいあるのに対して、ビルド後のイメージサイズは200MB〜1GBくらいまで膨れ
AWS による docker コンテナのオーケストレーションサービスである Amazon ECS / Fargate のヘルスチェックの挙動について調査する機会がありましたのでアウトプットしておきたいと思います。 前提として Fargate で ECS のサービスとして、ロードバランサーは Application Load Balancer(ALB)を利用して実行するケースで調査しました。網羅的ではない点、ご了承ください。 ECS におけるヘルスチェック さて、ECS でサービスを実行する上で、いわゆる「ヘルスチェック」は2種類あります。 Elastic Load Balancer(今回は ALB)に関連付けられる Target Group によるヘルスチェック タスク定義のコンテナに対して実行する docker によるヘルスチェック(参考 : docker ドキュメント, AWS ドキュ
おはようございます、もきゅりんです。 Shall we mesh ? 弊社コンサルティングには、今一度 AWS の各サービスを初心に返って、基本的な部分から見つめ直してみよう、解説してみようといったブログリレーという企画があるのですが、本稿はそれを模して、個人的な AWS App Mesh 再入門という体にしてみました。 どちらかというと、未来の自分のための備忘録と言えます。 これまで AWS App Mesh (以下 App Mesh) に入門されていなかった方も、すでに脱会されてしまった方も興味があれば再入門して下さい。 App Mesh とは何か サービス(アプリケーション)間の通信制御と可視性を実現するサービスメッシュを提供する AWS マネージドサービス です。 ブラックベルトにならってまとめると以下のような機能があります。 HTTP通信のリトライやタイムアウト 通信のトレーシン
発表資料の中に出てくるURLです。 * [Amazon EKSでのArgoCDを使ったGitOps CD](https://tech.recruit-mp.co.jp/infrastructure/gitops-cd-by-using-argo-cd-at-eks/) * [EnvoyとAmazon ECS Service Discoveryを利用したgRPCの負荷分散](https://tech.recruit-mp.co.jp/infrastructure/post-17098/) * [Amazon EKSでAWS App Meshを利用してgRPCサーバーを運用する](https://tech.recruit-mp.co.jp/infrastructure/post-20765/) * [https://tech.recruit-mp.co.jp/infrastructure/po
Amazon Elastic Container Service (Amazon ECS) introduces Amazon ECS Exec - a simple, secure, and auditable way for customers to run commands in a container running on Amazon Elastic Compute Cloud (Amazon EC2) instances or AWS Fargate. ECS Exec gives you interactive shell or single command access to a running container making it easier to debug issues, diagnose errors, collect one-off dumps and sta
Amazon ECSの新たなデプロイツールとなるAWS CopilotがGAに!ECS環境の構築が便利になるぞ!! Amazon ECSの新たなデプロイツールとなるAWS CopilotがGAになりました! 改めて、使い方やベータ版から追加された機能について試してみました。また、AWS Copilotによってもたらされる(かもしれない)未来について、自分なりに考えてみました。後半はほぼポエムです。 コンサル部のtobachi(@toda_kk)です。 2020年11月23日に、Amazon ECS CLIの後継となるデプロイツールとして、AWS CopilotがGAになりました! 以前からベータ版として提供されていましたが、GAとなったことで、Amazon ECS環境のデプロイツールの1つとしてProduction利用においても検討可能になったのではないかと思います。 AWS Copilo
はじめに TL; DR; 社内の普段はインフラ以外のところを主戦場にしている人向けに、AWS・GCPの権限に関する用語と概念を説明するために書いたものを加筆訂正して公開します AWS・GCPの権限管理は、基本的な概念は似ているが同じ英単語が別の意味でつかわれているのでややこしい 書いてあること 概念の説明と、関係を表す図 EKS・GKEからクラウドリソース *1 を使う時の考え方 書いてないこと 設定のためのコンソール画面のスクショや手順 Kubernetesからクラウドリソースを操作する方法は、以前のブログ「GitHub Actionsで実現する、APIキー不要でGitOps-likeなインフラCI/CD」でTerraformによるコードの例も紹介しているので、あわせて参考にしてみてください 想定読者 AWSはそこそこ使って慣れているけど、GCPにおける権限管理を理解したい人(またはその
はむはー!最近計算機には嬉しい気温になってきました。みなさん計算機はいかがお過ごしですか? 先月 Kubernetes クラスタを部内サーバーに構築したので、その話をします。 きっかけ きっかけは部内 OpenStack クラスタが崩壊したことです。OpenStack かぁ〜立て直すのめんどくさいね〜、って話しているうちに何故か Kubernetes を立てる話が盛り上がり、Kubernetes クラスタを立てることになりました *1。 いろいろ検討 Kubernetes を立てると一言で言っても、 Node の立て方や使うコンポーネント、YAML の管理方法など決めなければいけないことは多岐に渡ります。 まずは要検討事項をまとめた Issue を作りました。 数々の要検討事項 大量です。ここから一つ一つ検討していきました。 Node の立て方 Node を立てる、すなわち kubelet
何番煎じか分からないけど、最近やったので。 前提知識 AWS Lambda + Amazon API Gateway で HTTP リクエストを受け付けることができる AWS Lambda ではコンテナイメージを動かせる New for AWS Lambda – Container Image Support | AWS News Blog AWS Lambda で Sinatra アプリを動かすための公式サンプルがある https://github.com/aws-samples/serverless-sinatra-sample つまりコンテナ化した Sinatra アプリを Lambda 上にデプロイして HTTP リクエストを受け付けることができる。 動かす準備はもう全部整っていて、お手軽そうですね。 Ruby アプリを Lambda で動かすコンテナイメージを作る Sinatra
はじめに ご無沙汰しております。 最近は多忙でブログ書けていませんでしたが、今回は事例紹介やプラクティスのご紹介ではなく、re:Invent2020のAndy Jassy's Keynoteで発表されたAWS Protonというサービスについて、サービス概要や使い方、メリットなどをご紹介できればと思います。 最初サービス内容を聞いたとき、僕自身も「???」な状態だったので、同じように疑問をお持ちの読者の皆様へ理解の助けになればと思います。 注意事項 本ブログは2020-12-02時点の情報になります。 また記載時点ではAWS Protonはパブリックプレビュー状態であり、GA時に内容が変わる可能性がある点だけご留意いただければと思います。 AWS Protonとは? 誤解を恐れずに言ってしまえば、コンテナやサーバーレスアプリケーションからなるサービス構成を「統一的に管理・運用」するためのサ
はじめに これは Kyash Advent Calendar 2021の12日目の記事です。 こんにちは。KyashでSREを担当する、福岡県在住の@hikarunです。 本日は、Kyashで稼働するマイクロサービスをAWS Fargateに移行した話を紹介させていただきます。 事前知識 AWS Fargateとは AWSが提供しているAWS Fargate*1は、コンテナ向けのサーバレスコンピューティングの機能です。 サーバ不要のためインフラリソース管理を効率化できる、非常に魅力的な環境です。 EC2をFargate化するメリット・デメリットについては既に多くの皆様が記事に書かれておりますので、私の方で特に強く思う事を抜粋して記載させて頂きます。 EC2をFargate化するメリット インスタンス自体の設定や脆弱性を気にしなくてよい EC2インスタンスでコンテナを稼働させることはもちろん
Let’s compare the performance of all supported runtimes + 2 custom runtimes (Rust and GraalVM). Will compare cold start and warm. Source code is here: https://github.com/Aleksandr-Filichkin/aws-lambda-runtimes-performance. It requires the minimum local setup(almost all is Dockerized) NodeJs (14.x)Python (3.9)Go(1.x)Ruby(2.7).Net(3.1)Java (11)Rust(1.54.0)GraalVM(21.2)Disclaimer:All benchmarks were
こんにちは。インフラエンジニアの永井(shnagai)です。 今回は、ターゲット追跡ServiceAutoScallingを使い、ECS×fargateで運用しているサービスのスパイク対策と費用削減に取り組んだのでその内容をまとめています。 内容はざっくり下記4項目について書いています。 抱えていた課題 キャパシティプランニングに対する考え方 ECS ターゲット追跡ServiceAutoScallingとは何か? どんな結果になったか? 抱えていた課題 コネヒトでのWebのアーキテクチャはほとんどがECS×Fargateの基盤で動かしています。 ECSのバックエンドをEC2からFargateに移行したタイミングで、大きく下記2点のメリットは享受していました。 EC2を意識しないことでの運用コスト削減 オートスケールの容易さ ですが、サービス運用にあたりまだ下記のような課題がありました。 ①
AWS Amplify ConsoleでNext.jsのプロジェクトをデプロイすると Serverless Next.js Component のインテグレーションによってAWS Lambda リソースが最大4つ作成される(ソースコードはエクスポートできる) Default Lambda@Edge for Next CloudFront distribution API Lambda@Edge for Next CloudFront distribution Image Lambda@Edge for Next CloudFront distribution Next.js Regeneration Lambda それぞれのAWS Lambdaが行っていることを読み解くとVercelが自社で構成しているシステムの外観が分かるのではないかと思って眺めてみた (CloudFrontのコンソール
Amazon Web Services ブログ コンテナとコンテナ化されたアプリケーションに対する運用上の洞察 コンテナ化されたアプリケーションとマイクロサービスの適応が増えるに従い、監視と管理の負担がますます増えます。ビルダには Amazon Elastic Compute Cloud (EC2) のインスタンスなどのより長期にわたるインフラすトラクタに使用されるため、同じレベルの監視が期待され、要求されています。対照的に、コンテナは比較的短命で、通常は継続的なデプロイが求められます。これにより、信頼性をもって監視データを収集し、パフォーマンスやその他の問題を分析することが困難になり、このことが修復時間に影響を与えます。さらに、ビルダはさまざまなツールを使用してこの分析と検査を実行し、一連のインフラストラクチャとアプリケーションのメトリック、ログ、およびその他のトレース全体でコンテキスト
今回は基本はTerraformでインフラを構築しつつも、部分的にはSAMを使用してLambda+API Gatewayをデプロイしたいと思います。 Lambdaのアーカイブ化やS3へのアップロードをSAMにやってもらうことで、Terraform側でのタスクを軽減することができます。 今回の記事の元ネタは以下のスライドです。 IaCについていろいろな知見が得られると思うのでおすすめです。 SAMとは SAMはLambdaなどのサーバーレスアプリケーションの開発・デプロイを補助するツールでCloudFormationのような形式のファイルを用いてこれらを定義することができます。 Lambdaを開発・デプロイする場合について考えると、必要となる工程は煩雑です。開発ではローカルでの実行やランタイムの管理などをしたくなりますし、デプロイでは依存するパッケージの設置、Zipファイルへのアーカイブ化、ア
手法 いくつかあると思うが、今回の選択肢としては次が挙がった Public SubnetにEC2を構築し、そのEC2を経由してPrivate RDS(など)にアクセスする手法と、 ECS Fargate × SSMで構築し、ECSに対してSSM接続することでProxyとする手法。 Pros and Cons EC2 Pros(長所) 馴染みのEC2なので何かと情報が出回っており、直感で操作できる 構築難易度がECSに比べ低い。 Cons(短所) EC2 Fargateパターンに比べ、イケイケ感の低さや運用コスト(後述)の違いがある 運用担当者がEC2内にSSHユーザーの設定をユーザー毎に行わなくてはいけない sshのkey pairをどう管理するのか問題が控えている ECS(Fargate) Pros(長所) まず、イケている。 運用担当者はSSHユーザーの作成不要で、IAMユーザーさえ作
Since we emulate the Next.js routing logic, unfortunately we aren't always at full parity. The following shows all supported features or planned features. If the checkbox is ticked, it means that the feature is supported. Otherwise, it is likely not supported yet or currently in planning or implementation stage. Please refer to an item's description for specific details. Note that some features ma
ほぼ独学・未経験者がモダンな技術でポートフォリオを作ってみた【Rails / Nuxt.js / Docker / AWS / Terraform / CircleCI】RailsAWSCircleCITerraformNuxt はじめに こんにちは! akiと申します! 当記事はほぼ独学・未経験者がモダンな技術でポートフォリオ(以下PF)を作ってみたので、ご紹介させて頂きたいと思います。 昨今、未経験者がモダンな技術を使用して作成した、PFの作成記事も多く存在するので、何番煎じかにはなってしまいますが、この記事も同じ初学者の方の参考になれば幸いです。 自己紹介 私は22歳・高卒で、現在(2021年3月時点)も工場で製造の仕事を続けております。 そんな私ですが「Webエンジニア」という職種に興味を持ち、2020年4月よりプログラミング学習を開始しました。 今回紹介するPFの作成期間は約3ヶ
Amazon Web Services ブログ AWS サーバーレスサービスによるマルチテナント SaaS ソリューションの構築 この記事は、Building a Multi-Tenant SaaS Solution Using AWS Serverless Services を翻訳したものです。 本投稿は、AWS SaaS Factory の Sr. Partner Solutions Architect である Anubhav Sharma と AWS SaaS Factory の Partner Solutions Architect である Ujwal Bukka により寄稿されました。 SaaS (Software-as-a-Service) 提供モデルへの移行に際しては、コストと運用効率を最大限に高めたいという要望が伴います。 これは、利用傾向を予測することが困難なマルチテナン
米Amazon Web Servicesは、Amazon Simple Storage Service(S3)から取得したデータをアプリケーションへ返す前に、独自のコードを追加して処理できる「Amazon S3 Object Lambda」の提供を、3月18日(現地時間)に開始した。 Amazon S3 Object Lambdaは、既存のアプリケーションと連携してAWS Lambda関数を使用し、Amazon S3から取得するデータを自動的に処理・変換する。Lambda関数は標準のS3 GET requestを使ってインラインで呼び出せるので、アプリケーションコードを変更する必要はない。 Amazon S3 Object Lambdaの使用によって、以下のようなユースケースの単純化が可能になる。 分析環境または非実稼働環境で個人を特定できる情報を編集 XMLからJSONへの変換など、デー
はじめに この記事ではECS(Fargate)のCDパイプラインに、DBマイグレーション処理を組み込む一例を解説します。 ECS(Fargate)へのデプロイは、ecspressoを使用します。 また、題材はLaravel、CIツールとしてはGitHub Actionsを使いますが、他のフレームワークや、CIツールでも考え方は応用できるかと思います。 目次 はじめに 目次 前提 DBマイグレーションを含む一連のデプロイの流れ DBマイグレーションの前に行うこと ワークフロー例 --watch-containerオプション --overridesオプション GitHub Actions実行結果(抜粋) 前提 本記事で取り扱うECSタスクでは、以下2つのコンテナが起動します。 nginxコンテナ。ベースイメージはnginx:1.20-alpine。 phpコンテナ(Laravelが稼働するコン
AWS News Blog Announcing AWS Graviton2 Support for AWS Fargate – Get up to 40% Better Price-Performance for Your Serverless Containers AWS Graviton2 processors are custom-built by AWS using 64-bit Arm Neoverse cores to deliver the best price-performance for your cloud workloads running in Amazon Elastic Compute Cloud (Amazon EC2). They provide up to 40 percent better price-performance over compara
本記事はDevDay Day1のセッションレポートとなります。 資料についてもすでに公開済みですので合わせてそちらもご確認ください。 セッション概要 AWSのオフィシャルツールを筆頭に、各種OSSを使用したFargateへのコンテナデプロイを考察する。 登壇者 原 康紘 様(アマゾン ウェブ サービス ジャパン株式会社) セッションの対象と目的 Fargateの利用を検討している方 デプロイツールの特徴を知りたい方 デプロイメントやパイプラインの構築、改善を行いたい方 AWS Fargateとは Dockerコンテナをデプロイする際にツールがないとEC2インスタンスに対してSSH接続してDockerの構築が必要になる この問題を解決するためにECSがサービスとして登場した EC2インスタンス群にDockerコンテナを自動的に構築してくれる EC2インスタンス上で動いているので、OSが動いて
Introduction AWS Fargate was launched in late 2017. It lets users build and deploy containerized applications without having to manage the underlying infrastructure themselves. Cluster management (tasks like managing EC2 instances, autoscaling policies amongst others) can be operationally challenging and adds a lot of friction for developers who want to be able to deploy their applications as quic
初めに 昨日のアップデートでAWS Lambdaは実行結果の返却値を一括の応答ではなくストリーミングな徐々に応答するようなことが可能となりました。 いざ日本語に直そうとすると微妙に難しいタイトルで実際の公式の翻訳がどうなるか次第では少しタイトルを調整するかもしれません。 これまでの方式ではLambdaの機能としては処理完了まで返却値を返すことができず、そういった機能が必要な場合はWebSocket等別の手段をユーザ側で実装する必要がありました。 今回のアップデートではTransfer-Encoding: chunked形式による返却に対応しHTTP/1.1の仕様の範囲内で徐々に値を返却できるようになりました。 またこの方式は応答サイズの上限が従来の6MBではなく20MBまでの対応となるためより大きなレスポンスを返すことができるようです。 Configuring a Lambda funct
We’ve scaled Kubernetes clusters to 7,500 nodes, producing a scalable infrastructure for large models like GPT-3, CLIP, and DALL·E, but also for rapid small-scale iterative research such as Scaling Laws for Neural Language Models. Scaling a single Kubernetes cluster to this size is rarely done and requires some special care, but the upside is a simple infrastructure that allows our machine learnin
皆さん元気ですか!?SREチームの@adachin0817です。去年から行っていた移行プロジェクトで、グループ会社である、シクロマーケティング株式会社の「ミギウデ」をさくらVPSからAWSへ移行しました。今回、移行背景やECS/Fargateでのコンテナ運用について簡単にご紹介と振り返りを行ってみたいと思います。 なぜAWSへ移行するのか AWSへ移行すると冗長性の担保などが挙げられますが、一番は開発環境やインフラなど、すべてランサーズに統一させるということが第一の目的です。それに伴い、ミギウデ自体のサービスがシンプルなインフラ構成ということもあり、インフラ運用の手間をなくしたいということから、ECS/Fargateで初の外部サービスとしてコンテナ運用にチャレンジしてみようとなりました。 目的とコンテナ化にするメリット ・内部統制対応 ・S3、RDSを利用したバックアップ ・CloudWa
インフラエンジニアの寺岡です。 今回はFargateに対するアプリケーションのデプロイのお話です。 Code兄弟と言われていたりしますが AWSでは各種サービスに対してデプロイを行う際に便利なサービスがいくつかあります。 今回はその中のCodeBuildとCodePipelineを利用して Fargateに対してデプロイするパイプラインをTerraformで作成したのでコードを共有します。 Terraformのバージョンは「v0.12.24」です。 参考になされる場合はご注意ください。 今回構築したもの 以下の様になっています。 VPCはPublicとDMZとPrivateの3層構造にし PublicサブネットにはALBとNatGatewayを DMZサブネットにFargateのタスクを起動させてALBのターゲットグループに紐づけています。 デプロイのパイプラインの要のCodeBuildと
はじめに 「KubeCon + CloudNativeCon」でのセキュリティに関するセッションで紹介されたり、IstioをはじめとしたService MeshプロダクトのWorkload Identityとして採用されたりと、最近になりCloud NativeコミュニティでSPIFFEの名を耳にすることが多くなってきました。本記事では、SPIFFEが求められた背景やSPIFFEの概要、Kubernetesへの導入方法などを紹介していきます。 SPIFFEが求められた背景 マイクロサービスアーキテクチャ、コンテナオーケストレーター、クラウドコンピューティングのような分散システムを利用している環境では、サービスのスケーリングなどに伴いノードやアプリケーションが頻繁かつ動的に分散配置されるため、アプリケーションに割り当てられるIPアドレスが短期間で変化してきます。 このような環境では、ネットワ
Amazon Web Services ブログ [AWS Black Belt Online Seminar] Amazon ECS Deep Dive 資料及び QA 公開 先日 (2019/7/31) 開催しました AWS Black Belt Online Seminar「Amazon ECS Deep Dive」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190731 Black Belt Online Seminar Amazon ECS Deep Dive AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Fargateのタスクスケジューリングにおいても、AWS Secrets Managerを利用できるのでしょうか?(以前検証した時、タスクスケジューリングではAWS Secrets Manager
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く