サイト内検索
サイト内検索を閉じる

決済ソリューションブランド“PAYCIERGE”の事例から見る、AWSの大規模活用における継続的なサービス向上の取り組みについて

決済ソリューションブランド“PAYCIERGE”の事例から見る、AWSの大規模活用における継続的なサービス向上の取り組みについて

1.はじめに

TISが強みとする決済領域で展開するソリューションブランド「PAYCIERGE(ペイシェルジュ)」ではアマゾン ウェブサービス(以下、AWS)を積極的に活用することで高い品質と高速なデリバリスピードを実現しています。更に、PAYCIERGEのサービス提供の中で獲得したAWSに関するノウハウを基礎として「高セキュリティクラウド基盤サービス」というPaaSレイヤの基盤サービスを外部のお客様にもAWSで構築したシステム環境を提供しています。

このサービスでは、クレジットカード業界のセキュリティ基準であるPCI DSSに準拠した高いセキュリティを担保した上で、サーバーレスなどクラウドネイティブな構成を積極採用することにより、AWSのメリットを最大化して提供することでお客様のDXの推進に寄与することを目的としています。
この基盤サービスをご提供するにあたって我々は、セキュリティや保守運用等の高度化に向けた取り組みを様々な角度から実施しており、それによって既存のお客様により良いサービスを提供するとともに、新規のお客様にとって魅力的なサービスとして選んでいただけることを目指し活動しています。

この記事では、PAYCIERGEの高セキュリティクラウド基盤サービスでAWSを大規模に活用する中で行っている継続的なサービス向上の取り組みを、具体的な例を用いて説明するとともに、それを可能にしている要因を解説することでAWSを効果的に活用するための情報をお伝えします。

2.PAYCIERGEのAWS活用における基本方針

PAYCIERGEのAWS環境には以下のような特徴があります。

①マルチアカウントで運用しており、現在本番環境・開発環境ともに数十ずつのAWSアカウントが存在する
②PAYCIERGEを構成する各種サービスや、高セキュリティクラウド基盤サービスをご利用頂いているお客様ごとに、AWS環境(AWSアカウント)を完全に分離していることから環境は日々拡大を続けている
③Webのフロント機能としての利用以外にAPI基盤としてや、モバイルアプリのバックエンド機能等多様な用途でご利用頂いている
④決済領域でも安心してご利用頂くために、PCI DSS準拠・ISO27017認証取得といった高いセキュリティレベルを実現している

これらの前提を踏まえて、PAYCIERGEでAWSを活用する際に以下のような考え方を重視しています。

  • 保守運用やセキュリティ対策については個々のAWS環境ごとではなく、環境全体を横断的に管理できる仕組みを整備し効率的に高い品質を実現する
  • マネージドサービスを活用することで、様々な利用用途に対して確実かつスピーディに対応を行う
  • AWSの進化に合わせて新機能・新サービスを積極的に活用する

1点目に関して、多数のAWS環境を保持するとその全体像を正しく把握することが困難になり、脆弱なセキュリティや余分なコスト流出を招く他、システムの正常な稼働の妨げとなるリスクが高まります。それに対して我々は、AWSサービスを組み合わせながら多くの独自の仕組みを整備して、環境全体を横断的に管理できる状態にすることで、AWSの環境がスケールしても運用体制をスケールさせることなく、適切な管理を行える状態にするということを志向して活動を行っています。

続いて2点目について、我々の提供する基盤上では決済を含む社会的影響の大きいシステムが多く稼働しており、セキュリティ・可用性・性能等複数の観点で高いレベルが求められます。これらを実現するために、もしオンプレミスと同様に仮想サーバを中心としたアーキテクチャを採用した場合、技術的なフィジビリティは担保しやすいものの環境の新規構築時及びサービスイン後のいずれにおいても多大なコストと労力を必要とします。
それに対してマネージドサービスを積極的に活用する場合には、高い品質を担保しつつスピーディに環境を構築し、サービスイン後のメンテナンスコストも抑制することが可能です。

