エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

AWS Firewall Manager を導入してみた話

この記事はエムスリーSREがお届けするブログリレーの18日目です。

こんにちは、エムスリーエンジニアリンググループの高澤です。 Unit4(医療系ポータルサイトm3.comの開発・運営が担当のチーム)でチームSREを担当しています。 こちらのサイトのセキュリティ施策の一環として、Firewall Managerを導入してみたので、その話を紹介したいと思います。

チームSRE/コアSREについては、リレー初日の記事をご覧ください。 www.m3tech.blog

  • AWS Firewall Manager とは
  • 導入からWeb ACLの作成まで
    • 1. IP Setsの作成
    • 2. Rule Groupsの作成
    • 3. Security Policy の作成
  • 導入後: ログの改善
  • まとめ
  • We are Hiring!
続きを読む

こんばんは、X-Forwarded-For警察です

エムスリーエンジニアリンググループ製薬企業向けプラットフォームチームの三浦 (@yuba)です。普段はサービス開発やバッチ処理開発をメインにやっておりますが、チームSREに参加してからはこれに加えて担当サービスのインフラ管理、そしてクラウド移行に携わっています。

今回はそのクラウド移行の話そのものではないのですが、それと必ず絡んでくるインフラ設定に関してです。

続きを読む

パイプラインツールgokartのキャッシュ競合を解消した話

はじめに

 エムスリーエンジニアリンググループ AIチームの池嶋です。はじめてのテックブログ投稿です。

 AIチームでは機械学習プロジェクトのデータパイプライン構築にgokartというツールを使用しています。今回はこのgokartで発生していたキャッシュ競合を解消した話について紹介します。

gokart

gokartとは

 gokartというのはAIチームが中心に開発しているデータパイプライン構築のためのツールで、Spotify社の開発するパイプラインツールluigiのwrapperです。S3やGCSといったクラウドストレージとのデータ入出力をサポートしたり、中間ファイルをキャッシュとして保存することで実験を再現をしやすくしたりします。当ブログでは過去にも機械学習プロジェクト向けPipelineライブラリgokartを用いた開発と運用 - エムスリーテックブログ などで紹介されています。

 Github上でOSSとして公開されており、AIチームのメンバーを中心に開発が進められています。

github.com

gokartのパイプライン構成

f:id:mski_iksm:20210108225003p:plain
gokartのパイプライン構成例

続きを読む

コアSREチームからサービスチーム側に落下傘してみてた話

皆さんこんにちは、エンジニアリンググループの高橋(@tshohe1)です。
この記事はエムスリーSREがお届けするブログリレーの15日目です。

他の記事でも何度か説明されていますが、エムスリーでは2019年頃からチーム横断的なシステムを管理する「コアSRE」とは別に、サービスチーム内にて各サービスのインフラを重点的に見る「チームSRE」というポジションを新たに設けています(チームSRE化の流れの詳細については下記ブログリレー最初の記事*1を御覧ください)。

私は入社時点ではコアSRE(当時はまだインフラチーム*2)として働いていましたが、2019年頃からサービスチーム側SREと兼務したりコアSREに戻ったりまたチーム側SREに移動したりとふらふらしている謎の存在になっていました。
現時点ではコア/チーム側両方に所属していた者はいないはずなので、本記事ではコアSRE側の視点/チームSRE側の視点でどのような差があったのか、これまでの経験から得たものを簡単にまとめてみたいと思います。

f:id:tshohe:20210201130411p:plain
本文とあまり関係はないですが"木星の衛星エウロパの海に生息するといわれる魚のような生物"の画像です(余談ですがチームSRE推進は最初SREサテライト計画と言われていました)

続きを読む

担当マイクロサービスのSLI/SLOを見直そうと思ったんだ

エムスリーエンジニアリンググループの関根(@sekikatsu36)です。 この記事はエムスリーSREがお届けするブログリレーの14日目です。

今回、私のチームが担当しているサービスのSLI/SLOを見直すこととなり、あらためて「マイクロサービスのSLI/SLOとは」を自分なりに考える機会ができたため、その話を紹介したいと思います。 まだ実行中で結論は出ておらず、内部でも議論の余地があるものですが、何かご参考になる点があれば幸いです。

続きを読む

AWS上の旧インフラをVPC移行した話

こんにちは、エンジニアリンググループ AI・機械学習チームの安田です。最近rustでTCP/IPスタックを作って遊んでます。

この記事はエムスリーSREがお届けするブログリレーの13日目です。

今回は先日実施した、AWS上でVPCの異なる環境へインフラ移行をした話をします。

その中で、

  • ほとんど同じ名前のリソースの移行
  • MLのモデル等大きなデータを移行
  • AWSアカウントの違うシステムでの短い停止時間でのシステム移行

の点に注力したのでご紹介します。

押さえるべきポイント

本記事でお伝えしたい、移行時に引っ掛かりそうなポイントです。

  • ほとんどのリソースはAWSアカウントユニークだが、S3はAWS全体でユニーク
  • NSレコードのTTLは長い
  • Route53のALBのAレコードは、サジェストされない値を直接書き込める
  • ACMはRoute53での証明書発行時、CNAMEレコードを参照するがAレコードは不要
  • 押さえるべきポイント
  • 背景
  • 実施概要
    • 現状説明
    • 今回の変更
  • 移行のポイント1: ほとんど同じ名前のリソースの移行
  • 移行のポイント2: MLのモデル等大きなデータを移行
    • S3のMLモデル移行
    • RDSのデータ移行
  • 移行のポイント3: AWSアカウントの違うシステムでの短い停止時間でのシステム移行
    • AWSアカウント間でRoute53を移行しないといけない
    • ALB・ACMがRoute53と依存関係にある
  • まとめ
  • We are hiring!
続きを読む

データベース移行でやらかした話

はじめに

こんにちは。エムスリー エンジニアリンググループの高島(id:rst76)です。

この記事はエムスリー SRE がお届けするブログリレーの 12 日目です。 ブログリレーに何を書こうかと悩んでいたのですが、つい先日、データベースを移行する際に障害を起こしてしまったので、その話をしたいと思います。 人の失敗談は面白い学ぶところが多いので…

続きを読む