2
results
for Fargate
-
概要 夏頃、AWS FargateとEKS祭りに参加してきた。 Fargateが東京リージョンにもやってきたので、そのためだ。 会社のチーム内でもAWS Fargateの機運が高まり、頑張って検証をしたので、まずはTerraformで構築する簡単なものを記録しておく。 なお、基本的には下記Terraformのドキュメントを参考にしている。 https://www.terraform.io/docs/providers/aws/r/ecr_repository.html <a href=“https://www.terraform.io/docs/providers/aws/r/ecs_cluster.html” rel=“noopener noreferrer” target="_blank">https://www.terraform.io/docs/providers/aws/r/ecs_cluster.html https://www.terraform.io/docs/providers/aws/r/ecs_service.html https://www.terraform.io/docs/providers/aws/r/ecs_task_definition.html 構成 PrivateサブネットにFargateを設置する。 コンテナにグローバルIPを付与することもできるが、EIPをつけずALBにぶら下げる場合はNAT Gateway経由でインターネットに接続するようなサブネット構成にすることになると思う。でないとイメージをpullできない!(ここでまずハマった) 今回はALBにぶら下げるようにする。 ALB 先にコンテナをぶら下げるALBを作成しておく。(グローバルIPを振る場合は不要) SSL証明書の設定(ACM)等は自分の環境にあわせて修正する。 下記ではACMで取得した証明書を指定して、443へリダイレクトするようにしている。 resource "aws_lb" "staging-inamuu" { name = "staging-inamuu" internal = false load_balancer_type = "application" security_groups = ["${aws_security_group.staging-inamuu-alb.id}"] subnets = ["${aws_subnet.staging-public-1a.id}"] enable_deletion_protection = true tags { Env = "staging" } } resource "aws_lb_target_group" "staging-inamuu" { name = "staging-inamuu-lb-tg" port = 80 protocol = "HTTP" vpc_id = "${aws_vpc.staging-inamuu-vpc.id}" target_type = "
-
AWS Fargate ECS/EKS祭り 8/3(金) AmaozonWebServices目黒セントラルスクエア AWS Fargate & Amazon ECS/EKS最新情報 ECS AWS 西谷さん(@Keisuke69) コントロールプレーン=コンテナの管理をする場所(ECS/EKS)どこでコンテナを動かす?生死は?デプロイ時にどこに配置する?など データプレーン=実際にコンテナが稼働する場所(Fargate/EC2) ECSの話 ローンチされてから数年 数百万インスタンス/数億コンテナが毎週起動 プロダクションでコンテナ運用を支援するために開発されている CloudWatchLogと簡単に連携 CloudWatch Iventと連携 Fargateのローンチ 7月からTokyoリージョンサポート AutoScallingをユーザー側で考えなくても良い(ECSと同じ) スケジューラ、LBなどはECSと同じで利用可能 課金はCPUとメモリが秒単位 FarageteはVPCネットワーク利用のみ ALB/ELBをサポートしている パーミッションタイプ(Cluster/Application/HouseKeeper) CloudWatchでモニタリング Farfateで難しいもの Windows Containers GPU Support docker exec デバッグ SpotやRIベースの価格モデルの適用→必要ならEC2モード Lambdaのほうがよい場合 イベント・ドリブン ミリ秒単位のコンピュート ランタイム管理したくない 分散バッチコンピューティング コンテナのAutoScaling ECS Trackingとの連携がおすすめ SLA99.99%(ECSと同じ) EKS k8sをプロダクションを運用している人→ちらほら k8sは可用性のためにAZをまたいで3つ作成が必要 on AWS k8sは人気があるが自前構築が大変… AmazonEKSはずっとプレビューだったが、6月末で一般公開になった(AWS、Kubernetesを簡単に実行できる「Amazon EKS」を正式リリース) Confirmability CNI plugin ENI Secondary IP LB: CoreOSALB エンドポイント認証はIAMできる FlutendでCloudWatch Logsと連携が簡単 WorkerのメトリックスはCloudWatchで取れる AmazonECS + AmazoneEKS + Faragte 連携予定 コンテナ化したアプリケーションをAWSを動かすためのベストプラクティス 福井さん(@afukui) カナリアデプロイ/ブルー・グリーンデプロイ がやりやすいのがコンテナのメリット マイクロサービス化している方? – ちらほら コンテナを利用した開発に必要な技術要素 アプリのステートレス化 レジストリ コンテナの中にいれるのはステートレスなアプリに ステートが必要なものはコンテナの外に RDBMS -> RDS オブジェクト -> S3 Twelve-Factor App(The Twelve-Factor App) レジストリの自前運用は大変なのでマネージドを使うのがおすすめ CI/CDパイプラン 自動化するメリットは誰がデプロイしても同じ結果になる デプロイ職人(!