注目のAWS FARGATE
コンテナサービスを一歩進めたFARGATE!
東京リージョンでも、2018年7月からサービス開始!
と注目度抜群のサービスです。
AWS FARGATEは、何がいいの?
EC2が不必要なコンテナサービス
従来のコンテナサービスは、EC2がベースでしたが、EC2の管理も不要となる。
コンテナ単独でスケールアウトが可能となる。
ELBからのアクセスも可能である。
には、
FAQAWS Fargate はどのようなユースケースをサポートしていますか?
AWS Fargate はコンテナの一般的なユースケースをすべてサポートしています。
たとえば、マイクロサービスアーキテクチャアプリケーション、バッチ処理、機械学習アプリケーション、オンプレミスアプリケーションのクラウドへの移行などです。
とあります・・となると、
lamdaからのバッチ処理などにもいい!
CPUパワーが必要となる処理。
必要な時だけに起動をして、スケールアウトしてくれる!
と便利な事がいろいろとありそうです。
今回は、バッチ処理ではないが、httpアクセスを例にFARGATEを体験してみます。
docker image を作成
Dockerfileを作成します。
# cat Dockerfile FROM httpd:latest
httpdだけという単純なコンテナ
# docker build -t httpd_t .
↑作成します。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE httpd_t latest xxxxxxxx 5 weeks ago 177.5 MB # docker run -d -p 80:80 httpd_t
↑念のため、この段階で起動をしてみます。
# wget http://localhost/ -O res.txt localhost をDNSに問いあわせています... ::1, 127.0.0.1 localhost|::1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 45 [text/html] `res.txt' に保存中 100%[==========>] 45 --.-K/s 時間 0s res.txt へ保存完了 [45/45] # cat res.txt <html><body><h1>It works!</h1></body></html>
↑無事、アクセスができました。
AWSにイメージをpushします
ECSとECRのアクセスがあるロールで、ログイン
#aws ecr get-login --no-include-email --region us-east-1
「docker login -u AWS -p」 で始まる長い、コマンドプロンプトが返ってくるので
そのまま、コピー&ペースとして実行。
「Login Succeeded」
と出てくればOK!
↑「xxxhttpd」というECRリポジトリを作成しておきます。
#docker tag httpd_t:latest (AWS ID).dkr.ecr.us-east-1.amazonaws.com/xxxhttpd
↑タグ付けを行います。
#docker push (AWS ID).dkr.ecr.us-east-1.amazonaws.com/xxxhttpd
↑ECRへpushします。
↑ECRにpushされました。
(AWS ID).dkr.ecr.us-east-1.amazonaws.com/xxxhttpd
↑リポジトリのURLをコピーしておきます。
↑「custom」を選びます。
↑先ほど、コピーした「(AWS ID).dkr.ecr.us-east-1.amazonaws.com/xxxhttpd」
を赤枠部分に貼り付けます。
↑「ロードバランサーの種類」を「Application Load Balancer」にします。
↑その他の項目は、デフォルトにして、「作成」をして、少しすると、すべて「完了」となります。
↑作成後、「Auto Scaling」を調整します。5個まで、スケールアウトするようにします。
↑「EC2」の「ロードバランサー」を選び、該当ののものをみつけて、赤枠の「DNS名」「Aレコード」をコピーします。
↑少し経つと、ブラウザからアクセスができるようになります。
AWS FARGATEまとめ
AWS FARGATEは、EC2を気にすることなくスケールアウトが可能なコンテナサービス。
通常は稼働をしていないで、SQSや、lambdaをきっかけに、処理をさせたり、LApython でのバッチ処理など、用途は広がります。
参考書
この本、お勧めです!もちろん、買っています!