Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Cloud Map in Production

hiroga
September 26, 2019

AWS Cloud Map in Production

AWS Cloud Mapを本番に導入して得られた知見をシェアします。

hiroga

September 26, 2019
Tweet

More Decks by hiroga

Other Decks in Technology

Transcript

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

    View Slide

  2. 自己紹介

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. 本番導⼊の感想
    導⼊が楽

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. 参考資料
    • 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

    View Slide