TECH PLAY

Node.js

イベント

該当するコンテンツが見つかりませんでした

マガジン

技術ブログ

はじめに こんにちは、クラウドエース株式会社 第一開発部の喜村です。 Google Cloud のアーキテクチャ設計では draw.io で構成図を書くことが多いですが、コンポーネントの配置や矢印の調整に思いのほか時間がかかります。 そこで、draw.io の MCP サーバーを Cursor に接続し、プロンプトだけで構成図を生成できるか試してみました。 draw.io と MCP について draw.io とは draw.io はフローチャートやネットワーク図など、さまざまな図を作成できる Web ベースの作図ツールです。ユーザー登録不要で利用でき、デスクトップアプリ版も
re:Invent 2025 において、AWS の Vice President of Databases である Colin Lazier は、アイデアのスピードで構築することの重要性を強調しました。これは、コンセプトから稼働中のアプリケーションまでの道のりを迅速に進めることを可能にするものです。お客様は既に、本番対応の Amazon DynamoDB テーブルと Amazon Aurora DSQL データベースを数秒で作成できます。Colin は、同じスピードで Amazon Aurora サーバーレス データベースを作成できることを 事前公開 し、その後、お客様からこの機能への迅速なアクセスとスピードを求める声が寄せられました。 2025 年 3 月 25 日、Amazon Aurora PostgreSQL 向けの新しいエクスプレス設定の一般提供の開始をお知らせします。これは、数秒で使用を開始するのに役立つよう設計された事前設定済みのデフォルト設定を備えた、合理化されたデータベース作成エクスペリエンスです。 わずか 2 回クリックするだけで、Aurora PostgreSQL サーバーレスデータベースを使用する準備が数秒で整います。新しい設定では、データベースの作成中および作成後に、特定の設定を柔軟に変更できます。例えば、作成時にサーバーレスインスタンスのキャパシティ範囲を変更したり、リードレプリカを追加したり、データベースが作成された後にパラメータグループを変更したりできます。 エクスプレス設定を備えた Aurora クラスターは、 Amazon Virtual Private Cloud (Amazon VPC) ネットワークなしで作成され、お気に入りの開発ツールからのセキュアな接続のためのインターネットアクセスゲートウェイを含みます。VPN や AWS Direct Connect は不要です。また、エクスプレス設定では、管理者ユーザーのために AWS Identity and Access Management (IAM) 認証がデフォルトでセットアップされるため、追加設定なしで最初からパスワードレスデータベース認証が有効になります。 作成後、高可用性や自動フェイルオーバー機能のための追加のリードレプリカのデプロイなど、Aurora PostgreSQL サーバーレスで使用可能な機能にアクセスできます。今回のリリースでは、Aurora 向けの新しいインターネットアクセスゲートウェイルーティングレイヤーも導入されました。新しいサーバーレスインスタンスでは、この機能はデフォルトで有効になっています。これにより、幅広い開発ツールから PostgreSQL ワイヤプロトコルを使用して、世界中のどこからでも、アプリケーションがインターネット経由でセキュアに接続できます。このゲートウェイは複数のアベイラビリティゾーンに分散されており、Aurora クラスターと同等の高可用性を提供します。 Aurora の作成と接続が数秒で完了するということは、Aurora の利用を開始する方法は根本的に変わります。弊社は、Aurora を利用したアプリケーションのオンボーディングと実行をサポートするために、連携して動作する複数の機能をリリースしました。Aurora は AWS 無料利用枠 で現在利用可能です。これにより、初期費用なしで Aurora を実際に体験できます。作成後、 AWS CloudShell で Aurora データベースを直接クエリしたり、Aurora 用の新しいインターネットアクセス可能なルーティングコンポーネントを介してプログラミング言語やデベロッパーツールを使用したりできます。 Vercel の v0 などの統合により、自然言語を使用して、Aurora の機能とメリットを活用したアプリケーションの構築を開始できます。 Aurora PostgreSQL サーバーレスデータベースを数秒で作成 利用を開始するには、 Aurora および RDS コンソール にアクセスし、ナビゲーションペインで [ダッシュボード] を選択します。その後、ロケットアイコンの付いた [作成] を選択します。 [エクスプレス設定で作成] ダイアログボックスで、事前構成済みの設定を確認します。必要に応じて、DB クラスター識別子またはキャパシティ範囲を変更できます。 [データベースを作成] を選択します。 また、パラメータ --express-configuration を設定して AWS コマンドラインインターフェイス (AWS CLI) または AWS SDK を使用することで、単一の API コールでクラスターとクラスター内のインスタンスの両方を作成できます。これにより、数秒でクエリを実行できる状態になります。詳細については、「 Creating an Aurora PostgreSQL DB cluster with express configuration 」にアクセスしてください。 クラスターを作成するための CLI コマンドを次に示します: $ aws rds create-db-cluster --db-cluster-identifier channy-express-db \ --engine aurora-postgresql \ –with-express-configuration Aurora PostgreSQL サーバーレスデータベースは数秒で準備完了となります。作成が完了すると成功バナーが表示され、データベースのステータスが [使用可能] に変わります。 データベースの準備が完了したら、 [接続とセキュリティ] タブに移動して、3 つの接続オプションにアクセスします。SDK、API、またはエージェントなどのサードパーティーツール経由で接続する場合は、 [コードスニペット] を選択します。.NET、Golang、JDBC、Node.js、PHP、PSQL、Python、TypeScript など、さまざまなプログラミング言語を選択できます。各ステップのコードをツールに貼り付けてコマンドを実行できます。 例えば、次の Python コードは認証設定を反映するために動的に生成されます: import psycopg2 import boto3 auth_token = boto3.client('rds', region_name='ap-south-1').generate_db_auth_token(DBHostname='channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', Port=5432, DBUsername='postgres', Region='ap-south-1') conn = None try: conn = psycopg2.connect( host='channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', port=5432, database='postgres', user='postgres', password=auth_token, sslmode='require' ) cur = conn.cursor() cur.execute('SELECT version();') print(cur.fetchone()[0]) cur.close() except Exception as e: print(f"Database error: {e}") raise finally: if conn: conn.close() const { Client } = require('pg'); const AWS = require('aws-sdk'); AWS.config.update({ region: 'ap-south-1' }); async function main() { let password = ''; const signer = new AWS.RDS.Signer({ region: 'ap-south-1', hostname: 'channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', port: 5432, username: 'postgres' }); password = signer.getAuthToken({}); const client = new Client({ host: 'channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', port: 5432, database: 'postgres', user: 'postgres', password, ssl: { rejectUnauthorized: false } }); try { await client.connect(); const res = await client.query('SELECT version()'); console.log(res.rows[0].version); } catch (error) { console.error('Database error:', error); throw error; } finally { await client.end(); } } main().catch(console.error); コンソールから直接起動する AWS CLI に迅速にアクセスするには、 [CloudShell] を選択します。[ CloudShell を起動] を選択すると、特定のクラスターに接続するための関連情報がコマンドに事前に入力されていることが確認できます。シェルに接続すると、SQL コマンドを実行するための psql login と postgres => prompt が表示されます。 pgAdmin など、ユーザー名とパスワードの認証情報のみをサポートするツールを使用する場合は、 [エンドポイント] を選択することもできます。 [トークンを取得] を選択すると、ユーティリティによって生成された AWS Identity and Access Management (IAM) 認証トークンがパスワードフィールドに使用されます。このトークンは、データベースの作成時にセットアップするマスターユーザー名について生成されます。トークンは 1 回につき 15 分間有効です。使用しているツールが接続を終了した場合、トークンを再生成する必要があります。 Aurora データベースを利用してアプリケーションをより迅速に構築 re:Invent 2025 では、 AWS 無料利用枠プログラムの強化を発表し 、AWS サービス全体で使用できる最大 200 USD 相当の AWS クレジットを提供しました。サインアップ時に 100 USD 相当の AWS クレジットが付与され、Amazon Relational Database Service (Amazon RDS)、AWS Lambda、Amazon Bedrock などのサービスを利用することで、さらに 100 USD 相当のクレジットを獲得できます。さらに、Amazon Aurora は、対象となる一連の幅広い 無料利用枠データベースサービス でご利用いただけるようになりました。 デベロッパーは、自然言語だけで本番対応のアプリケーションを構築できる Vercel などのプラットフォームを採用しています。弊社は、 Vercel Marketplace との統合を発表しました 。これにより、Vercel から AWS データベースを数秒で直接作成して接続できるようになります。また、AI を利用したツールである Vercel の v0 との統合も発表しました。v0 は、数分でアイデアを本番対応のフルスタックウェブアプリケーションに変換します。これには、Aurora PostgreSQL、Aurora DSQL、DynamoDB データベースが含まれています。また、Vercel を利用してエクスプレス設定を通じて作成した既存のデータベースも接続できます。詳細については、「 AWS for Vercel 」にアクセスしてください。 Vercel と同様に、当社はデータベースをそれらのエクスペリエンスとシームレスに統合し、広く普及しているフレームワーク、AI アシスタントコーディングツール、環境、デベロッパーツールと直接統合して、アイデアのスピードで開発を進めることを可能にしています。 さらに、 Kiro powers との Aurora PostgreSQL 統合 も導入しました。デベロッパーはこれを利用して、 Kiro を通じた AI エージェント支援開発を活用することで、Aurora PostgreSQL を利用するアプリケーションをより迅速に構築できます。Aurora PostgreSQL 向けの Kiro power は、 Kiro IDE 内で、または Kiro powers のウェブページ から、ワンクリックでインストールして使用できます。この Kiro Power の詳細については、「 Introducing Amazon Aurora powers for Kiro 」および「 Amazon Aurora Postgres MCP Server 」をお読みください。 今すぐご利用いただけます Aurora PostgreSQL サーバーレスデータベースは、すべての AWS 商用リージョンで数秒で今すぐ作成できます。リージョンごとの利用可否と今後のロードマップについては、「 AWS Capabilities by Region 」にアクセスしてください。 お支払いいただくのは、Aurora Capacity Units (ACU) に基づいて消費したキャパシティについての料金のみであり、キャパシティがゼロの状態から秒単位で課金されます。アプリケーションのニーズに基づいて、キャパシティが自動的に起動、シャットダウン、スケールアップ、スケールダウンされます。詳細については、 Amazon Aurora の料金ページ にアクセスしてください。 Aurora および RDS コンソール でお試しいただき、 AWS re:Post for Aurora PostgreSQL に、または通常の AWS サポート担当者を通じて、フィードバックをお寄せください。 – Channy 原文は こちら です。
はじめに こんにちは。この記事はニフティの坂野とmoriです。この記事は共同執筆したものになります。 チームで開発をしていると、python,node.js等の実行環境やlinter,formatter等周辺ツールのバージョンを揃えたい、という場面は多いと思います。 そこでまず思いつくのがdevcontainerですが、ケースバイケースでオーバーエンジニアリングになりがちだと思っています。 やりたいのは「ツールのバージョンを揃える」だけなのに、コンテナ丸ごと用意するのは重すぎます。 Dockerfileやdevcontainer.jsonの構築・メンテナンスコストがかかる CI/CDで同じツールバージョンを使いたいとなると、GitHub Actions側でもコンテナビルドが必要になってさらに複雑化 ツール追加のたびにビルドし直し これらの問題は、 mise を使えばもっとシンプルに解決できます。 miseの強み mise はツールチェイン管理、環境変数管理、タスクランナーなど様々な機能を持つツールです。 以前はRTXという検索性の悪い名前でしたが、いつの間にか改名されていました。 mise.tomlというファイル1つで全部管理できます。 ローカル/CIで同じバージョン mise.tomlをリポジトリにコミットしておけば、ローカルでもGitHub Actionsでも同じツールバージョンが使えます。 CI側では jdx/mise-action を使うだけです。コンテナビルドは要りません。 TerraformのCIは例えばこんな感じで書けます。 # terraform-ci.yml steps: - uses: actions/checkout@v4 - uses: jdx/mise-action@v2 with: working_directory: terraform - run: mise check working-directory: terraform mise.tomlにツールもタスクも定義してあるので、CI側はmiseを入れて mise check するだけです。 devcontainerだとCI用のDockerfileを別途用意したり、コンテナレジストリの管理も必要になりますが、miseならtomlファイル1つで完結します。 コンテナ不要で構築コストが低い devcontainerは初回ビルドも再ビルドも待ち時間が発生します。 miseは mise install で必要なツールを直接インストールするだけなので、オーバーヘッドが小さいです。 新メンバーが入ってきたときも mise install だけで環境が揃うので、オンボーディングコストも低くなります。 ここからは、miseの各機能を紹介したあと、実際に弊社でどのように活用しているかを説明します。 Renovateでバージョンアップも自動化 Renovateはリポジトリ内の依存関係を自動検知し、バージョンアップのPRを自動で作成してくれるツールです。miseのmise managerにも対応しており、mise.toml内のツールバージョンを自動で検知してPRを作ってくれます。 前述の通り、mise.tomlはローカルとCIの両方で参照されるファイルです。つまり、Renovateがmise.tomlのバージョンを更新するだけで、ローカル環境とCIのツールバージョンが同時に更新されます。 弊社ではTerraformだけインフラへの影響が大きいので個別PRにし、それ以外のツール(tflint, trivy, gh cli等)はまとめて更新する設定にしています。 devcontainerだとDockerfile内のバージョン書き換え→イメージリビルドというフローが必要ですが、miseならtomlのバージョン文字列を書き換えるだけです。シンプルです。 miseの主な機能について ツール管理 様々なバックエンドに対応しており、一通りのツールがバージョン指定付きでインストールできます。 asdf aqua pipx npm cargo # npmバックエンドを使用した claude codeのインストール mise use -g npm:@anthropic-ai/claude-code # pipxバックエンドを使用した serenaのインストール mise use pipx:git+https://github.com/oraios/serena.git@v0.1.4 # 直接手に入る系(nvim, btop, uvなどもあります) mise use uv # ツールのアップデート mise upgrade ディレクトリごとのバージョン切り替え シェルの設定 をすると、ディレクトリごとにツールバージョンを切り替えられます。上位ディレクトリの設定は下位にも引き継がれます。 ~/hoge ❯ cat mise.toml [tools] uv = "latest" ~/hoge/fuga ❯ cat mise.toml [tools] uv = "0.8.1" ~/hoge/fuga ❯ uv --version uv 0.8.1 # fuga配下では0.8.1が使われる ~/hoge/piyo ❯ uv --version uv 0.8.23 # piyoではuv未定義だが、親のhogeの設定が効く 環境変数管理 ツール使用時やタスク実行時に使用される環境変数をmise.tomlに記述しておけます。 ディレクトリ下にいると通常のシェルでも呼び出せます。 [env] EDITOR = "code" mise.file = ".env" [tasks.hoge] env = { fuga = "piyo" } run = "echo $fuga" .envを読み込むこともできるので、認証情報などはそちらに分離するのがおすすめです。 タスクランナー mise.tomlに記述したタスクを mise run hoge で呼び出せます。 タスクを指定せず mise run するとTUIで選択できます。絞り込みも可能です。 ツールと同じく、上位ディレクトリのタスクも継承されます。 一例として、私が管理しているのTerraformリポジトリでは、fmt/lint/securityのチェックを全てmiseタスクで管理しています。 dir で実行ディレクトリを指定できます。DockerfileのWORKDIRと概ね同じです。 # terraform/mise.toml [tasks."fmt:check"] description = "Check Terraform formatting" dir = "cwd" run = "terraform fmt -check -recursive ." [tasks."lint:init"] description = "Initialize tflint plugins" dir = "cwd" run = "tflint --init --config=$MISE_PROJECT_ROOT/.tflint.hcl" [tasks."lint:check"] description = "Run tflint" dir = "cwd" depends = ["lint:init"] run = "tflint --recursive --config=$MISE_PROJECT_ROOT/.tflint.hcl" [tasks."security:check"] description = "Run trivy security scan" dir = "cwd" run = "trivy config --config=$MISE_PROJECT_ROOT/trivy.yaml ." おわりに 今回はmiseを使った開発環境のツール管理について紹介しました。参考になれば幸いです。

動画

書籍