$30 off During Our Annual Pro Sale. View Details »

ECS Service Connectでマイクロサービスを繋いでみた

x-blood
December 22, 2022

ECS Service Connectでマイクロサービスを繋いでみた

x-blood

December 22, 2022
Tweet

More Decks by x-blood

Other Decks in Programming

Transcript

  1. ECS Service Connectで
    マイクロサービスを
    繋いでみた
    佐藤 靖幸
    JAWS-UGコンテナ⽀部 #22 re:Cap
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 1

    View Slide

  2. ⾃⼰紹介
    佐藤 靖幸
    @yasai_ls
    JAWS-UG コンテナ⽀部の
    運営メンバーになりました。
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 2
    PARTNER
    NETWORK
    2022 APN AWS Top Engineers

    View Slide

  3. いっぬ最⾼︕︕
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 3
    ポメ柴アラレちゃん
    Youtube チャンネルをよろしくお願いします!
    https://www.youtube.com/@pomeshiba.aralechan

    View Slide

  4. アジェンダ
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 4
    ECS Service Connectでマイクロサービス繋いでみたよ
    やってみた構成
    FastAPIでマイクロサービスを作る
    ECS Service Connectの設定
    ECS Service Connectのつまづきポイント
    まとめ(所感)

    View Slide

  5. やってみた構成
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 5

    View Slide

  6. FastAPIでマイクロサービスを
    作る – クライアント側
    クライアントは
    Service Connect
    ServiceのURLを
    指定してマイクロ
    サービスに
    アクセスする
    APIのレスポンスは
    サービス側の
    レスポンスをそのまま
    表⽰しているだけ
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 6

    View Slide

  7. FastAPIでマイクロサービスを
    作る – サービス公開側
    サービス公開側も
    FastAPIで。
    ルートURLを
    APIとして提供し
    クライアント側が
    呼び出すだけ。
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 7

    View Slide

  8. ECS Service Connectの設定
    サービス公開側
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 8

    View Slide

  9. ECS Service Connectの設定
    クライアント側
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 9

    View Slide

  10. ECS Service Connectの設定
    Cloud Mapの内容
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 10
    お散歩連れてって ..

    View Slide

  11. ECS Service Connectの設定
    サービス公開の確認
    クライアントからマイクロサービスに
    繋がった︕︕
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 11
    やったワン!
    じゃぁお散歩!

    View Slide

  12. ECS Service Connectの設定
    サービス公開できていない例
    クライアントはエラーを返却する
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 12
    よくあるエラー
    メッセージだワン

    View Slide

  13. ECS Service Connectの
    つまづきポイント
    クライアントのマイクロサービスをデプロイし
    ようとして壮⼤にハマりました ... 何故か起動
    に失敗する ...
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 13

    View Slide

  14. ECS Service Connectの
    つまづきポイント
    ドキュメントに書いてあった 👀
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 14
    >> 新しいネームスペースまたは空のネームスペースの
    最初のサービスがクライアントのみの場合、デプロイは
    完了しません。新しいネームスペースまたは空のネーム
    スペースの最初のサービスとして、クライアント・サー
    バ・サービスを作成する必要があります。

    View Slide

  15. ECS Service Connectの
    つまづきポイント
    ドキュメントを読むと新たな気付きが...🥹
    • 異なるVPC間でも相互に接続可能。ただし、
    VPCピアリングなどのVPC間の接続セット
    アップが必要(のようです)
    • Service Connect プロキシコンテナ⽤のCPU
    とメモリ確保をタスク定義で⾏う必要がある
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 15

    View Slide

  16. まとめ(所感)
    • ECS Service Connectを利⽤することで、
    ELB、Service Discovery、App Meshなど
    を利⽤することなくマイクロサービス間の接続
    が出来た︕
    • サービスを事前に公開しないとクライアント側
    が落ちるというつまづきポイントもあった。
    • 疑問点もある。可⽤性を⾼めるためのサーキッ
    トブレーカーの仕組みはどうやって⾏う︖ECS
    サービスの機能を使って実現︖︖🤔
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 16

    View Slide

  17. ご清聴ありがとうございました。
    2022/12/20 JAWS-UGコンテナ⽀部 #22 re:Cap 17

    View Slide