skillup

技術ブログ

サーバー・ネットワーク

ECSについて

投稿日:

AWSでwebアプリを立ち上げる場合、基本的にはEC2+RDS(小規模な場合は使わないケースもあるかも・・)+アルファの構成が多いと思うのですが、Dockerでコンテナイメージをもっていれば、コンテナを直接起動させることができます。

AWSですとAmazon Elastic Container Service (通称ECS)というサービスがそれに該当します。

ある方とインフラの話をしていた時に、ある程度セキュリティレベルを高くしたいので、サーバー自体に入らせない仕組みが必要・・みたいなことをおっしゃっててその仕組みの1つですね。

よく考えるとherokuで運用していたアプリがありましたが、サーバーにログインして何かしたことはないですね・・DBにつないで、ということはあったのですが、これもマイグレーションなどで行うのが正しい方法かと思われます。

注意点としてはDockerfileだけをプッシュしますのでdocker-composeの設定を反映させるにはしっかりと内容を理解しているor後述するecs-cliを使う必要があります。

ECSについて

概念やイメージがわかりにくいものが多かったですね。(今でも正直あんまりわかっていませんが・・汗)

大きく分けるとタスク、サービス、コンテナの3つのグループがあるのですが、ざっくり下記のような認識をしています。

タスク・・ECSの最小単位。

サービス・・タスク群の上位グループ。フロント単位、バックのAPI単位など

クラスター・・インスタンスのグループ

Amazon EC2 Container Service(ECS)の概念整理

AWS ECS 10分チュートリアルでふんわりFargate入門

Amazon ECS(EC2)を試す小さなサンプルメモ

実際の登録

基本的には

  1. ECRでコンテナを登録する(AWS専用のDockerHubみたいなものです。)
  2. タスクの定義でコンテナの登録
  3. クラスター作成
  4. タスクの実行

というのが一番簡単です。

Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜

またウィザードにそって行けばそのままECSの環境が作れるものもあります。

https://console.aws.amazon.com/ecs/home?region=us-east-1#/firstRun

ecs-cli

自分がやりたかったのはRedmineというRails製のアプリのDockerコンテナを立ち上げることなんですが、画面からポチポチやってもどうしても立ち上がらなかったです。PHPのアプリとかはすぐにできたんですが、このアプリRailsなんでPortが3000なんですよね・・

これを3000→80にマッピングさせているはずなんですが、どうやっても落ちてしまい、色々試行錯誤してみましたが、解決せず・・・半ば諦めかけた時にコマンドラインのecs-cliを使ったらすぐに解決しました・・・・

これ使うとdocker-composeそのまま使えます。

理解していないとキツイですね・・・

https://github.com/umanari145/node_aws_etc

ローカルで使用したdocker-compose.ymlを使ってECS上でコンテナを起動する

ちなみに単純にコンテナを使ってサービスを動かしたいだけだったらEC2にログインして、dockerをインストールして、 docker-compose up -d を使うのが一番早いです。

AWS EC2インスタンスにdockerとdocker-composeをインストールして簡単なWEBサービスを立ち上げる方法

-サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SSHのfinger printに関して

今まで何気なくやっていることをあまり実は理解していない・・なんてことが多いもんで、最近は復習の必要性を感じています。 今回のお題はSSHのfinger printです。 初めてSSH先に接続するときに …

no image

メニュー系のCSS

よく迷うのでこれを機にまとめておこうかと。 Contents1 通常時のメニュー2 携帯(いわゆる縦のメニュー)3 ホバー時の画像選択4 小ネタ 選択されているときのメニュー 通常時のメニュー htm …

no image

ネットワークコマンドについて(ping,nslookup,host,digなど)

前回のDNSの時にレコードタイプについて調べましたが、以前からあやふやだったネットワーク系のコメントについても調べてみようかと思います。 参考リンク 名前解決・疎通確認する際の基本的なLinuxコマン …

no image

ネットワーク基礎 OSI参照モデルなど

ここ↓でネットワークの基礎についてかいてあるので定期的に勉強しようと思っています。 3分間 NetWorking Contents1 スニーカーネットからリソース共有2 LANとWAN3 OSI参照モ …

no image

FTPソフトでのアクティブモード&パッシブモードについて

Webアプリを作る場合、基本的にSSHが使えることが前提だったんですが、先日安いサーバーでWebサイトを作る案件があり、FTPでアップをする必要に迫られました。 その時に、「ログインはできているんだけ …