AWS– tag –
-
AWS CloudTrail ログを BigQuery 上で分析できるようにしました
インフラ
【はじめに】 こんにちは!PR TIMES第二開発部の加来安東です。 本記事では、AWS CloudTrail の監査ログを Google Cloud(BigQuery)上で分析できるように整備した事例についてご紹介します。 BigQuery Data Transfer Service(以下、DTS)による S3→BigQuery 転送と、スケジュールクエリによる整形処理をどのように組み合わせるかは、データ転送フローの設計上、重要なポイントとなります。 この記事は、次のような方に役立つ内容です。 Athena 上で CloudTrail を扱っており、Google Cloud への移行を検討してい... -
RDS の CPU 使用率上昇に対する原因調査と改善対応
開発
【はじめに】 こんにちは、バックエンドエンジニアの田中 湧大 (@Romira915)です。 近頃、PR TIMESのバックエンド基盤においてAmazon RDS for PostgreSQLのCPU使用率が継続的に上昇していることが観測されるようになりました。 以前は20%前後→現在は40%前後に上昇しており、ピークタイムには90%を超えてアラートが発報される状況も発生しています。 このまま放置した場合、以下のようなリスクが顕在化する恐れがあります。 API レスポンスの悪化によるユーザー体験の低下 重要なデータ操作失敗によるサービス全体... -
監査ログ検索が27倍高速化。BigQuery 移行でコスト削減と高速化を両立した BaseMachina のログ分析基盤
インフラ
こんにちは!PR TIMES ソフトウェアエンジニアの河瀨翔吾(@shogogg)です。現在はバックエンド開発を主に担当しています。好きな秋の味覚は秋刀魚ですが、今年はまだ食べられていません😢。 今回は BaseMachina(ベースマキナ)の監査ログを BigQuery 経由で参照できるようにした背景や試行錯誤した経験、具体的な手法についてお話しします! 【BaseMachina(ベースマキナ)とは】 BaseMachina は株式会社ベースマキナが開発・運営するローコード SaaS です。手間の掛かる管理画面の開発を少ないコードで実現でき... -
PR TIMESのOpenSearchをバージョンアップしました
開発
こんにちは。バックエンドエンジニアの筒井(@tsuttsun_wind)です。PR TIMESの検索は、OpenSearchに支えられています。今回、OpenSearchのバージョンを1.3から2.19に上げる対応を行いました。この記事では、経緯や移行方法、移行中に発覚した改善が必要な実装などを交えて紹介していきます。 【背景】 弊社のインフラは主にAWSを利用しています。 OpenSearchはAWSで展開されているOpenSearch Serviceを利用していて、バージョン1.3で運用していました。 最近、OpenSearch Serviceのドメインが一部EOLになることが... -
Amazon FSx for NetApp ONTAPで手動バックアップおよびリストアを行うTips
開発
こんにちは。バックエンドエンジニアの筒井(@tsuttsun_wind)です。 PR TIMESではファイルストレージとしてAmazon FSx for NetApp ONTAP(以降、FSx)を利用しています。 通常は自動バックアップを行っていますが、「特定のタイミングでバックアップをしたい」や、「過去のバックアップから必要なタイミングでリストアしたい」といったケースが生じます。 この記事では、FSx上での手動バックアップの実行やリストアを行う際の具体的な手順と運用上の注意点を紹介します。 【FSxのバックアップについて】 FSxでは、... -
PHPでAWS SDKのテストをMockする
開発
こんにちは。バックエンドエンジニアの筒井(@tsuttsun_wind)です。今回は、PHPでAWS SDKのテストをMockする方法について紹介します。 【背景】 現在、PR TIMESでアップロードされる画像はAWS S3(以降S3)に格納されています。 これまでに実装されたテストコードでは、開発環境のS3に直接接続しているため、不必要なデータ書き込みやコストが発生するという問題を抱えています。 AWSなどの外部環境に直接接続してテストすることは上記の問題で好ましくないことや、外部サービスがメンテナンスなどで停止している... -
C言語とCGIで大量のFAX送信作業を自動化した話
開発
こんにちは、PR TIMESの開発部インターンの三宅です。PR TIMESではFAXを用いてプレスリリースの発信を行うことができます。今回、私はこれまで手動で送っていたFAXをWindows環境のC言語のCGIプログラムを作成し自動送信できる仕組みを開発しました。その内容について紹介します。 【背景】 PR TIMESには、「プレスリリースのFAX配信」というオプションサービスが用意されています。通常はメディアリストとして選定した各メディアにメールでプレスリリースを配信しています。そこにオプションサービスを付加するこ... -
LibreChatをセルフホスティングして社内利用できるようにしました
開発
こんにちは、開発部でバックエンドエンジニアをしている田中 湧大(@Romira915)です。 今回は社内向けのAIチャットボットツールとしてOSSのLibreChatをセルフホストして公開したのでその紹介をします。 【LibreChatを新たにセルフホストした理由】 弊社では以前からOSSのchatbot-uiをCloud Runにセルフホストしていました。 https://developers.prtimes.com/2023/04/05/use-chatbot-ui/ しかしchatbot-uiはいくつかの課題がありました。 運用していたバージョン(ver1系)ではGPT-4oやGPT-4o miniなどの最新のモ... -
Fluentdプラグインの暴走でストレージが枯渇しかけた話
開発
こんにちは、インフラチームテックリードの櫻井です。 今回はFluentdプラグインの暴走によってサーバーのストレージが枯渇しかけた話について紹介したいと思います。 【アラート通知は突然に】 とある土曜日の夕方ごろ、1件のアラート通知がスマホに届きました。 “Filesystem % 90.19% > 90%” どうやら本番環境のバッチサーバーのストレージ使用率が90%を超えてしまったようです。 直近のストレージ使用量の推移を見てみると、朝の10時ごろからものすごいペースで増え続けており、あと30分ほどでストレージが枯... -
AWSとGo言語を活用して、プレスキット一括ダウンロードを構築しました
開発
こんにちは!開発本部のエンジニアのトゥ(codyzard)です。 今回は数ヶ月前にリリースされたプレスキット一括ダウンロードの機能を話したいと思います。 【背景】 2022年2月にプレスキット機能をリリースしました。興味があれば以下の記事を参考してください。 https://developers.prtimes.com/2022/03/09/react-presskit/ https://developers.prtimes.com/2022/03/04/upload-files-using-s3-and-lambda/ しかし、それまでのプレスキットでは1つ1つの素材しかダウンロードできませんでした。いくつも欲しい素材が...