最後の3点目について、AWSは日々進化を遂げており、例えばデータ加工やAIといった日々進化を遂げる分野に関してAWSのサービスを活用することで、お客様が我々のサービスに求める様々なニーズに柔軟に対応することができるようになると考えています。

3.サービス向上に向けた取り組み

我々がサービス向上に向けた取り組みを行うにあたっては、2章で記載したAWS活動の際の考え方をベースにして、AWSのマネージドサービスを活用しながら、大規模なAWS環境全体を高品質に管理できるように考えて実現しています。
具体的に我々が行ったサービス向上のための施策の代表的なものとして以下のものがあります。

▼表1. サービス向上に向けた取り組みの代表例

No 施策 概要
1 汎用IaCコードの整備 多数のAWS環境に対して類似の構成をスピーディかつ均質にデプロイするため、組織内で利用できる、予め多くの固定パラメータが設定された汎用的なIaCコード(AWS CloudFormationテンプレート)を約100種類のAWSリソース分整備。
2 AWS環境構築の自動化①:技術検証/PoC環境向け構築自動化 画面系システムやAPI向け基盤等で典型的に利用されるシステム構成12種類について、AWS Service Catalogを用いてアプリケーションの稼働に必要なAWSリソース群を約30分で一括デプロイする仕組みを実現。
構成や設定値を固定化することにより設計を行うことなく環境デプロイが可能となることで技術検証や期間限定PoCのシステムを非常に短期間で提供可能。
※詳細は別記事参照:https://www.tis.jp/special/platform_knowledge/cloud21/
3 AWS環境構築の自動化②:本番商用環境向け構築自動化 Microsoft Excel等に記載したシステム構成情報をもとにNo1で整備した汎用IaCコードへの反映を自動化することで柔軟な構成・設定とスピーディなデプロイを両立。
既存のIaCコードをそのまま利用できるため保守運用の品質を保った状態での自動化を実現。
4 セキュリティ・運用機能一括実装 TISではAWSを利用する上でセキュリティ上必ず有効にすべき設定をデフォルトで実施する「セキュリティプリセット」を全社のAWS環境で利用。
PAYCIERGEでは更にこれに加えて、PAYCIERGE標準として統一されたセキュリティや運用機能を実装するために、AWS環境の初期設定時に実行するCloudFormationテンプレートを整備。
その中でAmazon GuardDutyでの脅威検知時のアラート通知や、S3に対してパブリック公開設定がされた際のリアルタイム自動是正機能、AWS Budgetsを用いたAWS利用料の予算設定、SIEM利用のための初期設定など10種類の設定を一括で実施。
5 AWS利用料情報の一元管理と可視化 全てのAWS環境に対して日々のAWS利用料を一元的に管理し、更にAmazon QuickSightを用いて可視化。これにより組織全体としてのコスト管理と分析を行い、費用の適正化を実現。
6 運用の高度化

多数のAWS環境を対する効率的なシステム運用を実現するために以下の機能を全AWS環境で集約して実装

  • システム監視のアラート通知
  • 外形監視(Webシステムに対するURL監視)
  • AWS Certificate Manager(ACM)上の証明書期限管理

※2024/2現在ではAmazon CloudWatch Alarmをクロスアカウントで利用する機能が存在するが、我々がこの対応を行った際にはまだそういった機能が存在しておらず独自に実装。

7 SIEMの導入と活用 AWS環境全体のセキュリティ向上を実現すべく、SIEM on Amazon OpenSearch Serviceを導入。数十ある本番環境のデータを取り込み、一元的にセキュリティ状況を管理できる状態を実現し、効率的に高いセキュリティレベルを維持。
※詳細は別記事参照:https://www.tis.jp/special/platform_knowledge/cloud22/
8 本番環境構成情報の一元管理

本番環境の実際の設定内容や稼働状況を特定のAWS環境に集約。
実機情報をそのまま取得することでメンテナンス作業時のデグレ等の懸念を払しょくし、更に情報を集約することによってシステム障害など異常発生時の初動を迅速にすることで早期の障害復旧にも貢献。

