AWS– tag –
-
PR TIMESのCDNをCloudFrontからFastlyに移行しました
こんにちは、インフラチームテックリードの櫻井です。 今回はプレスリリース配信サービスの prtimes.jp で使用しているCDNをCloudFrontからFastlyに移行したことについて紹介します。 CDNの基本的な情報は割愛するので、もしCDNについて基本的なことを知りたいという方はググるなりChatGPTるなりしてください。 【なぜ移行する必要があったのか】 まずCloudFrontからFastlyに移行した理由について説明します。 prtimes.jp のプレスリリース詳細ページは現在SmartyテンプレートとjQueryというレガシーな技術で構成... -
SendGridとAWSを使って、メールを送信するアプリケーションを作成しました
こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はSQS とLambdaを使って、AWS Fargate上で動作しているLaravelからメールを送信する基盤を作成したことについて書いていきます。 【なぜ作るのか】 2/21にPR TIMES Webクリッピングの正式版がリリースされました。 https://prtimes.jp/main/html/rd/p/000001256.000000112.html 正式版をリリースするにあたって、ユーザーにメールを送信したいという要件が生じました。PR TIMES WebクリッピングはFargate上にデプ... -
デジタル創作同好会traPさんと社内ISUCONイベントを開催しました
こんにちは、22新卒で、PR TIMES開発本部でバックエンド開発をしている宮崎です。 先日、デジタル創作同好会traPさんと、社内ISUCONイベントを開催しました。今回は、その準備で作成したLambda関数の紹介をします。 「ISUCON」は、LINE株式会社の商標または登録商標です。 【当日の様子】 会社にtraPの方々をお招きし、オフラインで行いました。traPからは20名以上参加いただきました。今回使用した問題はこちらです。 https://github.com/catatsuy/private-isu 最終的に30万点を超えたチームが2つあり、398,912点... -
Zero Downtime Migration from self-managed Elasticsearch to AWS OpenSearch at PR TIMES
Hello, I’m Duc, currently working on moving our on-premise Elasticsearch server to AWS OpenSearch Service. In this post, I will share how the old Elasticsearch server was replaced by a new one whose core is AWS OpenSearch Service. 【Introduction】 At the time I'm writing this blog, most of processes that require data from Elasticsearch have been replaced by the new AWS OpenSearch Service. But if we look back over the last few months, PR TIMES's search engine system was bas... -
CI/CDツールからS3へ静的ファイルをエクスポートするための設定
こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 皆さん、CI/CDツールを使用していますか? 筆者が開発を担当しているSTORYでは、GitHub ActionsやCodePipeline(CodeBuild、CodeDeploy)を使用して各環境にアプリケーションのコードをデプロイしています。今回はCI/CDツールからS3にファイルをエクスポートしたいという要件に対して実装した変更について述べていこうかと思います。 【背景】 本題の設定内容に入る前に、STORYの現状と今回の改修を入れるようにした... -
PR TIMESをオンプレミスからAWSに移行しました
こんにちは、開発本部インフラチームテックリードの櫻井です。 今回は2022年9月に行ったオンプレミスからAWSへの移行プロジェクトについて紹介したいと思います。 【オンプレ環境の抱えていた課題】 弊社の主力サービスである prtimes.jp はAWSなどのクラウドサービスではなく、自社サーバーをデータセンターに置くオンプレミスで運用してきました。 ほとんどのサーバーはVMware vShereを使って仮想サーバーとして構築されていましたが、データベース(PostgreSQL)だけは物理サーバーとして構築されていました。 こ... -
サムネイル画像をPDFの1ページ目から自動生成する
こんにちは!開発本部のレーホアントゥです。 先日PR TIMESがサムネイル画像をPDFの1ページ目から自動生成し、その画像が資料とガイドラインのサムネイルとして使用されるという新機能をリリースました。なので、今回PDFの1ページ目からサムネイル画像を作成する方法を紹介したいと思います。 【やりたいこと】 現在、プレスキットの編集画面ではロゴ、画像、資料などのプレスキットの素材となるファイルをアップロードできる機能があります。ロゴ、画像はそれぞれの画像ファイルを変換したサムネイルが表示され... -
CloudFrontのディストリビューションを分割して、マルチステージング環境をさらに便利にした話
こんにちは、普段PRTIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 以前ECSのマルチステージング環境を設計・実装した記事を書きました。 https://developers.prtimes.jp/2022/04/22/ecs-multistg-deploy/ こちらのマルチステージング環境をSTORYに導入したおかげで、開発フローのボトルネックが解消され、大きいプロジェクトが進行している期間にも小さな変更をステージング環境でQA→リリースできるようになりました。 ところが、こちらのプロジェクトを進行中に、実装したマルチステ... -
AWS Session Managerを使ってプライベートサブネット内のEC2インスタンスに接続する
こんにちは、開発本部インフラチームテックリードの櫻井です。 今回は先日導入したAWS Session Managerについて紹介します。 【AWS Session Managerとは】 AWS Session ManagerとはAWSのリソースを管理するための機能であるAWS Systems Manager(旧SSM)の中の機能の一部です。 Session Managerを使うとパブリックサブネット内に踏み台サーバーを構築したりユーザーごとに秘密鍵を作成したりセキュリティグループで22番ポートを解放したりすることなく、プライベートサブネット内のEC2インスタンスに対して安全に接... -
ゼロから始めるGo言語とAWS Lambdaを使って、サーバーレスアプリを作成する話
こんにちは、2021年の頭にPR TIMES に入社し、バックエンドエンジニアをしているベトナム国籍メンバーのズンです。 以前は主にPHP言語で開発をしていますが、入社してから様々なことを勉強になりました。その中でAWSは学んだことの1つです。 現在、PR TIMESではSalesforceが社内業務の一部に利用されています。社内の人間が手動で対応している業務が多くありましたが、ご利用企業が増加してきたため、手数がかかってきました。または、社内で情報が分散してしまっているのを集約することで、よりよい顧客サポート...
12