ユーザ用ツール

サイト用ツール


aws:fargate:index.html

AWS Fargateで、サーバレスでコンテナ起動

Fargateとは

Amazon ECSやEKSで、コンテナを実行する際の起動タイプの1つです。
サーバレス(EC2不要)でコンテナを実行できる。
サーバーやクラスターを管理することなくコンテナを実行
ホストマシンが見えなくなり、ホストマシンを意識すること無くコンテナを実行することが出来ます。

注意点
  • Fargateは、Dockerコンテナ内のデバッグがしずらい。ECSなら以下もできる。
    • ホストインスタンスにSSHログインできない
    • コンテナ状況を確認するコマンドが実行できない。(docer ps, docker exec)

awsvpcネットワークモード

  • タスクごとにENI(Elastic Network Interface)持ち、Private IPが割り振られる
  • タスク内の複数のコンテナ同士の通信はlocalhostか127.0.0.1でアクセスできる。
  • 同じVPC内であれば、EC2のように、Private IPでアクセス可能
  • ALBを使う場合、ターゲットグループに登録する際に、ターゲットタイプをIPとしてタスクを登録する


Fargateベストプラクティス

ストレージ

データは外部ストレージに残す。
EBSをマウントできない。


ログ

コンテナなので、標準出力、標準エラー出力に送り、
CloudWatch Logsへログ書き出しをするのがよい。


メトリック

Fagateのメトリックで取得できるのは、CPU使用率、メモリー使用率。


作成手順

クラスターの作成手順

「クラスター」から「クラスターの作成」
「ネットワーキングのみ AWS Fargateを使用」を選択し「次のステップ」

クラスターの設定
クラスター名 適当な名前


タスク定義の作成手順

「タスク定義」から「新しいタスク定義の作成」
「Fargate」と「EC2」がありますが、「Fargate」を選択し「次のステップ」

タスク定義
タスク定義名
タスクロール
ネットワークモード awsvpc
タスク実行ロール
タスクメモリ 0.5GB
タスクCPU 0.25vCPU

「コンテナの追加」をクリック

コンテナを定義
コンテナ名 test-fargate-01
イメージ xxxx.dkr.ecr.ap-northeast-1.amazonaws.com/t-kurihara/test01:latest
カスタムイメージ形式
プライベートレジストリの認証
メモリ制限(MB) 300 
指定したメモリを超えようとすると、強制終了
ポートマッピング 80

「追加」をクリック


タスクの実行

「タスク定義」で、先ほど作ったタスク定義を選んでアクションから「タスクの実行」を選択

起動タイプ FARGATE FARGATE かEC2を選択可能
タスク定義
プラットフォームのバージョン
クラスター 最初に作成したクラスター
タスクの数 1
タスクのグループ
クラスターVPC
サブネット 事前に作成してあるVPC(PublicかPrivateなど)
セキュリティグループ

「タスク実行」をクリック
「タスク」タブから、タスクがRunningになっていることが分かります。


参考

参考

aws/fargate/index.html.txt · 最終更新: 2021/07/19 08:47 by kurihara

ページ用ツール