【取得対象データ】

  • Amazon Cloudwatchメトリクス
  • AWS CloudFormationのテンプレート
  • AWS Step Functionsの定義
  • Amazon API Gatewayで稼働しているAPIのSwagger
  • (今後予定)AWS Lambdaのソースコード
  • (今後予定)Amazon Cloudwatchアラーム
9 Amazon S3の有効活用のための機能拡充

業務・運用問わず幅広い用途で利用するAmazon S3に関して、より有効に活用するために以下の機能を独自実装し業務の効率化を実現。

  • S3に格納されたファイルに対するキーワード検索機能
  • 複数ファイルの一括ダウンロード機能

これらの取り組みにより、システムの新規構築フェーズにおいては品質の高いAWS環境を早期に構築して、システム全体のデリバリスピードを迅速化することに寄与しています。さらに保守運用フェーズにおいては、セキュリティ対策や個々の保守運用作業を効率化・高度化することで、扱うシステムの数が増えてもそれに比例して運用体制をスケールさせることなく対応ができる状態となっています。

また、我々の取り組みの特徴的な点として、取り組みの都度3rd Partyの製品を購入するのではなく、活動に適したAWSサービスを選定・活用して仕組みを実現している点が挙げられます。その具体的な例として以下があります。

No3. インフラ構築自動化② 本番商用環境向け構築自動化の例:

▼インフラ構築自動化② システム全体構成イメージ

自動構築の機能は大きく4つに分かれておりそれぞれ以下の通りです。

①システム情報入力機能

AWS Amplifyを用いて独自Webアプリを構成し、そのアプリケーションの中で新規に構築したいシステムの基本的な構成情報を入力すると、情報がAmazon DynamoDBに格納されます。

②作成対象IaCコード抽出機能

Amazon DynamoDBに格納されたシステム情報をAWS Lambdaが取得し、その情報をインプットにAWS Step Functionsを実行します。
AWS Step Functionsのフローの中ではシステム情報をもとにして、どういったAWSサービスを使う必要があるか取捨選択を行い、その結果必要なAWSサービス群を構築するためのIaCコードの一覧をExcelファイルに出力します。この一覧はIaCコードを実行する順番に沿って出力を行います。

③IaCコード自動生成機能

担当者が各AWSサービスの設定情報を検討し、その内容を設定シートという形でExcelファイルに記述します。設定シートを所定のAmazon S3バケットに格納するとそれをトリガにAWS Step Functionsを実行します。フローの中で②の機能の結果出力された必要なIaCコード一覧をもとにして、それぞれのIaCコードの中に設定シートの具体的な値を設定します。IaCコードは多数(1システムあたり数十程度)のファイル群になりますので最終的にそれらを圧縮したうえで出力します。

④スタック自動作成機能

③の結果出力された必要なIaCコード群を②の結果出力された一覧の記載順に従って実行しAWS CloudFormationスタックをIaCコードの数だけ作成します。
上記の①~④について、有償の3rd Party製品は一切使わずAWSのマネージドサービスのみで構成することができています。

No5. AWS利用料情報の一元管理と可視化の例:

▼AWS利用料情報の一元管理 と可視化 システム全体構成イメージ

上記はAWS Step Functionsのフローの中でAmazon DynamoDBに格納している、我々の管理するAWSアカウントの情報(アカウント番号やシステム名等)を取得し、AWS Lambdaを用いて各AWSアカウントに対してクロスアカウントでコスト情報を取得し、そのデータをAmazon S3に格納、更にそのデータをAWS Glue DataBrewを用いて一部情報のマスキングや不要なデータの削除、文字列型から数値型への型変換等データ加工を実施したうえで改めてAmazon S3に格納して、Amazon Athenaを通してAmazon QuickSightを用いて可視化するという仕組みになっています。

なお、現在ではコスト情報の可視化に加えて、コストが意図せず急騰することを早期検知するため、各AWSアカウントの日次のAWS利用料について7日前(前週の同じ曜日)のAWS利用料と比較して閾値以上にコスト増加している場合に担当者へ通知を行うという仕組みも組み込んでいます。
このコスト可視化・異常検知の仕組みに関しても、そのすべての構成要素をAWSのマネージドサービスで完結することができています。

