AWS Fargateの使い方紹介
はじめに
AWS Fargateとは?AWS Fargateはどこから触ればいいのかなど、AWS Fargateについてよくわからない方もいるのではないでしょうか。なので、AWS Fargateとは何なのかをはじめに紹介していき、どう使うのかについては、AWSから提供されているチュートリアルがあるので、そのチュートリアルを用いてFargateの使い方を紹介していきます。
AWS Fargateとは
AWS Fargateは、Amazon ECSとAmazonEKSの両方で動作するコンテナ向けサーバーレスコンピューティングエンジンのことです。また、Fargeteを利用することでセキュリティの向上が実現可能です。何故かというと、各タスクや各ポッドの実行には独自のカーネルと独立したコンピューティング環境が使用されるためセキュリティの向上が実現可能なのです。これによりこのセキュリティは、使用しているアプリでワークロードの分離と設計段階からセキュリティの向上が可能です。Fargateは、アプリケーションごとにリソースを指定し、その分の料金を支払うことができます。またコンテナの実行に必要なリソース分のみ支払うので、追加のサーバー料金等は発生しません。
AWS Fargateのメリットとは
AWS Fargateのメリットは主に3つあります。
- クラスタ管理が不要である
- シームレスなスケーリングが可能
- ホストマシン管理が不要である
EC2と比べコンテナ実行時にサーバーを意識する必要が無いので、サーバーのインスタンスタイプの選定やクラスタ管理が不要なのです。
コンテナをクラスタ上で起動している場合は、クラスタの容量に配慮しなければなりません。なぜなら、コンテナをスケールする際、実行に必要なリソースが無いとコンテナを新規に実行できないからです。クラスタの容量を常に監視し、コンテナと合わせてスケーリングさせなければなりませんが、AWS Fargateを利用すれば、上記のようなことを気にせずともコンテナをスケーリングさせることができます。
EC2などの仮想マシンを運用する際、ミドルウェアやOSのバージョンアップ、セキュリティパッチの適用などしなければなりませんが、Fargateのプラットフォーム管理運用はAWSで行うので、OSなどのバージョンアップやセキュリティパッチの適用もこの中に含まれているので、クライアントが何か行う必要はありません。
AWS Fargate使い方
それではチュートリアルを用いて説明していきます。
- AWSのコンソールにログインし、「AWS Fargateのチュートリアル開始画面」にアクセスします。
- コンテナ・タスクの定義設定
- サービスの設定
- クラスタの設定
コンテナ定義(Container definition)では、どのコンテナイメージを使うか、コンテナにどのくらいのCPUとメモリを割り当てるのか、という設定をします。いくつか選べるようになってはいますが、チュートリアルでは「nginx」を選ぶと良いでしょう。
タスク定義(Task definition)は、コンテナ定義をどう管理するか設定します。ただ、チュートリアルではこの項目は固定されていて弄れないので、次に進みましょう。
サービス(Service)では、さっき設定したタスク定義を何個実行し、維持するのか設定します。
いくつか設定するのですが、チュートリアルではロードバランサの種類しか設定できません。タスク数を増産させて負荷分散をしたいのでロードバランサの種類の中から「Application Load Balancer」を選びましょう。
クラスタ(Cluster)では、コンテナで使用するVPC、サブネットの設定をします。
おそらく「default」ともう入力されているので、そのままにして次へ進みましょう。
あとは、設定の確認、作成ステータスの確認、クラスタの確認、nginxへの接続の確認を行えば一通りはチュートリアル完了です。ちなみに作成ステータスの確認ですが、この時にブラウザの再読み込みを行うとステータスが見れなくなってしまうので注意してください。クラスタの確認は、アクティブなサービスが”1″、実行中のタスクが”1″となっていることを確認しましょう。
nginx接続確認では、
①作成したロードバランサのDNS名を確認します。そしてクラスタ名のリンクを押します。
②サービスタブ→サービス名クリック。
③詳細タブ→ターゲットグループ名をクリック。
④ターゲットグループ画面の説明タブのロードバランサ名をクリックし同タブのDNS名をブラウザのアドレスバーにコピペし、Enterを押します。そして、「Welcome to nginx!」と表示されれば完了です。
まとめ
チュートリアルを触ってみて、Amazon EC2の設定をせずにコンテナを動かせることに気づいて頂けたでしょうか。実際に触れてみることで気づけることも沢山あると考えさせられます。なので、AWS Fargateを知るにはファーストステップとしてチュートリアルを触ることが一番いいでしょう。AWS Faegateの魅力は、この記事ではまだまだ伝えきれていませんが、この記事がFargateに興味をもち、触れるきっかけになれば嬉しいです。