Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに こんにちは。Wano株式会社エンジニアのnariと申します。 今週も記事を書いていきます。 今回はECSにおけるデプロイ方法を、デフォルトのrolling updateの仕様がいささか怖いので、Blue/Greenに変更した話を書こうと思います。 今回のプロジェクトでは、ほぼ大体のインフラリソースをTerraformで管理しているため、設定は全てtfファイルで行います、ご了承ください。 Blue/Greenデプロイ とは 稼働中のBlueに対しては何もせず、別で新しいリビジョンのGreenを作って、任意の戦略に沿って全体をGreenに切り替えていくデプロイのこと。 稼働中の環境に手を加え、変更を重ねる従来のin place方式と比べ、内部の一貫性が保ちやすく、rollbackが容易と言われている。 (BlueGreenDeploymentから引用) ECSでのデプロイの特徴 デフ
InvalidParameterException: The new ARN and resource ID format must be enabled to add tags to the service. Opt in to the new format and try again. ECSで遊んでみようとTerraformで遊んでいたら、 ECSのServiceリソースを生成する際に上記のようなリクエストエラーが返ってきた。 意外と知らなくて詰まったのでその対処方法。 環境 macOS Mojave 10.14.5 terraform: v0.12.13 対処方法 参考になったのは下記の2ページ。 AWSのブログのこの画像の通りですが、下画像のECSのアカウント設定ページで設定を行う必要がありました。結構書籍や実践例はこの設定を以前に行なっているユーザーでTerraformでリソー
問題点 ブラウザからECSでデプロイしたコンテナにアクセス出来ない。 状況 デプロイ前 ECSにコンテナをデプロイする前の設定(原因と思われる箇所のみ抜粋) タスク定義 ホストポートは動的割当に(ホストポートに0を指定)していた サービス ALBを利用するように設定していた デプロイ後 コンテナデプロイ後の動作 ターゲットグループ 状態がunhealtyのままとなり、healtyにならない。 タスク タスクがSTOPされ、前回のステータスにTask failed ELB health checks in xxxと表示される。 原因 コンテナのヘルスチェックに失敗するため、ロードバランサーがコンテナにリクエストを送信していなかった。 見直し・解決方法 ロードバランサーのヘルスチェックがコンテナへ到達できるようにALBやEC2の設定を見直す。 Application Load Balancer
ログ等のデバッグ情報 種類 ECSにおいて以下の種類のログ等を活用したデバッグ方法を説明します。 アプリケーションログ Amazon ECS サービス ログ Amazon ECS タスク ログ Amazon ECS コンテナエージェントログ Amazon ECS ecs-init ログ タスク認証情報の監査ログ用の IAM ロール ECS Logs Collectorの使用 エージェントのイントロスペクション診断 API failures エラーメッセージ アプリケーションログ ECS上のDockerで起動しているアプリケーションのログ出力の設定をします。 サイドメニューの[タスク定義]から新しいリビジョンのタスクを定義する際に[コンテナの定義]をします。このときに[ストレージとログ]項目中のログを以下のように設定します。 ログ設定 ログドライバー awslogs ログオプション awsl
※1: CLIからのみ実行可能 Beanstalkの特徴 環境構築が楽。EC2+RDSという一般的なアプリケーションであればBeanstalkコンソールでほぼ完結 コンテナを用いないアプリケーションも構築可能 Multi-container Dockerを利用すると、裏でECSが動く (ECSを意識しなくてもアプリケーションが動く) Beanstalkはとにかく環境構築が簡単。ウィザードに従ってうっかり Create environment なんて押すもんならいきなりインスタンス起動してアプリケーションが動き出す。間違えて3回くらい押した。 Beanstalkは環境構築が簡単な反面、裏で何のサービスが連動しているのか分かりにくい側面もあります。障害が発生した時、問題の切り分け (コンテナが原因なのか、ECSか、それともBeanstalkの問題か) が困難となる印象です。 ちなみにBeans
(2020/12/26 加筆修正:CentOS6が終了しyum update利用不能となったためAmazonLinuxコンテナへ変更。その他現行環境へ対応しました) ECR とは AWSのマネージドサービスなdocker互換コンテナレジストリです。(EC2 Container Registry) デフォルトでは自アカウントのみアクセス可能になっており、外に置きたくないコンテナイメージをAWS内で管理するのに適しています。 今回は、Webサーバコンテナを作成してECRレポジトリに登録し、ECSクラスタでWebサービスを構築します。 コンテナを強制停止しても自動的に新しいコンテナが起動し、サービスが継続されることを確認します。 みんな大好きAWSCLIでやってみましょう。 前提条件 2013年12月5日以降に作成したアカウントであること。これより古いアカウント(デフォルトVPCが存在しないクラ
今回のポストは、AWS-UG アドベントカレンダーの12/22日ポストです。 ECSのプレビューは無事に入手できたのですが、@spesnova氏により「Datadog で Docker コンテナをモニタリングする」で紹介されている方法を使ってメトリクスが収集できるかどうかを検証できるほど時間が取れなかった。なので、お題を変更してDatadog AgentがDcokerのメトリクスをどのように集めているかを探ってみることにしたいと思います。(ごめんなさい。)そして先のポストを読む際のサプリメントとして、目を通してもらえると幸いです。 Dcokerのメトリクス Dockerのメトリクスに関して詳しく書かれているドキィメントは、「Runtime Metrics」ではないかと思います。要は、「Linuxコンテナのメトリクスは、cgroupを通して公開される」ということだど思います。従って正しいマウ
概念図 とりあえずECSに出てくるエンティティがそれぞれどんな多重度で関連しているのかをまとめてみました。ここからはそれぞれのエンティがどんな概念なのかを解きほぐしていきたいと思います。 図1 概念図 Serviceが中心 ECSは平たく言うと クラスター(=複数EC2インスタンスの集合)の上で Dockerコンテナを使って、 Serviceを動作させる ものです。 図2 例えばの構成 上図は、 Front Service (裏にいるAPIをCallしてWEB UIを提供するもの) API Service (ビジネスロジック、DBへの読み書きをRESTful APIで提供するもの) と言う2つのService で構成されるWEBアプリケーションの例です。 ECSで言うServiceは、Serviceは利用者から見た「サービス」よりも一段階か二段階細かいもので、APIサーバーとか、フロントサ
Amazon EC2 Container ServiceをGUIから試してAWS側で用意したサンプルWebアプリを動かしたときのメモ。 サンプルを利用することで2つのコンテナ(Docker)で構成された静的なWebアプリにアクセスできました。 参考 Amazon EC2 Container Service-Getting Started EC2 Container Serviceを使ってみる Get Startted 最初の画面では Get Started を選択します Step1 Welcome to Amazon ECS 今回は独自の設定をするわけでなく、AWSの用意したサンプルを使うのでAmazon ECS sampleを選択します Step2 Create Task Definition from sample 次の画面では利用するコンテナ(docker)とボリュームを指定します。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Amazon EC2 Container Service 内容はあくまで現在のPreviewを元にしているので、今後も仕様などが変更になる可能性が大きくありますので、ご利用の際は必ずドキュメントをご覧ください。 ECSはDockerベースのアプリケーションのビルド、実行とそしてスケールを助けるためのサービスです。 利点として、より簡単なクラスターマネージメント、ハイパフォーマンス、柔軟なスケジューリング、拡張性、ポータビリティ、そしてAWSの他サービスや機能との統合があります。ECSは論理的なEC2インスタンスのグループを作成し、EC2
前置き Kubernetes Advent Calendar 22日目 の記事です。 はい、いきなり何言ってんだ状態です KubernetesのAdventカレンダーなのに、Amazon ECSとは喧嘩売ってるだろとか言われそうですが、kubernetes記事はいろいろ出てきていますが、ちょうど先週Previewがローンチしたばかりで、情報も少ないので、この機会に比較してみようと思います チュートリアルをすでに、クラスメソッドさんが触っておられるそうなのでネタ不足すぎる感じではありますが・・・ http://dev.classmethod.jp/cloud/ecs-ataglance/ アーキテクチャ概要 AmazonECSには、kubeletやNode,Podのような概念が今のところありません。 ECS-agentがインストールされた専用のEC2インスタンスを使い、agentがECSの管
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く