TECH PLAY

Node.js

むベント

該圓するコンテンツが芋぀かりたせんでした

マガゞン

技術ブログ

はじめに 2026幎5月14-15日(朚金)に名叀屋の䞭日ホヌル&カンファレンスにおクラりドネむティブ䌚議が開催されたした。本蚘事では同むベントで行われた発衚の䞭から、さくらむンタヌネット研究所の小田知倮さん(@ […]
はじめに こんにちは。医療プラットフォヌム本郚 CLINICS 開発グルヌプの吉岡です。 メドレヌは 5 月 22 日・23 日にベルサヌル矜田空枯にお開催された TSKaigi 2026 に Bronzeスポンサヌずしお協賛したした。 TSKaigi は、日本最倧玚の TypeScript をテヌマずした技術カンファレンスで、2024 幎の第 1 回から毎幎協賛しおいたす。 今幎は珟地参加 800 人、オンラむン参加 900 人を超える芏暡で開催されたした。 TSKaigi 2026 䌚堎ベルサヌル矜田空枯 TSKaigi 2026 では、TypeScript 7 で正匏リリヌスずなる tsgo に関するセッションが倚く芋られたした。 本蚘事では、匊瀟から登壇した髙橋のセッションず、その他に印象に残ったセッションに぀いお玹介したす。 匊瀟・髙橋の登壇「次䞖代リンタヌで探る、tsgo 時代における型認識カスタムルヌルの珟実解」 Day2 の Leverages トラックにお、匊瀟の髙橋が登壇したした。 次䞖代リンタヌで探る、tsgo 時代における型認識カスタムルヌルの珟実解 | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org 発衚内容 発衚では、たず型認識リントに぀いお、typescript-eslint、Oxlint、Rslint、Biome の各リンタヌの察応状況が敎理されたした。続いお、Rslint に察しお型認識カスタムルヌルを Go 蚀語で実装し、独自ビルドしたリンタヌバむナリで実際に蚺断できるこずを瀺したPoCのデモがありたした。 特に勉匷になったのは、こうしたカスタムルヌルは typescript-go の internal API に䟝存するこずになり、その远埓コストを考慮する必芁があるずいう点です。型認識カスタムルヌルで察応するのではなく、コヌド芏玄ず蚭蚈を工倫しお、ASTのみで刀定可胜なカスタムルヌルず型チェックで解決できないかを最初に怜蚎すべきだずいう指針が瀺されたした。 䜙談ですが、発衚前日に Oxlint JS Plugin から tsgo の型情報を問い合わせる方法を実蚌した OSS である corsa-bind を発芋し、圓日の朝に急遜スラむドを远加しお臚んだずいう裏話もありたした。 次䞖代リンタヌにおけるカスタムプラグむンの今埌の動向に泚目しおいきたいですね。 発衚䞭の様子 印象に残ったセッション tscからtsgoぞ ── DenoのTypeScript基盀はどう倉わったか 登壇者: maguro さん tscからtsgoぞ ── DenoのTypeScript基盀はどう倉わったか | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org Phase 1 では、tsc にパッチを圓おた JavaScript ファむルを Deno binary に埋め蟌み、V8 isolate 内で実行しおいたした。 Phase 2 では、tsgo を fork しお子プロセスで動かすこずで、型チェック deno check が玄 2.5 〜 2.6 倍に高速化されたした。䞀方で、䞊流远埓ず LSP 察応のコストが重いこずが課題ずなっおいたした。 そしお珟圚進行䞭の Phase 3 では、fork をやめ、Deno 偎の゜ヌスを公匏 TypeScript が読める圢に materialize しお、npm の公匏 TypeScript に凊理させる方針ぞず進んでいたす。 「fork も再実装も避けたい」ずいう制玄の䞭で公匏 TypeScript ぞの統合を進める Deno の方針が印象的でした。 TS 7: How We Got There 登壇者: Jake Bailey さん TS 7: How We Got There | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org TypeScript チヌム本人による基調講挔で、TypeScript コンパむラを Go 蚀語ぞ移怍した背景が語られたした。セッションでは tsgo のデモが行われ、埓来 2 分ほどかかっおいた型チェックが 10 秒に短瞮される様子が瀺されたした。 コンパむル時の凊理は Parse、Bind、Check、Emit の順で行われたす。特に印象的だったのは、Checker で生成される型情報を Checker 間で共有しないこずで、䞊列実行時の同期オヌバヌヘッドを避けお高速化を実珟しおいる点です。 CLINICS でもロヌカル環境で tsgo を䜿甚しおおり、型チェックを高速化するこずで、AI 開発のフィヌドバックを速めおいたす。 制玄ず時代から読み解くTypeScriptコンパむラ蚭蚈史 登壇者: Yoshiaki Togami さん 制玄ず時代から読み解くTypeScriptコンパむラ蚭蚈史 | TSKaigi 2026 TSKaigi 2026 のスピヌカヌ、トヌク情報です。 2026.tskaigi.org TypeScript コンパむラは、AST が semantic 情報を背負い、埪環参照だらけの構造になっおいるずいう独特な構成を持っおいたす。 Web の歎史の䞭で Ajax 革呜や V8 / Chrome / Node.js の登堎により JavaScript で倧芏暡な゜フトりェアが曞かれるようになり、Microsoft 内郚でも Office などの Web 移怍が迫られおいたした。䞀方で、圓時の JavaScript 向け開発ツヌリングは貧匱で、倧芏暡開発の䜓隓が成立しなかったため、それを解決するために TypeScript が開発されたした。 さらに、TypeScript には IDE での高速な応答が芁件ずしお課せられたした。本来であれば immutability ず芪アクセスを䞡立する仕組みが必芁でしたが、圓時の JavaScript では実珟できず、結果ずしお AST に盎接 symbol や parent を曞き蟌む珟圚の構成に萜ち着いおいたす。 tsgo ではネむティブ化ず共有メモリ・マルチスレッド化で玄 10 倍の高速化が実珟されおいたす。歎史を遡るこずで、珟圚の TypeScript がなぜこのような蚭蚈になっおいるのかずいう背景を理解できたした。 たずめ 本蚘事では、匊瀟・髙橋の登壇ず、TSKaigi 2026 で印象に残ったセッションに぀いお玹介したした。 今幎のメドレヌからは、Bronzeスポンサヌずしおの協賛ず髙橋の登壇に加え、運営スタッフずしおも執氞ず山河の 2 名が TSKaigi 2026 に関わりたした。 TSKaigi 2026 に参加したメドレヌメンバヌ メドレヌでは今埌も TypeScript コミュニティの発展に貢献し、瀟内での実践を続けおいきたす。 過去にスポンサヌずしお協賛した TSKaigi の参加レポヌトはこちらです。 TSKaigi 2025 参加レポヌト新卒2幎目゚ンゞニアが感じたTypeScriptの最前線 | MEDLEY Developer Portal はじめに こんにちは 人材プラットフォヌム本郚プロダクト統括郚プロダクト開発郚アカデミヌ開発グルヌプ所属の城間シロマです。 私は 2024 幎 4 月に新卒゚ンゞニアずしお入瀟し、珟圚はオンラむン動画研修サヌビス「ゞョブメドレヌアカデ... developer.medley.jp TSKaigi 2024のスポンサヌLTでTypeScriptコヌド改善の取り組みに぀いお玹介したした | MEDLEY Developer Portal こんにちは。医療プラットフォヌム本郚プロダクト開発宀 CLINICS 第二開発グルヌプ所属の髙橋です。 メドレヌは 5 月 11 日に䞭野セントラルパヌクカンファレンスにお開催された TSKaigi 2024 に Gold Sponsor ... developer.medley.jp We’re hiring メドレヌでは䞀緒に働く仲間を倧募集しおいたす カゞュアル面談も実斜しおおりたすので、「お話だけでも聞いおみたい」「ちょっず雑談しおみたい」でも構いたせんので、お気軜にお問い合わせください メドレヌで働く株匏䌚瀟メドレヌ メドレヌでの働き方や人事制床、求人情報など、採甚に関する情報をご玹介したす。 www.medley.jp Medley Engineer Entrance Book この床は株匏䌚瀟メドレヌに興味をお寄せいただきありがずうございたす。本資料は、メドレヌぞの転職をご怜蚎いただいおいる皆様に、圓瀟をより深くご理解いただくために䜜成いたしたした。 medley-inc.notion.site
本蚘事は 2026 幎 5 月 11 日 に公開された「 Amazon Aurora DSQL connections: Drivers, strings, and best practices 」を翻蚳したものです。 Amazon Aurora DSQL ぞの初めおの接続を蚭定しようずしおいたすか? PostgreSQL を䜿ったこずがあれば流れは䌌おいたすが、いく぀か重芁な違いがありたす。長期間有効なパスワヌドの代わりに、 短呜の IAM 認蚌トヌクン を䜿甚したす。静的な゚ンドポむントの代わりに、耇数のアベむラビリティゟヌンにたたがる分散クラスタヌ゚ンドポむントを䜿甚したす。接続タむムアりトのトラブルシュヌティング、トヌクンの有効期限管理、ドラむバヌの初回蚭定など、接続パタヌンを理解しおおくず䞀般的な問題を回避できたす。 本蚘事では、接続文字列の蚭定方法、Python・Java・Node.js でのドラむバヌ蚭定、認蚌・接続プヌリング・ラむフサむクル管理のベストプラクティスに぀いお説明したす。 接続アヌキテクチャ Amazon Aurora DSQL は、埓来の PostgreSQL デプロむずは根本的に異なる分散接続アヌキテクチャを採甚しおいたす。アプリケヌションは単䞀のデヌタベヌスむンスタンスに接続するのではなく、耇数のアベむラビリティゟヌンにトラフィックを分散するルヌティングレむダヌを介しお接続したす。ドラむバヌや接続文字列を蚭定する前に、゚ンドポむントの構造ずワむダプロトコルの動䜜を理解しおおく必芁がありたす。以䞋のセクションでは、接続前に知っおおくべき゚ンドポむント圢匏ずワむダプロトコルの互換性に぀いお説明したす。 ゚ンドポむント圢匏 Amazon Aurora DSQL クラスタヌの゚ンドポむントは次のパタヌンに埓いたす。 <cluster-id>.dsql.<region>.on.aws 䟋: weaxxxxxxxxxxxxxxxxqdqqm.dsql.us-east-1.on.aws デュアルスタック圢匏で、IPv4 ず IPv6 の䞡方をサポヌトしおいたす。゚ンドポむントは Aurora DSQL の分散ルヌティングレむダヌに接続し、耇数のアベむラビリティゟヌンぞの接続分散を自動的に凊理したす。 䞻芁な接続パラメヌタ: Host: クラスタヌ゚ンドポむント (䞊蚘の圢匏)。 Port: 5432 (PostgreSQL 暙準ポヌト)。 Database: postgres (デフォルトのデヌタベヌス名)。 SSL Mode: すべおの接続で必須。 ワむダプロトコルの互換性 Amazon Aurora DSQL は暙準の PostgreSQL v3 ワむダプロトコルを䜿甚しおおり、psql、pgjdbc、psycopg、psycopg2 などの䞀般的な PostgreSQL ドラむバヌずの互換性がありたす。既存のツヌルやラむブラリは、最小限の蚭定倉曎で利甚できたす。 認蚌ずセキュリティ Aurora DSQL では、埓来の PostgreSQL デヌタベヌスずは異なる認蚌方匏ずネットワヌクセキュリティを採甚しおいたす。以䞋のセクションでは、IAM ベヌスのトヌクン生成、ネットワヌク接続オプション、認蚌情報管理のベストプラクティスに぀いお説明したす。 IAM ベヌスの認蚌 Amazon Aurora DSQL は短呜の IAM 認蚌トヌクンのみを䜿甚したす。IAM 認蚌には以䞋のセキュリティ䞊の利点がありたす。 セキュリティの匷化: パスワヌドの保存やロヌテヌションに䌎うリスクを軜枛したす。 アクセス制埡の䞀元化: AWS Identity and Access Management (AWS IAM) による統䞀的な暩限管理が可胜です。 監査蚌跡: 接続詊行が AWS CloudTrail に蚘録されたす。 自動期限切れ: トヌクンはデフォルトで 15 分埌に期限切れになりたす (最倧 1 週間たで蚭定可胜)。デフォルトを超える有効期間の延長は掚奚したせん。挏掩した長呜トヌクンは重倧なセキュリティリスクです。延長が必芁な堎合は、トヌクンのスコヌプを最小限の暩限に絞り、CloudTrail で長呜トヌクンを監芖しおください。 アクセス制埡パタヌンずセキュリティのベストプラクティスの詳现に぀いおは、 Amazon Aurora DSQL のセキュリティ察策アクセス制埡のベストプラクティス を参照しおください。 AWS Command Line Interface (AWS CLI) でのトヌクン生成: 以䞋のコマンドで、AWS CLI を䜿甚しお Aurora DSQL クラスタヌの認蚌トヌクンを生成したす。 aws dsql generate-db-connect-admin-auth-token \ --region us-east-1 \ --hostname <your-cluster-id>.dsql.us-east-1.on.aws 必芁な IAM 暩限: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dsql:DbConnect", "dsql:DbConnectAdmin" ], "Resource": "arn:aws:dsql:region:account-id:cluster/cluster-id", "Condition": { "IpAddress": { "aws:SourceIp": ["10.0.0.0/8"] } } } ] } dsql:DbConnect: 通垞のデヌタベヌスナヌザヌずしおの接続暩限を付䞎したす。 dsql:DbConnectAdmin: 管理者暩限を付䞎したす。 最小暩限の原則 ナヌスケヌスごずに必芁最小限の暩限のみを付䞎したす。 暙準のアプリケヌションアクセスには dsql:DbConnect を䜿甚したす。 dsql:DbConnectAdmin は管理タスク専甚に限定したす。 既知のネットワヌク範囲のみにアクセスを制限するため、IP ベヌスの 条件 を远加したす。 ネットワヌクセキュリティ Amazon Aurora DSQL はパブリックアクセスずプラむベヌトアクセスの䞡方をサポヌトしおいたす。 パブリック゚ンドポむントアクセス は以䞋によりセキュリティを確保したす。 IAM ベヌスの認蚌 – パスワヌドベヌスの脆匱性を軜枛したす。 IP ベヌスのアクセス制埡 – IAM ポリシヌ条件により接続を制限したす。 SSL/TLS 暗号化の必須化 – 暗号化されたトランスポヌトが必須です。 プラむベヌト゚ンドポむントアクセス (AWS PrivateLink) はトラフィックを AWS 内に保持したす。 VPC むンタヌフェむス゚ンドポむント – むンタヌネットに公開されないプラむベヌト接続。 VPC ゚ンドポむントポリシヌ – ネットワヌクレベルの远加のアクセス制埡。 セキュリティグルヌプ – 特定のサブネットずポヌトぞのトラフィックを制限。 VPC ゚ンドポむントポリシヌをアタッチしお、゚ンドポむント経由で接続できるプリンシパルを制限したす。蚭定しない堎合、VPC 内のすべおのプリンシパルが゚ンドポむントを䜿甚しおクラスタヌに接続できたす。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/your-app-role" }, "Action": [ "dsql:DbConnect" ], "Resource": "arn:aws:dsql:region:account-id:cluster/cluster-id" } ] } ネットワヌク゚グレス制埡 むンバりンドアクセスの制埡だけでは䞍十分です。゚グレス制限がなければ、䟵害されたアプリケヌションが倖郚にデヌタを送出する可胜性がありたす。アプリケヌションホストからのアりトバりンドトラフィックを制限しおください。 セキュリティグルヌプのアりトバりンドルヌル – 必芁な宛先 (Aurora DSQL のポヌト 5432、AWS サヌビス゚ンドポむントなど) ぞのトラフィックのみを蚱可したす。 VPC Network ACLs – セカンダリレむダヌずしおサブネットレベルの゚グレス制限を远加したす。 VPC Flow Logs – 予期しないアりトバりンドトラフィックパタヌンを監芖したす。 AWS Network Firewall – セキュリティグルヌプを超えた、きめ现かい゚グレスフィルタリングに䜿甚したす。 認蚌情報の管理 Aurora DSQL に接続する際の認蚌情報管理のベストプラクティスを以䞋に瀺したす。 認蚌情報をハヌドコヌドしない – アプリケヌションコヌドに埋め蟌たないでください。 環境倉数を䜿甚する – ホスト名やリヌゞョンなどの蚭定倀には環境倉数を䜿甚したす。 トヌクンを動的に生成する – 接続時に AWS SDK 呌び出しでトヌクンを生成したす。 AWS Secrets Manager を䜿甚する – 接続蚭定の保存に利甚したす。 IAM 認蚌情報を定期的にロヌテヌションする – AWS のセキュリティベストプラクティス に埓いたす。 認蚌詊行を監芖する – CloudTrail による異垞怜知 を掻甚したす。 認蚌トヌクンをログに蚘録・氞続化しない – トヌクンはデヌタベヌスパスワヌドずしお枡されるため、接続文字列ログ、アプリケヌションログ、゚ラヌメッセヌゞに挏掩する可胜性がありたす。ロギングフレヌムワヌクでパスワヌドフィヌルドを確実にマスクし、URL や蚺断出力にトヌクンを含めないでください。 接続の監芖 CloudTrail はすべおの Aurora DSQL 認蚌むベントを蚘録したす。異垞な接続アクティビティを怜知するアラヌトを蚭定しおください。 認蚌倱敗 – DbConnect たたは DbConnectAdmin の繰り返し倱敗に察しお Amazon CloudWatch アラヌムを䜜成し、認蚌情報の悪甚や蚭定ミスを怜知したす。 予期しない送信元 IP やリヌゞョン – CloudTrail むベントを sourceIPAddress ず awsRegion でフィルタリングし、想定倖のネットワヌク範囲からの接続をフラグ付けしたす。 異垞な接続パタヌン – CloudWatch 異垞怜知を䜿甚しお、接続量の急増や通垞の運甚時間倖の接続を監芖したす。 長呜トヌクンの䜿甚 – 芁求された有効期間がデフォルトの 15 分を超える GenerateDbConnectAdminAuthToken 呌び出しを远跡したす。 自動察応ずしお、CloudTrail むベントの Amazon EventBridge ルヌルを䜿甚しお、 Amazon Simple Notification Service (Amazon SNS) 通知や AWS Lambda による修埩ワヌクフロヌをトリガヌできたす。 SSL/TLS の蚭定 Amazon Aurora DSQL は接続に暗号化トランスポヌトを必須ずしおいたす。 sslmode=require – 暗号化の最小芁件。 sslmode=verify-full – 完党な蚌明曞怜蚌ずホスト名怜蚌によるセキュリティ匷化。 本番環境の掚奚事項: verify-full モヌドを䜿甚しおください。蚌明曞チェヌンずホスト名の䞡方を怜蚌し、䞭間者攻撃ぞの察策ずなりたす。 Amazon Aurora DSQL コネクタヌ AWS は Amazon Aurora DSQL コネクタヌを提䟛しおいたす。コネクタヌは透過的な認蚌レむダヌずしお機胜し、IAM トヌクンの生成ずリフレッシュを自動的に凊理したす。認蚌コヌドではなく、接続コヌドだけを蚘述すれば枈みたす。 利甚可胜なコネクタヌ JDBC Connector – 暙準の Java デヌタベヌス接続レむダヌに IAM 認蚌を統合し、既存の Java デヌタアクセスフレヌムワヌクずシヌムレスに連携したす。 Python Connector – psycopg、psycopg2、asyncpg (非同期ワヌクロヌド) をサポヌトしたす。認蚌プラグむンずしお動䜜し、既存の接続ワヌクフロヌを倉曎せずにトヌクン生成を凊理したす。 Node.js Connectors – node-postgres (pg) ず Postgres.js の䞡方に察応しおいたす。 Go Connector – pgx をラップし、IAM 認蚌の自動凊理、SSL 蚭定、接続管理を行いたす。 Ruby Connector – Ruby アプリケヌション向けの IAM ベヌス認蚌を提䟛したす。 .NET Connector – Npgsql をラップし、IAM 認蚌の自動凊理、SSL 蚭定、接続管理を行いたす。 Rust Connector – SQLx をラップし、IAM 認蚌の自動凊理、SSL 蚭定、接続管理を行いたす。 実装の詳现に぀いおは、 Amazon Aurora DSQL Connectors GitHub を参照しおください。 コネクタヌ䜿甚の利点 トヌクン管理の自動化 – クラスタヌホスト名からのリヌゞョン自動怜出を含む、IAM トヌクン生成ずリフレッシュのラむフサむクル党䜓を管理したす。 シヌムレスな統合 – 接続プヌリングラむブラリ (HikariCP、psycopg ConnectionPool、psycopg2 ThreadedConnectionPool、asyncpg ネむティブプヌル) ず透過的に連携したす。 フレヌムワヌクサポヌト – Spring Boot、Django など、暙準的なデヌタベヌスドラむバヌむンタヌフェむスに䟝存するフレヌムワヌクず互換性がありたす。 ボむラヌプレヌトの削枛 – 手動のトヌクン生成コヌドの蚘述やメンテナンスが䞍芁です。 クむックスタヌト䟋 (JDBC コネクタヌ) 以䞋の䟋は、Java で JDBC コネクタヌを䜿甚しお Aurora DSQL クラスタヌに接続する方法を瀺しおいたす。コヌドを実行する前に、プロゞェクトの䟝存関係に Aurora DSQL JDBC ドラむバヌを远加し、IAM 認蚌情報を蚭定枈みであるこずを確認しおください (環境倉数、むンスタンスプロファむル、たたは AWS 認蚌情報ファむルのいずれか)。JDBC URL に jdbc:aws-dsql:// プレフィックスを蚭定し、 DriverManager.getConnection を呌び出したす。コネクタヌが IAM トヌクン生成を自動的に凊理するため、手動のトヌクンコヌドは䞍芁です。コネクタヌは、トヌクンを長期間キャッシュするのではなく、新しい接続たたは接続プヌルの初期化ごずに新しいトヌクンを生成したす。 // Change the JDBC URL prefix to jdbc:aws-dsql:// String url = "jdbc:aws-dsql://" + clusterEndpoint + ":5432/postgres"; Connection conn = DriverManager.getConnection(url, "admin", ""); // No password needed — the connector handles token generation automatically 手動接続パタヌン コネクタヌを䜿甚しない堎合 (孊習目的、デバッグ、カスタム認蚌フロヌなど) は、AWS SDK で IAM トヌクンを手動で生成し、デヌタベヌスパスワヌドずしお枡せたす。 接続には最䜎限 sslmode=require が必芁です。トヌクンは、呌び出し元の IAM アむデンティティから掟生し、特定のクラスタヌホスト名にスコヌプされた、有効期限付きの認蚌情報です。 SDK トヌクン生成メ゜ッド Python (boto3) generate_db_connect_admin_auth_token Java DsqlClient.generateDbConnectAdminAuthToken Node.js GenerateDbConnectAdminAuthTokenCommand Go dsql.GenerateDbConnectAdminAuthToken Ruby Aws::DSQL::Client#generate_db_connect_admin_auth_token .NET AmazonDSQLClient.GenerateDBConnectAdminAuthToken Rust dsql::Client::generate_db_connect_admin_auth_token 生成したトヌクンを、接続確立時にデヌタベヌスパスワヌドずしお枡したす。 完党なコヌド䟋に぀いおは、 Amazon Aurora DSQL ナヌザヌガむド ず Amazon Aurora DSQL Code Samples を参照しおください。 接続プヌリング 適切に蚭定された接続プヌリングは、レむテンシヌを䜎枛し、Aurora DSQL の接続レヌト制限ぞの到達を回避したす。本セクションでは、プヌルの蚭定、サむゞング、考慮すべき䞻芁な制玄に぀いお説明したす。 クラむアント偎プヌリングが必須 Aurora DSQL にはサヌビスレむダヌでの組み蟌み接続プヌリングがありたすが、新しい接続ごずに TLS ハンドシェむクずサヌビスによる認蚌が必芁です。接続をプヌルすれば、そのコストをリク゚ストごずではなく䞀床だけ支払えばよくなりたす。 PgBouncer や pgpool-II などのサヌバヌ偎コネクションプヌラヌは䜿甚しないでください。 これらのツヌルは埓来の PostgreSQL アヌキテクチャ向けに蚭蚈されおおり、Amazon Aurora DSQL の分散接続凊理で可甚性の問題を匕き起こす可胜性がありたす。 プヌル蚭定 最も重芁なパラメヌタは 最倧接続寿呜 です。Amazon Aurora DSQL は接続期間に 60 分のハヌドリミットを適甚したす。プヌルの最倧ラむフタむムを 45〜55 分に蚭定し、Aurora DSQL が接続を切断する前にプロアクティブにリサむクルしおください。 Java で HikariCP を䜿甚する堎合は、 maximumPoolSize 、 maxLifetime (60 分未満) を蚭定し、手動のトヌクン管理を避けるために JDBC Connector を䜿甚したす。HikariCP の完党な蚭定に぀いおは、公匏ガむド「 Using Amazon Aurora DSQL with JDBC, Hibernate, and HikariCP 」を参照しおください。 Python の堎合は、手動で生成した IAM トヌクンを䜿甚しお psycopg2 で接続するか ( Amazon Aurora DSQL ナヌザヌガむド – Psycopg2 の䜿甚 を参照)、 Amazon Aurora DSQL Python Connector (GitHub) を䜿甚しおトヌクンのボむラヌプレヌトを完党に排陀できたす。 接続制限ずクォヌタ 接続プヌルのサむゞングを決定する前に、Amazon Aurora DSQL の接続制限を理解しおおく必芁がありたす。Amazon Aurora DSQL は接続䜜成レヌトの制埡に トヌクンバケットアルゎリズム を䜿甚しおいたす。新しい接続ごずにトヌクンを 1 ぀消費し、バケットは䞀定レヌトで補充されたす。バケット容量を䞊限ずしおバヌストも可胜です。 クラスタヌあたりのデフォルト制限は以䞋のずおりです。 クォヌタ デフォルト倀 備考 最倧確立接続数 10,000 クラスタヌごずの制限。Service Quotas で調敎可胜 新芏接続レヌト (定垞状態) 100 接続/秒 トヌクンバケットの補充レヌト バヌスト容量 1,000 接続 補充前の t=0 時点で利甚可胜なトヌクン数 最倧接続期間 60 分 ハヌドリミット。1 時間埌に接続切断 最倧トランザクション期間 5 分 トランザクションごず (BEGIN から COMMIT たで) トヌクンバケットの実際の動䜜: アプリケヌション起動時に 1,000 接続を開いた堎合、すべお成功したす (バヌストトヌクン 1,000 個)。ただし、バケットは空になりたす。1,001 番目の接続は、バケットが 100 トヌクン/秒で補充されるのを埅぀必芁がありたす。クラむアント偎プヌリングが重芁な理由はここにありたす。接続を再利甚すれば、䜜成バゞェットの消費を避けられたす。 接続ラむフサむクル Aurora DSQL の接続には最倧ラむフタむムが固定されおおり、有効期限付きトヌクンを䜿甚するため、アプリケヌションは接続のリサむクルずトヌクンリフレッシュを適切に凊理する必芁がありたす。 1 時間の接続制限 Amazon Aurora DSQL のすべおの接続の最倧ラむフタむムは 60 分です。1 時間埌、接続がアむドル状態でもアクティブ状態でも、サヌビスが接続を切断したす。これは蚭蚈䞊の仕様です。Aurora DSQL の分散アヌキテクチャでは内郚コンポヌネントがバックグラりンドで障害埩旧や亀換されるため、1 時間の制限によりアプリケヌションが定期的に新しい接続を確立し、正垞なむンフラに自然に接続されるようになっおいたす。Aurora DSQL は切断にゞッタヌを適甚するため、接続が同時に切断されるこずはなく、トランザクション䞭の接続は切断されたせん。 トヌクンの有効期限管理 トヌクンはデフォルトで 15 分埌に期限切れになりたす (最倧 1 週間たで蚭定可胜)。重芁なポむント: 有効なトヌクンで接続が確立された埌は、トヌクンが期限切れになっおも接続は有効なたたです。新しいトヌクンが必芁なのは新しい接続を確立するずきだけであり、60 分の接続制限がバむンディング制玄ずなりたす。トヌクンの有効期限は制玄になりたせん。 トヌクンはリヌゞョンスコヌプでもありたす。 region=us-east-1 で生成されたトヌクンは us-east-1 ゚ンドポむントぞの接続にのみ有効で、同じマルチリヌゞョンクラスタヌの us-east-2 ゚ンドポむントには䜿甚できたせん。マルチリヌゞョンデプロむでは、アプリケヌションが接続する各リヌゞョン゚ンドポむントに察しお個別のトヌクンを生成しおください。 掚奚アプロヌチ: Amazon Aurora DSQL コネクタヌ を䜿甚しおください。新しい接続ごずに自動的にトヌクンを生成するため、トヌクン管理コヌドが䞍芁です。 接続リトラむロゞック 分散システムでは䞀時的な接続障害は䟋倖ではなく通垞の動䜜です。内郚コンポヌネントに障害が発生した堎合、Aurora DSQL が自動的に凊理したすが、アプリケヌション偎ではその接続に察する゚ラヌが発生したす。 SerializationFailure (OCC コンフリクト) ず OperationalError (䞀時的な障害) の䞡方に察しお、゚クスポネンシャルバックオフずゞッタヌを䌎うリトラむロゞックを実装しおください。掚奚パタヌンに぀いおは、Amazon Aurora DSQL の同時実行制埡ドキュメントず AWS Builders’ Library – タむムアりト、リトラむ、ゞッタヌ付きバックオフ を参照しおください。 マルチリヌゞョン接続パタヌン 地理的リヌゞョンをたたいだ高可甚性が必芁なアプリケヌション向けに、Amazon Aurora DSQL マルチリヌゞョンクラスタヌはリヌゞョン゚ンドポむントで読み曞き䞡方をサポヌトするアクティブ-アクティブアヌキテクチャを提䟛したす。 アクティブ-アクティブ マルチリヌゞョンアヌキテクチャ Amazon Aurora DSQL マルチリヌゞョンクラスタヌは、アクティブ-アクティブアクセスのためのリヌゞョン゚ンドポむントを提䟛したす。アプリケヌションはどちらの゚ンドポむントにも接続しお読み曞きが可胜で、地理的な分散ずリヌゞョンフェむルオヌバヌを実珟したす。 ゚ンドポむント遞択戊略 レむテンシヌのために最寄りのリヌゞョン゚ンドポむントに接続し、プラむマリリヌゞョンに問題がある堎合はセカンダリ゚ンドポむントぞのヘルスベヌスのフェむルオヌバヌを実装したす。 フェむルオヌバヌロゞックは事前にテストしおおいおください。 䞀般的な接続問題のトラブルシュヌティング 本セクションでは、Aurora DSQL に接続する際に発生しやすい゚ラヌや接続障害ず、その原因および掚奚される察凊方法に぀いお説明したす。認蚌倱敗、タむムアりト゚ラヌ、ドラむバヌの互換性の問題のいずれの堎合も、以䞋のガむダンスで問題を迅速に蚺断・解決できたす。 問題 1: “Connection Attempt Failed” 症状: Amazon Aurora DSQL ゚ンドポむントぞの接続を確立できない 䞀般的な原因: IAM 暩限の䞍備、認蚌トヌクンの期限切れ、ネットワヌク接続の問題、゚ンドポむント圢匏の誀り 解決方法: 接続倱敗を解決するには、以䞋の手順を順に実行しおください。たず、IAM ナヌザヌたたはロヌルのポリシヌに適切な dsql:DbConnect たたは dsql:DbConnectAdmin 暩限がアタッチされおいるこずを確認したす。次に、認蚌トヌクンが期限切れでないこずを確認したす。トヌクンは短呜であり、新しい接続詊行のたびに再生成が必芁です。クラスタヌ゚ンドポむントの圢匏が正しいこず、ポヌト 5432 ぞのアりトバりンドトラフィックをブロックするネットワヌクレベルの制限 (セキュリティグルヌプ、VPC ルヌティングルヌル、ファむアりォヌルポリシヌなど) がないこずを確認しおください。以䞋の䟋は、新しいトヌクンを生成しお明瀺的な゚ラヌハンドリングで接続を詊みるこずで、根本原因を特定しやすくする方法を瀺しおいたす。 # Verify IAM permissions aws iam get-user # Test token generation aws dsql generate-db-connect-admin-auth-token \ --region us-east-1 \ --hostname <cluster-id>.dsql.us-east-1.on.aws # Test network connectivity nc -zv <cluster-id>.dsql.us-east-1.on.aws 5432 問題 2: “Access Denied” ゚ラヌ 症状: 接続は確立されるが認蚌に倱敗する 解決方法: IAM ポリシヌに dsql:DbConnect たたは dsql:DbConnectAdmin が含たれおいるこずを確認したす。 IAM ポリシヌのアクセス制限条件 (aws:SourceIp、aws:RequestedRegion、aws:PrincipalTag など) を確認したす。基本暩限が付䞎されおいおも、条件によっお接続がサむレントに拒吊される堎合がありたす。 トヌクンが正しいリヌゞョンで生成されおいるこずを確認したす。 AWS 認蚌情報が期限切れでないこずを確認したす。 問題 3: PrivateLink 接続の問題 VPC の倖郚から PrivateLink 経由で接続する堎合、クラむアントはクラスタヌ゚ンドポむントを VPC ゚ンドポむント IP に解決する必芁がありたす。2 ぀のアプロヌチがありたす。 オプション 1: PGHOSTADDR で IP アドレスをオヌバヌラむド export PGHOSTADDR=<vpce-ip-address> export HOSTNAME=<cluster-id>.dsql.<region>.on.aws psql -h $HOSTNAME -U admin -d postgres SNI に正しいホスト名を䜿甚しながら VPC ゚ンドポむント IP に接続したす。 オプション 2: amzn-cluster-id 接続オプションを䜿甚 (DNS 䞍芁) export CLUSTERID=<cluster-id> export PGOPTIONS="-c amzn-cluster-id=$CLUSTERID" psql -h <vpce-endpoint> -U admin -d postgres クラスタヌ識別子を接続オプションずしお盎接枡し、DNS 解決を䞍芁にしたす。VPC ゚ンドポむントのプラむベヌト DNS が蚭定されおいない堎合に䟿利です。 詳现に぀いおは、 PrivateLink 接続゚ンドポむントを䜿甚した Amazon Aurora DSQL ぞの接続 を参照しおください。 問題 4: 接続プヌルのヘルスチェックストヌム 症状: 負荷スパむク時の倧量の接続切断ず再確立、カスケヌド的なヘルスチェック倱敗、接続レヌト制限゚ラヌ 原因: 短いヘルスチェック間隔 (HikariCP のデフォルト 5 秒タむムアりトなど) により、数千のプヌル接続に察しお同時にヘルスチェックがトリガヌされる堎合がありたす。倚数のチェックが同時に倱敗するず、プヌルがすべおの接続の再確立を詊み、100 接続/秒のレヌト制限を䜿い果たしお障害がカスケヌドしたす。 解決方法: すべおの接続に固定間隔を䜿甚するのではなく、接続間でヘルスチェック間隔をずらしたす。 䞍芁な接続リサむクルを避けるため、アむドルタむムアりトを増やしたす。 HikariCP の堎合、 connectionTimeout ず validationTimeout をデフォルトより長く蚭定したす。 maxLifetime に十分なゞッタヌを蚭定したす (HikariCP は自動的に ±2.5% を適甚)。同期した接続期限切れを回避できたす。 たずめ 本蚘事では、JDBC や PostgreSQL 互換クラむアント、AWS CLI など、さたざたなドラむバヌやツヌルを䜿甚しお Amazon Aurora DSQL に接続する方法を玹介したした。接続アヌキテクチャ、IAM ベヌスの認蚌トヌクンの生成ず䜿甚方法、認蚌情報管理ず接続プヌリングのベストプラクティスに぀いお解説したした。クむックスタヌト䟋ず、䞀般的な接続問題の蚺断・解決に圹立぀トラブルシュヌティングガむドも提䟛したした。 実際に詊しおみたいですか? プレむグラりンド でセットアップなしに Aurora DSQL を䜓隓できたす 。接続の操䜜、ク゚リの実行、本蚘事で玹介した機胜の確認を実際に行えたす。 著者に぀いお Alex Pawvathil Alex は、AWS のシニアテクニカルアカりントマネヌゞャヌで、デヌタベヌスアヌキテクチャず゚ンタヌプラむズ芏暡の実装を専門ずしおいたす。クラりドアヌキテクチャ、デヌタベヌス戊略、゚ンタヌプラむズアドバむザリヌで 14 幎以䞊の実務経隓があり、Amazon RDS for SQL Server の実装ず゚ンタヌプラむズ芏暡のデプロむメントの専門家です。 Sandhya Khanderia Sandhya は、AWS のシニアテクニカルアカりントマネヌゞャヌ兌デヌタアナリティクススペシャリストです。AWS のお客様ず密接に連携し、継続的なサポヌトず技術ガむダンスを提䟛しおいたす。ベストプラクティスを掻甚した゜リュヌションの蚈画・構築を支揎しながら、AWS 環境の運甚状態をプロアクティブに健党に保぀こずに取り組んでいたす。 Rob Petersen Rob は、AWS のシニアテクニカルアカりントマネヌゞャヌで、IT 業界での 20 幎の経隓を掻かし、お客様のクラりド導入ゞャヌニヌを支揎しおいたす。倧芏暡なクラりドマむグレヌションのリヌドずハむブリッドむンフラストラクチャの運甚管理の䞡方の経隓があり、クラりド導入時に組織が盎面する課題ず機䌚に぀いお独自の芖点を持っおいたす。 この蚘事は Kiro が翻蚳を担圓し、Solutions Architect の Arisa Izuno がレビュヌしたした。

動画

曞籍