【感想】JAWS-UG コンテナ支部 #13 の参加レポート

f:id:Ushinji:20181222170931p:plain

(参照: https://jawsug-container.connpass.com/event/109162/)

はじめに

JAWS-UG コンテナ支部 #13 に参加しました。 自分はコンテナ運用の経験があり、主にECSを使っているので色々勉強になるかと思い、今回参加しました。

全体を通して Kubernatesがテーマの発表が多かった印象 です。ただ、自分はKubernatesを使ったことがないので理解が追いつきませんでした(汗) なので、今回の話を聞いて、一番勉強になった AWS Cloud Map について主に書きたいと思います。

目次

AWS Cloud Map

概要

AWS Cloud Mapの概要はクラスメソッドさんの記事が詳しく書かれています。

詳説「AWS Cloud Map」 #reinvent | DevelopersIO

ポイントは、上の記事に書かれている

一言でいうと「クラウドリソースに任意の名前をつけて、簡単かつ迅速にみつけるための仕組み」です。

部分かなと感じます。

AWSサービスが多様化(Lambda, SQS, DynamoDBなど)に伴い、複数のサービスを組み合わせて1つのサービスを作るケースが増えてきました。 その中で、これらの AWSサービス間連携を簡単に行う ために生まれたのが「AWS Cloud Map」です。

必要になるケース

AWS Cloud Map」が必要になるケースを、以下に例を挙げて説明されていました。

例えば、あるサービスが別のサービスにリクエスト処理をする場合に、IPアドレスの指定が必要です。その場合、環境変数で指定するのが一般的かと思います。

ただこのような静的な設定方法では、IPアドレスが動的に変化する環境では、IP不一致が生じてしまいます。その場合の解決策は、DNSを使った名前解決 があるので、それほど問題はありません。

では一方で、SQSやLamdbaといった IPアドレスがないAWSサービスを使う場合 は、どうすれば良いでしょうか?? 例えばSQSキューは、以下のようなURLを指定して使います。

https://ap-northeast-1.queue.amazonaws.com/123456789/HogeQueueName

このとき、キューを作り変えてURLが変わった場合にどうやって変更を反映するでしょうか?

  • 「サービスを止める?その場合は関係者との交渉の必要が。。。」
  • 「では、Lambdaを挟んで名前解決する?」

などなど辛い部分が出てきます。

こういったAWSサービスの静的な設定を、動的に管理するためのサービスが AWS Cloud Map です。

特徴

AWS Cloud Map」では、以下の3つのリソースを設定し、各AWSサービスの名前解決を管理するそうです。

  1. 名前空間
  2. サービス
  3. サービスインスタンス

また、解決できる名前空間を、IAMで管理できる ので、セキュアな点も特徴です。

他にも、ECSとも統合した点も特徴として挙げられます。

感想

AWSサービスでは、ECSやSQSを組み合わせてサービスを作った経験があるのですが、今回の話を聞いて AWSサービスの連携の辛みを知ることができたのが発見 でした(笑)

発表スライド一覧

自分が見つけた発表のスライドです。

AWS サービスアップデート / @toricls

  • Re:Iventで発表されたコンテナ関連サービスをすごく分かりやすく説明した発表でした!
    • AWS Cloud MapやApp Meshなどなど

今日から始める人のための Kubernetes on AWS ベストプラクティス 2018版 / @mumoshu

  • 今日からk8n始める人に必要な情報のまとめという内容
  • これ読めば始められるんじゃないか?と感じました

Firecracker とは何か/what is Firecracker / @pottava ‏

  • Firecrackerについての内容
    • あんまりよく分かっていないので、改めて発表スライド読んでみます(汗)

Envoyを分かりやすく例えつつApp Meshの話をします / @_mpon

  • EnvoyをNginxと比較して分かりやすく説明した発表
    • 初めてEnvoyについて知りましたが、雰囲気を理解できた気がします

EKSのいーかんじなサービス公開方法 / @sugimount

  • タイトルの通り、EKSをいい感じにサービス公開するための手順を説明した内容。
  • EKSを利用するケースがあったら、参考にしたい!

GameDay @ re:Invent のこと / @chie8842

  • Re:IventでISUCONのようなサービスチューニングバトルを行うイベントに参加し、英語がうまく喋れない中で初めましての外国人と協力して、見事優勝した話。すごい!

Virtual Kubelet + Fargate + EKSでノードレス Kubernetes を夢見た話 / @bbrfkr

  • Kubeletの発表です。Kubeletは初見ワードでしたが、もし使う機会があれば参考にしたい発表でした。

感想

感想としては、AWS Cloud Map は今の自分でも理解でき、すごく勉強になりました。他にもマイクロサービスの課題を解決するサービスである 「 AWS App Mesh 」、および関連技術の ServiceMesh など、初耳な情報を知れた点も参加して良かったと思うイベントでした。

また、全体を通して、 なぜそのサービスが必要になるのかを知ることは大事 だなと感じました。サービスが生まれるに至った理由を知れば、次に自分が使う時の大きな指標になると思うからですね。