地理情報システム(以下GIS)やVR/AR/MR技術をベースとした空間情報システムの開発、販売および保守を手がける株式会社インフォマティクス。同社は鉄道会社向けGISシステムのAPI(Application Programming Interface)をAWS上で開発するにあたり、クラスメソッドのコンサルティングサービスを活用して認証・認可やセキュリティ関連のアーキテクチャ設計に関するアドバイスを受けました。AWS上でのAPI公開に関する知見を得たプロジェクトについて、大阪開発第1グループの谷さん、加藤さん、上村さんの3名にうかがいました。
鉄道会社が外販するためのAPI開発を受託
インフォマティクスはGISなどの技術を活用して、顧客の業務課題の解決や新たな価値創出を支援するITソリューション企業です。1981年の設立以来、中央官庁や地方自治体向けのハザードマップや犯罪・交通事故情報マップ、社会インフラ事業者、建設・土木・エンジニアリングなどのエンタープライズ企業向け設備管理システムや施設管理システムなど、数多くのシステム開発を手がけています。
今回、同社が請け負ったのは大手鉄道会社向けGISシステムのAPI開発です。このAPIは以下のように、鉄道運行の中で必要とされる情報を取得、変換するものです。
・経度・緯度情報を鉄道線路の起点からの距離標識(キロ程)に変換
・キロ程の情報を緯度・経度に変換
・中心座標から指定半径内にある構造物(トンネル、橋梁)の情報を取得
・線路用のルート検索
「これらは鉄道会社がグループ会社や取引先に提供するだけではありません。鉄道会社の自社サービスとして外販することも想定されており、当社は全部で6種類のAPI開発を担当することになりました」(加藤さん)
クラスメソッドの要件理解力と背景をくみ取った提案を評価
同社は鉄道会社から指定された「クラウド+サーバーレス」によるAPI開発という要件を受けて、プラットフォームを検討。複数のクラウドサービスを比較した中から、社内に開発ノウハウがあり、構築実績も豊富にあったAWSを採用しました。
AWS上でのAPI開発を決めた同社ですが、当時はAPIを外販サービスとして安全にインターネット経由で公開するためのノウハウは持ち合わせていませんでした。そこで認証・認可、セキュリティ、課金関連のアーキテクチャ設計に関する支援を求めてクラスメソッドへ依頼しました。
「より安全なアーキテクチャを設計するために、AWSの有資格者を多数抱える技術力の高いAWSパートナーを探したものの、なかなか見つかりませんでした。クラスメソッドに相談したのは、元々当社がAWS請求代行サービスを利用していたのがきっかけです。クラスメソッドは私たちの実現したい要件を的確に理解し、外販ビジネスとして提供する背景までくみ取ったうえで最適な実現方法を示してくれました。そのため、迷うことなく採用を決めました」(谷さん)
認証・認可、セキュリティ等に関するスポット的なアドバイスを実施
API開発に向けたコンサルティングの実施期間は、2023年1月から同年3月までの3カ月。クラスメソッドの支援は、アーキテクチャ設計に関するアドバイスというスポット的なものでした。AWS上でのAPI開発自体はAWSのベストプラクティスに沿って、インフォマティクスが構築しています。
クラスメソッドはAPIの設計段階において、Amazon Cognitoを用いた認証・認可の手法や、Amazon CloudFrontとAWS WAFを組み合わせた攻撃防御、Amazon GuardDutyによる脅威検知といったセキュリティ強化に関する具体的な方策を示しました。
「外部からセキュアにAPIアクセスするための構成や、外部の人がサービスを使いやすくする手法、最適な課金モデルの設計など、AWSでアーキテクチャ設計するうえでの注意点を細かく教えてもらいました。AWSのアーキテクチャ設計だけでなく、私たちの中にノウハウがなかったGitHub ActionsによるCI/CD環境の構築や、OAS(OpenAPI Specification)を使ったドキュメント作成などの提案ももらい、他のプロジェクトでも応用可能なベストプラクティスを習得できました」(上村さん)
同社とクラスメソッドのコミュニケーションはプロジェクト管理ツールのBacklogを使ってオンラインで実施し、テキストベースの情報交換のみで進められました。対面による打ち合わせはなかったものの、同社ではクラスメソッドの支援に対して短期間ながら濃密なコミュニケーションができたことを高く評価しています。
「Backlogによるサポートは時間の節約になり、効率的に進められました。クラスメソッドの提案はどれも的確で、気が付いたらプロジェクトが終わっていたという印象です。期間は短かったですがスピード感を持って多くの提案をもらい、想定以上に工数がかからずに費用対効果の高いプロジェクトとなりました」(上村さん)
AWS上へのAPI構築に関するノウハウを蓄積
コンサルティング期間終了後、同社はAWSにてAPIを開発しました。それらのAPIは内部評価を進めており、2025年度以降から本格的な外販に向けた本格的なAPI開発へ進む予定です。
「AWS上で稼働するAPIの開発を終えたところまでが、今回のプロジェクトの成果です。次の方向性については、発注先と相談しながら改めて検討を進めていきます」(加藤さん)
同社ではAWS上でのAPI開発に関するノウハウが確実に蓄積されたことにより、将来への道筋が見えてきました。
「エンジニアである私自身としては、外部に向けてセキュアにAPI公開するベストプラクティスを学べたのが成果です。今後、さまざまな案件でこのノウハウが活用できると期待しています」(上村さん)
「細かいですが、Amazon API Gatewayを活用したAPI開発においてREST API とHTTP APIのそれぞれのメリットを教えてもらい参考になりました」(加藤さん)
「プロジェクトを管理する立場としては、クラスメソッドとのパイプ構築が大きな成果です。今後、AWSを利用したシステム開発を進めるときにも、相談できる窓口があるのは非常に心強いです」(谷さん)
AWS上の運用基盤とAPIを連携するプロジェクトが始動
同社では鉄道会社向けのシステム開発案件として、鉄道会社がAWS上で運用している基盤とAPIを連携するプロジェクトが立ち上がる予定で、そちらでもクラスメソッドの支援を期待しています。
「鉄道会社のポリシーにあわせたAWS環境を構築する中で、AWS関連の技術領域に関するノウハウがこれからも必要になると思います。具体的な方向性が見えた際には相談させてもらう予定です」(谷さん)
クラスメソッドはこれからもAWSに関するさまざまな知見をもって、インフォマティクスの企業活動を継続してサポートしてまいります。