4.取り組みを通しての成果と成功のポイント

取り組みの成果

サービス向上の取り組みにおける成果として大きく以下2つの観点があります。

  1. サービス提供実績の増加
  2. 人材の高度化
1.サービス提供実績の増加

我々の高セキュリティクラウド基盤サービスのユースケースとしては直接他社様にご提供するケースと、弊社内でPAYCIERGEの一部として開発するサービス等に利用されるケースの2パターンが存在し、多くのシステムでご利用頂いております。
2020年にAWS上でのサービス提供を開始して以来、毎年ご提案の機会を頂く数・実際の案件数ともに順調に増加を続けています。

また、案件の内容としてサービス提供当初は、典型的な3階層モデルのWebシステムをAWS上で新規構築するというユースケースが多くありましたが、現在ではそういった構成に加えて、大規模なWebシステムをオンプレミスとハイブリッドで構成する案件や、決済サービスで利用するためのミッションクリティカルなシステムを東京・大阪のマルチリージョンで新規構築する案件など、難易度や非機能要求の高い案件についても多くご依頼頂き実現しています。
これらはサービス向上の取り組みを継続し、高い品質を安定してスピーディに提供できる状態になったことが寄与していると考えています。

2.人材の高度化

サービス向上の取り組みは人材育成の観点でも高い価値を発揮しています。サービス向上の取り組みを行う際には単純に目の前の課題を解決するだけでなく、今後我々が保持すべき知見を獲得するということも意識して実施しています。
例えば3章でご説明したAWS利用料情報の一元管理と可視化やSIEMの活用では“データの活用”をテーマとして考えており、データの生成から連携・加工・蓄積・活用といったデータ活用の全体の流れを実現しています。ここで得られた知見を活かして、現在では特定のシステムでAWSサービス(AWS Glue DataBrewやAmazon QuickSightなど)を用いて業務データを可視化・分析する取り組みに繋げる活動を行っています。

このようにサービス向上の取り組みにより新たな知見を獲得し、そのことでより直接的な形で高セキュリティクラウド基盤サービスをご利用されるユーザ様に対しての価値提供につなげることができています。4.1に記載したサービス提供実績の増加に関しても、得られた知見を活用することができているからこそ難易度の高い要求事項に適切に対応できるようになっているという側面があります。

高度人材の育成という観点では、AWS社からも評価を頂くことができており、2023 Japan AWS Top Engineers に我々の組織から2名、更に2023 Japan AWS Jr. Championsに1名で合計3名が選出頂いています。また、AWS認定資格においても2024年2月時点で取得可能な12種類すべての認定資格を取得しているメンバが5名在籍しており、それ以外にも多くのメンバがPROFESSIONAL、SPECIALTYといった高度な認定資格を複数取得しているなど、対外的に評価される人材を多く輩出できています。これらのことから、サービス向上の取り組みを経て人材育成を成功することができている、と言えるものと考えています。

※2023 Japan AWS Top Engineers について:https://aws.amazon.com/jp/blogs/psa/2023-japan-aws-top-engineers/
※2023 Japan AWS Jr. Championsについて:https://aws.amazon.com/jp/blogs/psa/2023-japan-aws-jr-champions/

成功のポイント

サービス向上の取り組みでビジネスの拡大と人材育成を実現することができたポイントには以下の要因があると考えています。

  1. AWSマネージドサービスを積極的に活用していること
  2. アーキテクチャをパターン化し再利用性を高めていること
  3. 最初から完璧を求めずスピーディに形を作っていること
  4. サービス向上の取り組みを実践的な育成の場と捉えて活動していること

1点目について、様々な仕組みをAWS上で実現するにあたりマネージドサービスを活用することで効率よく仕組みを開発できるとともに、今後別の場面でも活用したいAWSサービスについての知見を得ることもできて、それが新たな価値提供につながるという好循環を生み出してビジネスの拡大に貢献しています。

