Slide 1

Slide 1 text

Hiroaki Ogasawara (@hiroga_cc) @ JAWS-UG東京 #32 - マイベストヒット2019 AWS Cloud Map ☁ 本番導入の感想 2019, Hiroaki Ogasawara

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

AWS Fargateでホスト、ECSのマイクロサービスアーキテクチャ 導⼊したアーキテクチャ

Slide 4

Slide 4 text

AWS Fargateでホスト、ECSのマイクロサービスアーキテクチャ 導⼊したアーキテクチャ 内部で 通信します!

Slide 5

Slide 5 text

Cloud Mapとは︖ ECSのサービスディスカバリを含む、AWSリソース検出の仕組み • コンテナに対応するプライベートなドメインの登録・更新を、ECSが⾃動 でやるための仕組み(サービスディスカバリ) • 従来からECSのサービスディスカバリ機能はあったが、コンソールが追加 • EKSにも対応しています(今回は話しません) • AレコードだけでなくSRVレコードも(話しません) • パブリックな名前空間にも対応しています(話しません) • IPアドレスだけでなくAWSのリソース名にも対応しています(ry)

Slide 6

Slide 6 text

Cloud Mapとは︖ 内部(公式ドキュメント等から想像) ECS Service AWS Cloud Map Amazon Route 53 スケールしたので、 サービスに RegisterInstance お願いします Mutli Valueの回答の Type Aレコードセットに 1レコード ⾜しといてください

Slide 7

Slide 7 text

Cloud Map(サービスディスカバリ)以前のソリューションは… • ECSのEvent StreamをLambdaで購読してRoute 53のAPIを叩く • Parameter Storeで名前とIPアドレスの組み合わせを持つ • InternalなALB • サードパーティのサービスディスカバリー • HashiCorp Consul • etcd • Netflix Eureka 本番導⼊の感想

Slide 8

Slide 8 text

Cloud Map(サービスディスカバリ)以前のソリューションは… • ECSのEvent StreamをLambdaで購読してRoute 53のAPIを叩く • Parameter Storeで名前とIPアドレスの組み合わせを持つ • InternalなALB • サードパーティのサービスディスカバリー • HashiCorp Consul • etcd • Netflix Eureka 本番導⼊の感想 余談 私はひとつもやったことないです (伝聞) サービスディスカバリ以前を知らな いので…!

Slide 9

Slide 9 text

本番導⼊の感想 導⼊が楽

Slide 10

Slide 10 text

本番導⼊の感想 導⼊後の運⽤で活躍 • ELBとECSサービスのヘルスチェック失敗時の調査 • マネジメントコンソールでサービスのIP調べなくていい • 踏み台サーバーからドメイン名で直接アクセス • あるサービスのドメイン名が、環境ごとに変わったりしない︕ • アプリケーション側で環境の差異を巻き取らないでOK(にできる)

Slide 11

Slide 11 text

カスタム属性やARNの解決など、⾃分が使っていない機能を使ってる⼈の話︕ 気になっていること

Slide 12

Slide 12 text

まとめ Cloud Mapを使うと、 Fargateで⽴てたサービスに 内部から楽にアクセスできる

Slide 13

Slide 13 text

参考資料 • Implementing Microservices on AWS https://d1.awsstatic.com/whitepapers/microservices-on-aws.pdf • AWS Fargate、Amazon EKS、Amazon ECS が AWS Cloud Map と統合(2018/11/28) https://aws.amazon.com/jp/about-aws/whats-new/2018/11/aws-fargate-and-amazon-ecs-now-integrate-with-aws-cl oud-map/ • ECSのサービスディスカバリーが東京にやってきて、コンテナ間通信の実装が簡単になりました!(2018/09/05) https://dev.classmethod.jp/cloud/aws/ecs-service-discovery/ • Amazon ECS サービスディスカバリ(2018/03/30) https://aws.amazon.com/jp/blogs/news/amazon-ecs-service-discovery/ • Amazon Route 53 Auto Namingでサービスディスカバリを実現する(2017/12/11) https://dev.classmethod.jp/cloud/amazon-route-53-auto-naming/ • Amazon Route 53、サービス名の管理および検出用の Auto Naming API をリリース(2017/12/05) https://aws.amazon.com/jp/about-aws/whats-new/2017/12/amazon-route-53-releases-auto-naming-api-name-servi ce-management/ • [新機能]Route 53 でマルチバリューの回答ができるようになりました(2017/06/22) https://dev.classmethod.jp/cloud/aws/route53-multivalue-response/ References