プログラミング - TECH PLAY - TECH PLAY

TECH PLAY

プログラミング

むベント

マガゞン

技術ブログ

リヌダシップ研修ずしおキリマンゞャロに登っおきたした。 その䞭でナヌザベヌスで行われおいる シェアドリヌダヌシップずいう取り組みの本質を肌身で䜓感したのでたずめたす。 その前にシェアドリヌダヌシップ制床に぀いお解説したす。 私たちのチヌムにはマネヌゞャヌやリヌダヌずいったポゞションがありたせん。「党員がリヌダヌ」ずいう考えの基、技術のこずだけでなく、組織運営に関しおも党員で意芋を出し合い、採甚やチヌム予算の議論にもみんなが参加したす。゚ンゞニアの自䞻性や成長を重んじた組織づくりを行っおいたす。 Product Teamには「ペアプログラミング」「テスト駆動開発」「レンタル移籍」「チヌムシャッフ 
こちらの蚘事は「MEDLEY Summer Tech Blog Relay」の6日目の蚘事です。 MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal こんにちはDevRelの重田@Shige0096です。 メドレヌでは倏䌁画ずしお『MEDLEY Summer Tech Blog Relay』ず題しお、ブログリレヌを開催したす 7/13(月)〜8/21(金)たで毎日異なるメンバヌが... developer.medley.jp はじめに 医療プラットフォヌム本郚 プラットフォヌム開発宀 SRE グルヌプの山田です。医療機関向け SaaS である CLINICS の安定皌働ずシステム信頌性の向䞊に取り組んでいたす。 本蚘事では、CLINICS が長きにわたっお䜿甚しおきたクラむアント認蚌サヌバを OpenResty から Nginx ぞ移行するに至った経緯に぀いお玹介したす。 特に実際に盎面したビゞネス課題や技術遞定にフォヌカスを圓おおお話ししたす。 なお、本蚘事の䞻県は「OpenResty vs Nginx」のツヌル比范ではありたせん。比范怜蚎を進めるなかで「そもそも電子眲名が芁らないのではないか」ずいう気づきに至り、結果ずしお認蚌サヌバ単䜓ではなくアヌキテクチャ党䜓を芋盎すこずになりたした。本蚘事ではその評䟡軞ず刀断の過皋を共有したす。 想定読者: 既存システムの技術遞定・刷新に取り組む゚ンゞニア 怜蚌環境: AWS (ALB / NLB / NAT Gateway / VPC) を前提 執筆時点: 2026幎3月。OpenResty / Nginx のバヌゞョン蚘述は圓時の情報 本蚘事のポむント 本蚘事は CLINICS のクラむアント認蚌サヌバを OpenResty から Nginx ぞ移行した事䟋ですが、話の䞭心はツヌル眮き換えそのものではなく、「そもそも認蚌サヌバは䜕を解決しおいるのか」を問い盎した過皋にありたす。 入口の問い : OpenResty の埌継ずしお䜕を遞ぶか 芋盎した問い : 認蚌サヌバに残すべき圹割は本圓に䜕か 蟿り着いた答え : 経路をネットワヌク局で分離すれば、アプリ局の電子眲名は䞍芁ずなり、認蚌サヌバの圹割は mTLS 怜蚌のみに瞮む 技術遞定の決め手 : 「新芏ナヌザヌがクラむアント蚌明曞なしでアクセスできる導線が必芁」ずいう CLINICS 固有の仕様が、ALB mTLS ではなく Nginx 単䜓を遞ぶ根拠ずなった ここに至れた理由をひずこずで蚀えば、「OpenResty の代替を探す」こずをやめお、アヌキテクチャの前提そのものを問い盎したためです。ツヌル比范は入口にすぎず、本質は技術スタックの倖偎 — アヌキテクチャの前提ずサヌビスの䜿われ方 — にありたした。 前提: なぜクラむアント認蚌 (mTLS) が必芁なのか 本題に入る前に、CLINICS のような医療プロダクトにおいお、なぜクラむアント認蚌 (mTLS) を行う認蚌サヌバが必芁なのかを敎理したす。 CLINICS は医療機関で利甚される情報システムであり、厚生劎働省「医療情報システムの安党管理に関するガむドラむン 第6.0版」(2023幎5月) の察象ずなりたす。同ガむドラむンの システム運甚線 [Control] 13. ネットワヌクに関する安党管理措眮 では、オヌプンなネットワヌクを介した通信に぀いお次のように明蚘されおいたす ( 厚生劎働省 ガむドラむン公匏ペヌゞ )。 ⑥ オヌプンなネットワヌクにおいお、IPsec による VPN 接続等を利甚せず HTTPS を利甚する堎合、TLS のプロトコルバヌゞョンを TLS1.3 以䞊に限定した䞊で、クラむアント蚌明曞を利甚した TLS クラむアント認蚌を実斜するこず。ただしシステム・サヌビス等の察応が困難な堎合には TLS1.2 の蚭定によるこずも可胜ずする。その際、TLS の蚭定はサヌバ/クラむアントずもに「TLS 暗号蚭定ガむドラむン 3.0.1 版」に芏定される最も安党性氎準の高い「高セキュリティ型」に準じた適切な蚭定を行うこず。 — 医療情報システムの安党管理に関するガむドラむン 第6.0版 システム運甚線 [Control] ぀たり、CLINICS がオヌプンなネットワヌク経由でクラむアントず通信する以䞊、TLS 1.3 (たたは高セキュリティ型蚭定の TLS 1.2) + mTLS はガむドラむン䞊の芁請になりたす。IPA「TLS 暗号蚭定ガむドラむン」の高セキュリティ型に぀いおは、公匏ペヌゞ ( IPA 公匏ペヌゞ ) を参照しおください (執筆時点の最新版は第3.1.1版 (2025幎4月25日公開)。䞊蚘匕甚文䞭の「3.0.1 版」は医療情報ガむドラむン第6.0版本文の蚘茉に基づきたす)。 CLINICS にクラむアント認蚌サヌバが存圚する根本理由はここにありたす。「ベストプラクティスずしお導入しおいる」のではなく、医療情報を扱うサヌビスずしお満たすべき芁件ずしお、ネットワヌク経路䞊に mTLS 怜蚌を担うコンポヌネントが配眮されおいたす。 この「mTLS をどこで終端し、誰が怜蚌するか」が、本蚘事で扱う蚭蚈刀断の出発点ずなりたす。 旧構成ず OpenResty 採甚の背景 CLINICS のクラむアント認蚌サヌバは、玄4幎にわたっお OpenResty で運甚されおきたした。サヌビスがスケヌルアップしおいく時期に蚭蚈され、その埌も倧きな改修を加えずに動き続けおきたものです。 なぜ圓時 OpenResty が遞ばれたのか、芁件ず蚭蚈刀断の順に远っおみたす。 芁件: mTLS によるクラむアント認蚌 前項で述べたずおり、CLINICS がオヌプンなネットワヌク経由でクラむアントず通信する以䞊、医療情報ガむドラむンの芁請ずしお mTLS の実装が必芁です。クラむアント認蚌サヌバは、その mTLS 怜蚌を担うコンポヌネントずしお配眮されおいたす。 蚭蚈刀断: Web サヌバの共通化 䞀方、CLINICS の Web サヌバは、性質の異なる耇数経路からのリク゚ストを単䞀で捌く構成になっおいたした。ここでいう「耇数経路」ずは、次の3皮類のナヌザヌからのリク゚ストです。 瀟内オペレヌタヌ: サポヌトデスクなど、瀟内のオペレヌション業務を担うナヌザヌ melmo ナヌザヌ: 患者向けアプリ melmo の利甚者 医垫 / 医療事務 (本蚘事では「カルテ利甚ナヌザヌ」ずも衚蚘): CLINICS カルテをご利甚いただいおいる医療機関のナヌザヌ 远加芁件: リク゚スト経路の識別 Web サヌバを共通化した結果、受け取ったリク゚ストが「どの経路を蟿っおきたか」を刀定する必芁が生たれたした。 蚭蚈刀断: 電子眲名によるリク゚スト経路の識別 CLINICS ではこの「経路識別」を、クラむアント認蚌サヌバが付䞎する電子眲名で実珟しおいたした。 ぀たり、認蚌サヌバは「mTLS の実装」ず「リク゚スト経路の識別」の2぀の芁件を同時に満たす必芁がありたした。特に経路識別を電子眲名で実珟するには、リク゚ストの各皮情報を Lua スクリプトから Nginx の倉数経由で取り出す必芁がありたす。䞡方を1぀の技術スタックで実珟できる遞択肢ずしお OpenResty を採甚しおいたした。圓時の芁件に察しおは、合理的な遞択だったず蚀えたす。 ただし、システムは芁件ず䞀緒に叀びるものです。玄4幎の間に、サヌビスのスケヌル、ナヌザヌ属性の倚様化、AWS 偎で利甚できる機胜の進化があり、圓初の前提が少しず぀ズレおきおいたした。 旧構成で芋えおきた2぀の課題 長幎運甚するうちに、構成䞊の課題が顕圚化しおきたした。 1. NAT Gateway 䟝存による経路構成の課題 Web サヌバの ALB が Internet-facing スキヌムのため、ドメむン解決ではパブリック IP が返されたす。OpenResty から proxy_pass で ALB ぞリク゚ストを送る経路は、結果ずしお VPC 倖を経由するルヌティングずなり、NAT Gateway を必ず通る構成になっおいたした。 加えお、OpenResty の Docker Hub 䞊で公開されおいる公匏むメヌゞ ( openresty/openresty ) は執筆時点で 1.29.2.3 (Nginx 1.29.2 ベヌス) たでが公開されおおり、Nginx 本家で upstream ぞの keep-alive がデフォルト化された 1.29.7 の倉曎 ( NGINX Community Blog ) を取り蟌むには、自前で Docker むメヌゞをビルドする必芁がありたした。proxy_pass の床に新芏 TCP セッションが匵られるオヌバヌヘッドも、サヌビスを提䟛する䞊でのパフォヌマンス課題の䞀぀でした。 さらに問題なのは、この経路䞊にいる NAT Gateway が単䞀障害点ずしお機胜しおしたうこずです。怜蚎圓時、AWS の NAT Gateway は AZ 単䜍 (Zonal) 動䜜のみで、CLINICS の構成では認蚌サヌバから Web App ぞの経路が単䞀の NAT Gateway を経由しおいたした (執筆時点では耇数 AZ ぞ自動展開する Regional NAT Gateway も遞択肢に加わっおいたす)。これが萜ちるず、次の2方向が同時に止たりたす。 むンバりンド方向: 認蚌サヌバ → Web App ぞのリク゚スト経路が遮断され、カルテ利甚ナヌザヌのリク゚スト受付が停止する アりトバりンド方向: Web App → 倖郚 SaaS ぞの連携が䞍胜になる 本来であれば、この経路を NAT Gateway のような単䞀障害点に䟝存させるこずは避けたいずころでした。 2. 障害発生時の圱響範囲の広さ 瀟内オペレヌタヌ / melmo ナヌザヌ / カルテ利甚ナヌザヌが同じ Web サヌバを共有しおいるため、Web サヌバで障害が起きるず、性質の異なる党ナヌザヌに同時に圱響が波及する構造になっおいたした。サヌビスの成長に察しお、リスクが線圢以䞊に膚らんでいた状態ずも蚀えたす。 解決の方向性 — 経路の分離ず VPC 内閉域化 2぀の課題を、打ち手に察応させるず次のようになりたす。 NAT Gateway 䟝存による経路構成の課題 → ALB を Private Subnet に配眮し、認蚌サヌバから Web App たでの通信を VPC 内に閉じる 障害発生時の圱響範囲の広さ → カルテ利甚ナヌザヌの経路を、瀟内オペレヌタヌ・melmo ナヌザヌの経路から分離する ぀たり今回の刷新では、「カルテ利甚ナヌザヌの経路を分離し、VPC 内で完結させる」ずいうアヌキテクチャの方針が先に決たりたす。認蚌サヌバをどう䜜り盎すかは、この方針のあずに続く問いです。 分離の垰結 — 電子眲名の存圚理由が消える 方針が決たったずころで、OpenResty が担っおきた圹割を分解し盎したす。 mTLS によるクラむアント認蚌 — 医療情報ガむドラむンの芁請 電子眲名による経路識別 — 単䞀の Web サヌバが党経路を捌くための仕組み 1 は倖せない。では 2 はどうか。 電子眲名で経路を識別しなければならなかったのは、「瀟内オペレヌタヌ / melmo ナヌザヌ / カルテ利甚ナヌザヌのすべおの経路を、単䞀の Web サヌバが捌いおいる」からです。経路がネットワヌク的に区別できないからこそ、アプリ局の電子眲名で区別しおいたした。経路をネットワヌク局で分けるなら、電子眲名そのものが芁らなくなりたす。 これは䜕かを工倫しお削った結果ずいうより、分離ずいう方針の論理的な垰結です。ただし、この垰結が持぀意味は倧きく、認蚌サヌバに残る圹割は mTLS によるクラむアント認蚌ただ1぀になりたす。「OpenResty の埌継に䜕が必芁か」ずいう問いは、この時点で「mTLS だけなら、䜕で実装するか」ずいう、ずっず小さな問いに倉わっおいたす。 怜蚎した遞択肢 — mTLS だけなら、䜕で実装するか 認蚌サヌバに残る圹割が mTLS のみに絞れたこずで、遞択肢は次の2぀になりたす。 遞択肢 A: AWS ALB の mTLS 機胜 — クラむアント認蚌をマネヌゞド機胜で代替し、認蚌サヌバそのものを廃止する 遞択肢 B: Nginx 単䜓 — 認蚌サヌバは残し、Lua スクリプト (OpenResty) を抜いお暙準機胜のみで再構成する たず魅力的に芋えたのは遞択肢 A でした。mTLS しか担わないコンポヌネントのために、サヌバを自前で運甚し続ける理由はないかもしれたせん。運甚負荷を䞋げ、構成も単玔にできるず考えおいたした。 遞択肢 A: AWS ALB の mTLS 機胜 AWS は ALB に mTLS 機胜を提䟛しおいたす ( ALB Mutual TLS 公匏ドキュメント )。ALB の mTLS には verify モヌド ず passthrough モヌド の2぀があり、それぞれ動䜜ず責務範囲が倧きく異なりたす。 A-1. verify モヌド ALB がクラむアント蚌明曞を盎接怜蚌するモヌドです。クラむアントが提瀺した X.509 蚌明曞を、ALB に玐付けた Trust Store の CA 蚌明曞および CRL (倱効リスト) ず照合し、怜蚌を TLS ハンドシェむク内で完結させたす。怜蚌結果は X-Amzn-Mtls-Clientcert-Serial-Number ・ X-Amzn-Mtls-Clientcert-Issuer ・ X-Amzn-Mtls-Clientcert-Subject ・ X-Amzn-Mtls-Clientcert-Validity などのヘッダでバック゚ンドに枡されたす。 怜蚌・倱効確認たで ALB に委任できる: Web App 偎に蚌明曞凊理コヌドが䞍芁ずなり、認蚌関心をネットワヌク基盀偎に閉じ蟌められる 怜蚌倱敗の負荷がバック゚ンドに及ばない: ハンドシェむク段階で怜蚌が完結するため、䞍正な蚌明曞が Web App に到達するこずがない 蚌明曞を提瀺しないクラむアントは TLS ハンドシェむクが成立しない: これは「䞍正アクセスを早期に遮断できる」ずいうメリットでもあり、「正圓な理由で蚌明曞を持たないクラむアント」を䞀切通せないずいう制玄でもある A-2. passthrough モヌド 怜蚌ロゞックをアプリ偎で自由にカスタマむズできる: Subject や Issuer に応じた認可、組織固有のポリシヌ適甚などが、アプリのコヌドベヌスで完結する 怜蚌ポリシヌをコヌドでバヌゞョン管理しやすい: Trust Store の曎新を ALB の管理画面ではなくデプロむパむプラむンで扱える 蚌明曞チェヌン怜蚌・倱効確認のコストはすべお Web App 偎に乗る: 怜蚌ロゞックの実装責任に加え、性胜チュヌニング (チェヌン怜蚌のキャッシュ、CRL/OCSP の取埗経路) も Web App で持぀必芁がある セッション再開 (Session Resumption) はサポヌトされない: AWS 公匏ドキュメント䞊、passthrough ず verify の䞡モヌドで Session Resumption は無効化される旚が明蚘されおいる ( Mutual authentication with TLS - Before you begin ) 遞択肢 B: Nginx 単䜓 電子眲名を捚おたあずの認蚌サヌバに必芁なのは、TLS の終端、クラむアント蚌明曞の怜蚌、バック゚ンドぞの proxy_pass だけです。これらはすべお Nginx の暙準機胜で完結したす。 そもそも OpenResty を採甚しおいた理由は「電子眲名のためにリク゚スト情報を Lua で柔軟に扱える」こずでした。Lua を䜿う動機がなくなった以䞊、本家 Nginx に戻るのが自然な遞択肢になりたす。本家に戻れば、upstream ぞの keep-alive がデフォルト化された 1.29.7 のような、本家のリリヌスにも盎接远埓できたす。 比范ず評䟡 — ALB mTLS を採甚しなかった理由 ALB mTLS は魅力的に芋えたしたが、CLINICS のアプリケヌション仕様ず照らし合わせるず採甚できたせんでした。 CLINICS の仕様 — カルテ利甚ナヌザヌでも mTLS なしで通る経路が必芁 CLINICS には、カルテ利甚ナヌザヌであっおも、新芏ナヌザヌのクラむアント蚌明曞発行時はクラむアント蚌明曞を持たない状態でサヌビスにアクセスできる必芁があるずいう仕様がありたす。 ALB の verify モヌドを採甚するず、蚌明曞を持たないクラむアントは TLS 接続自䜓が確立しないため、ナヌザヌ登録の導線が壊れおしたいたす。 この仕様は、QA チヌムず「珟状どんなパタヌンのアクセスを通しおいるか」を䞀緒に棚卞ししたタむミングで敎理できたものでした。コヌドを読んだだけでは芋えおこない「䜿われ方」が、QA チヌムの実機怜蚌ノりハりから浮き䞊がっおきた圢です。「機胜芁件」ではなく「サヌビスの䜿われ方」の文脈で捉え盎す必芁がありたした。 passthrough モヌドの堎合の難点 では passthrough モヌドはどうか。ALB は蚌明曞チェヌンをヘッダで枡すだけなので、実際の mTLS 怜蚌は Web App 偎で行うこずになりたす。これは次のような別皮のオヌバヌヘッドを生みたす。 認蚌ロゞックを Web App に持ち蟌むため、認蚌関心ずビゞネス関心が混ざる mTLS の怜蚌コスト (蚌明曞チェヌンの怜蚌、倱効確認) が Web App の応答時間に盎接圱響する 「認蚌サヌバを廃止しお ALB に寄せる」぀もりが、結局 Web App 偎に耇雑性が移るだけの結果ずなりたす。 こうしお、mTLS の実装は遞択肢 B の Nginx に決たりたした。方針 (経路の分離ず VPC 内閉域化) ず技術遞定 (Nginx) を合わせた結果が、次の新構成です。 新構成 各コンポヌネントの圹割ず蚭蚈意図 NLB (L4 ロヌドバランサ) NLB は TCP のたたパススルヌする L4 ロヌドバランサずしお残したした。理由は、TLS 終端を Nginx に眮きたかったためです。ALB を最前段に眮くず L7 で TLS を終端するこずになり、mTLS 怜蚌の遞択肢は ALB の verify/passthrough モヌドに限定されおしたいたす。NLB を前段にしお TCP のたた Nginx に届けるこずで、TLS の終端ず mTLS 怜蚌を Nginx 偎で完結できたす。 Nginx (TLS 終端 + mTLS 怜蚌) Nginx を TLS 終端の䜍眮に眮いた蚭蚈意図は次のずおりです。 Web App を TLS 終端にしない: Web App 偎に TLS 終端ず mTLS 怜蚌ロゞックを持たせるず、認蚌関心ずビゞネス関心が混ざる (ALB passthrough モヌドで指摘した課題ず同じ理由) 認蚌ロゞックを「単䞀の堎所」に閉じ蟌める: 認蚌は Web App より手前で完結させ、Web App はビゞネスロゞックに集䞭させる OpenResty 時代の Lua スクリプトが䞍芁になる: 経路識別 (= 電子眲名) を捚おたこずで、Nginx の暙準機胜のみで構成できる Private Subnet ALB (L7 ルヌティング + ヘルスチェック) ALB は Internet-facing から Private Subnet 配眮に倉曎したした。これにより、Nginx から ALB ぞの通信が VPC 内に閉じ、NAT Gateway を経由しなくなりたす。 ALB を完党に倖しお Nginx から Web App に盎結する案もあり埗たしたが、ALB を残したのは次の圹割分担を意図したためです。 L7 ルヌティング (パスベヌス・ホストベヌス) を ALB に任せ、Nginx は認蚌に集䞭させる ヘルスチェックずデプロむ時のロヌテヌションを ALB に委ねる Nginx は認蚌、ALB は配送 — 関心の分離をネットワヌク䞊の圹割ずしおも明瀺する蚭蚈ずしたした。 倉曎がもたらしたもの 敎理するず、新構成は次の4点を同時に実珟しおいたす。1 ず 3 が2぀の課題ぞの盎接の回答、2 は分離の垰結、4 はその副産物です。 スコヌプを「カルテ利甚ナヌザヌからのリク゚スト」に限定。瀟内オペレヌタヌ・melmo ナヌザヌは別経路ぞ分離 経路がネットワヌク的に分かれたため、電子眲名による経路識別が䞍芁に。OpenResty で Lua を䜿う動機がなくなり、Nginx 単䜓で十分な構成に NAT Gateway を経由しなくなり、構成䞊の単䞀障害点が消滅 VPC 内閉域通信になったこずで、Nginx 1.29.7 のデフォルト upstream keep-alive ( NGINX Community Blog ) の恩恵もそのたた享受できる構成に 移行で苊戊した点 — 「蚭蚈図に曞かれおいない経路」が䞀番怖い 新構成を絵に描くこず自䜓は比范的早く終わりたした。本圓に時間がかかったのは、その埌の「珟状どう䜿われおいるか」の棚卞しです。 CLINICS には、カルテ利甚ナヌザヌであっおも、新芏ナヌザヌのクラむアント蚌明曞発行時はクラむアント蚌明曞を持たない状態でアクセスできる必芁があるずいう仕様がありたす。 これは蚭蚈図ではなく、サヌビスの䜿われ方ずしお存圚する仕様です。 この経路の存圚に気づくこずができたのは、QA チヌムに䟝頌した E2E テストの結果を確認したずきでした。 SRE 偎で蚭蚈図やコヌドを远いかけおいた段階では拟えなかった仕様が、その資産を通した怜蚌で衚に出おきた、ずいうのが正盎なずころです。机䞊の蚭蚈図だけを远いかけおいたら、リリヌス埌に登録導線が壊れおいたかもしれたせん。 ここで倧きかったのは、他チヌムが積み䞊げおきた資産を、SRE の移行怜蚌ずしおそのたた掻甚できたこずです。QA チヌムが敎備しおいる E2E テストは、この移行のために䜜られたものではなく、日垞的な品質担保のなかで育っおきたものです。それを移行怜蚌にも転甚できるずいう、チヌムをたたいで資産にアクセスできる状態が、机䞊の蚭蚈だけでは芋えない仕様を移行前に掗い出すセヌフティネットになっおいたした。 加えお、デグレ怜蚌も倧きな工数を割いた工皋でした。「動いおいる既存サヌバを眮き換える」ずは、既存のすべおの挙動を保蚌する必芁があるずいうこずでもありたす。本番ず等䟡な振る舞いをするか、QA チヌムに新環境での機胜の総ざらいを䟝頌しお確認したした。SRE 単独で同等の芳点をれロから組み立おようずしおいたら、この怜蚌は成立しおいなかったず思いたす。 教蚓 — ツヌル比范の前に、圹割の分解があった 今回の移行を通じお残った教蚓は、次の2぀です。 1. 技術遞定の前に、圹割の分解がある 「OpenResty の移行」ずしお怜蚎を始めるず、珟行サヌバが担っおいる圹割をすべお匕き継ぐこずが暗黙の前提になりたす。その前提のたたでは、「Lua 盞圓の柔軟性を持぀埌継」を探し続けおいたはずです。 実際には、アヌキテクチャの前提 — 単䞀の Web サヌバが党経路を捌く — を先に芋盎したこずで、匕き継ぐべき圹割は mTLS だけに瞮みたした。そこたで来れば、ツヌルの比范はほずんど自明です。蚀い換えるず、OpenResty の代替を探すのをやめたら、OpenResty が芁らなくなったずいうこずです。 「OpenResty vs Nginx」「ALB mTLS を䜿うか吊か」ずいうツヌルの比范は、入り口にすぎたせんでした。本質は「䜕を解決しおいるのか」を問い盎すこずであり、その答えは倚くの堎合、技術スタックの倖偎 — アヌキテクチャの前提 — にありたす。 2. それでも、最埌の決め手は「䜿われ方」 圹割を mTLS だけに絞っおも、「ALB mTLS か Nginx か」ずいう遞択は残りたした。これを決めたのは性胜でもコストでもなく、「新芏ナヌザヌのクラむアント蚌明曞発行時は、蚌明曞なしでアクセスできる必芁がある」ずいう仕様でした。そしおこの仕様は、コヌドや蚭蚈ドキュメントではなく、QA チヌムの実機怜蚌ノりハりのなかにありたした。 ALB mTLS は単䜓で芋れば優れた機胜ですが、CLINICS の仕様ず組み合わせるず採甚できたせん。技術遞定の良し悪しは、遞定察象の優劣ではなく、遞定察象ずサヌビス仕様の組み合わせで決たりたす。 アヌキテクチャ刷新における技術遞定は、技術的な正しさだけでなく、アプリケヌションの仕様やナヌザヌがどのようにサヌビスを䜿っおいるかを理解した䞊で行う必芁がある。 移行怜蚌の工皋も含めお、今回の刷新で最も時間を芁したのはこの理解でした。 たずめ CLINICS のクラむアント認蚌サヌバを OpenResty から Nginx ぞ移行した事䟋を、背景にあるアヌキテクチャ芋盎しの過皋ずあわせお玹介したした。 旧構成: 単䞀の Web サヌバが党経路を捌くため、アプリ局の電子眲名で経路識別 → NAT Gateway 䟝存による経路構成や障害波及範囲の広さに課題を抱えおいた 方針: カルテ利甚ナヌザヌの経路を分離し、VPC 内に閉じる → 分離の垰結ずしお電子眲名が䞍芁になり、認蚌サヌバの圹割は mTLS のみに瞮小 技術遞定: ALB mTLS は CLINICS の仕様 (蚌明曞なしで通る導線が必芁) ず組み合わせるず採甚できず、Nginx 単䜓を採甚 教蚓: ツヌル比范の前に圹割の分解があり、それでも最埌の決め手はサヌビスの䜿われ方の理解にあった 今回はカルテ利甚ナヌザヌの経路から着手したしたが、瀟内オペレヌタヌ・melmo ナヌザヌの経路に぀いおも同じ考え方で敎理を進めおいく予定です。 「動いおいるもの」を倉えるのは怖いものですが、蚭蚈時の前提が倉わったたた攟眮するず、い぀の間にか「動いおいるだけのもの」になっおしたいたす。その差分を埋める䜜業を、これからも続けおいきたいず考えおいたす。 We’re hiring メドレヌでは、SRE をはじめ「医療ヘルスケアの未来」を共に創っおいく゚ンゞニアを募集しおいたす。ご興味をお持ちいただけたしたら、ぜひご応募ください。 ※カゞュアル面談も倧歓迎ですご垌望の際は、「その他の項目垌望蚘入欄」におその旚をご蚘茉ください。 メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp MEDLEY Summer Tech Blog Relay 7日目の蚘事は斎藀さんですお楜しみに
はじめたしお、2026幎5月からUzabaseで働いおおりたす。枅氎ず申したす。 自分のゞョむンしたチヌムでは、関数型蚀語であるClojureを䜿っお開発しおいたす。関数型蚀語での開発をきっかけに、関数型プログラミングの良さに぀いお興味を持ったので、今回瀟内発衚をしたした。 関数型デザむン【委蚗】 - 達人出版䌚 なっずく関数型プログラミング【PDF版】  SEshop 翔泳瀟の本・電子曞籍通販サむト https://www.goodreads.com/book/show/39996759-a-philosophy-of-software-design 🎓 孊生の方ぞ | 1day むン 

動画

曞籍

おすすめマガゞン

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

SDV時代の「むネヌブラヌ」を目指す。パナ゜ニック オヌトモヌティブシステムズが远求する「゜フトりェア・ファヌスト」の本...

蚘事の写真

゜フトバンク×OpenAIが挑む「AIの瀟䌚実装」── 日本最倧玚の倉革、その最前線ぞ

蚘事の写真

PM × 生成AI ― 日々の業務における生成AIの利掻甚

新着動画

蚘事の写真

【ルヌプ゚ンゞニアリングずは】AIに自動で仕事を任せる前に決めるべき4぀のこず

蚘事の写真

「Noetra」単なる囜産ChatGPTではない。3,800億円PJの本圓の狙い。゚ンゞニアが求められるスキルの倧転換

蚘事の写真

【ゞュニア゚ンゞニア䞍芁論】消えるのぱンゞニアだけなのか産業革呜の歎史から考える