2点目について、我々が構築する仕組みの多くは3章に記載の通りAWS Step Functionsで全体をオーケストレーションして、そのフローの中では極力AWS Step Functionsの機能を用いてノーコードで実装を行いつつ、必要な箇所のみAWS Lambdaを用いて個別実装を行うというアーキテクチャを中心に利用しています。このアーキテクチャを我々にとってのデファクトスタンダードにすることで、以下のメリットを享受することができています。

  • ノーコードを中心にすることで新規参画者の早期戦力化が可能
  • コーディング量が減ったことでLambda関数が単機能化し、その結果Lambda関数の別の仕組みでの流用が容易
  • アーキテクチャ検討やそのアーキテクチャの中で利用するAWSサービスの検証等に時間をかけず速やかに進めることで、本来時間をかけて行う価値のある業務に注力することが可能

3点目について、我々がサービス向上施策を行う際には計画や準備に時間をかけすぎず、可能な限り早期に小規模でも良いので形を作ることを意識しています。実際に形を作って、それを試用することにより本来あるべき姿を明確にすることができることに加え、高頻度でアウトプットを続けることにより、そのサービス向上施策を担当するメンバとそこで出来上がった機能を使うメンバの双方がその活動の価値を実感できるようにするという目的もあります。なお、AWSが従量課金制であるという点もこの進め方を後押ししてくれています。製品を購入する場合、その製品の必要性を検討し見積取得・社内処理・発注処理を経てようやく利用開始することができますがAWSのサービス群で構成する場合にはそれらの手続きが不要で非常に短い期間でスピーディに開発することが可能になります。

最後4点目についてサービス向上に関する取り組みは失敗することのリスク許容度を高く捉えられるケースが多く、“とにかくチャレンジしてみる”ということを推奨しやすいという特徴があります。この特徴から、重厚な管理を行うことや過剰に上位者の承認を得るようなことは求めず、施策を担当するメンバ全員で目標を明確にしたら後は実際に手を動かして仕組みを開発し、作る中で問題が出た際には都度チームとして解決を図る・仕組みが6~7割出来上がったら試用して課題を明確にして改善する、という進め方を行っています。この進め方はメンバが主体的に取り組むことが重要となりますので、それが各自の成長意欲を高めることにつながっているのではないかと感じています。組織によっては開発や保守運用を行うメンバとSRE(Site Reliability Engineering)など改善のための取り組みを行うメンバを分離するケースもあるかと思いますが、我々の組織では開発・保守・運用を行うメンバとサービス向上に取り組むメンバを分離せず、全メンバがサービス向上のための取り組みに参加することが育成の観点でマッチしていると考えています。

5.まとめ

今回の記事では、PAYCIERGEにおいてAWSを大規模に活用する中で行っているサービス向上施策について、その内容と有効な施策にするために我々が重要と考えているポイントを解説しました。
サービス提供者として、継続してサービスの機能・品質を向上させることは、重要なポイントであると考えています。我々はAWSのマネージドサービスを活用しながら、主にセキュリティ機能や運用機能の向上、更に数年間をかけて自動構築に関する取り組みを推進してきました。この取り組みは我々が提供するサービスをよりよくするという目的を達成してきたことに加え、人材育成の観点でも効果のある活動にすることができています。
PAYCIERGEでは、AWSを用いた基盤サービスの提供に際して、お客様のニーズへの対応や新技術の採用などを継続しサービス向上を行うことで、お客様にとって魅力あるサービスを提供していきます。

著:PAYCIERGE基盤担当チーム
(TIS株式会社 ペイメントサービスユニット ペイメントプラットフォームサービス部 エキスパート 二出川 弘)

PAGE TOP

サービスに関する資料をご希望の方は、フォームに必要事項を入力いただき、ご送信ください。

資料を請求する

お問い合わせ
各種お問い合わせページ
お問い合わせフォーム
サービスに関するお問い合わせ
お電話
0800-600-9810
携帯電話
050-5816-9805
受付時間 9:00~12:00 13:00~17:00(土・日・祝日を除く)

更新日時:2024年4月18日 14時55分