マガジンのカバー画像

OPTEMOエンジニアブログ

31
エンジニアメンバーのブログをまとめています。
運営しているクリエイター

記事一覧

OpenID ConnectならGitHub Actionsでクレデンシャルを使わずにデプロイできる

こんにちは、すずきです。 セキュリティ強化を目指して、なるべくIAMユーザーの使用を最小限に抑えて、IAMロールで一時的な権限付与を行う手法を取り入れてきました。 ただ、GitHub Actionsのデプロイワークフローにおいては、AssumeRoleする際にIAMユーザーのクレデンシャル(アクセスキーとシークレットアクセスキー)が必要だと思っていて、以前その方法を採用しました。 しかし、よく調べてみたら、OpenID Connectを使うと、クレデンシャルを使わずにワ

スタートアップのエンジニアってマジでなんでもできるんだなと思った ~2023ふり返り~

こんにちは、すずきです。 M-1とSASUKEが終わるといよいよ年の瀬なんだなぁって感じっすね。 ここ一年、月イチペースでnoteの更新をやってきたんですが、技術まわりやAWS認定資格の投稿ばかりで、開発業務の内容、チーム運用、働き方など、弊社の組織に関する内容を全く投稿できていませんでした。 個人的な話なんですが、2023年はこれまで主にやっていたフロントエンドやAIまわりだけでなく、インフラ(AWS)や新しい言語(Golang)などのいろんな領域に挑戦できました。この

LangChainでLLMのリアルタイム応答を実装してみたよ

こんにちは、すずきです。 有人チャット機能のあるOPTEMOを普段開発している身として、AIによる無人チャットボットの知見ももっておいたほうがいいなぁとは常々思っていたので、ここ最近LangChainをいじっています。 ChatGPTでの業務効率化を“断念”──正答率94%でも「ごみ出し案内」をAIに託せなかったワケ 三豊市と松尾研の半年間という記事に、「返答のリアルタイム(ストリーミング)表示に切り替えられるようにした」という改善内容があったので、今回はこちらを試しに実

LambdaからRDSリードレプリカへの暗号化接続で起こったSSL証明書エラーの解決法

こんにちは、すずきです。 最近、アーキテクチャにRDSのリードレプリカを組み込む作業を行っているのですが、Lambda(NestJS)からRDS(リードレプリカ)へのSSL/TLS接続を設定する際、以下のエラーメッセージが表示されました。 Error: self-signed certificate in certificate chain 一瞬ハマったので、問題の原因と解決方法を備忘録として残します。 原因単純に、使用する証明書が不適切だったのが原因でした。 RD

AWS Session Managerによるローカル環境からRDSへの安全な接続方法

こんにちは、すずきです。 10年ぶりくらいに読んだ「狂四郎2030」、あらためて漫画史に残る名作だったわ…勢いで徳弘先生の他漫画も大人買いしてみたら全部当たり。中でも「もっこり半兵衛」はここ5年で読んだ漫画で一番おもしろかったよ。 はじめにこれまで、踏み台EC2を通じたSSHトンネルを利用してDB(RDS)に接続し、DBクライアントツール(MySQL Workbenchなど)の接続やローカル環境からのマイグレーション操作を行っていました。 踏み台EC2のセキュリティグルー

【悲報】AWS認定全冠(12冠)になったけど、Japan AWS All Certifications Engineersにはどうやら選ばれないみたい。

こんにちは、すずきです。 2023年2月に受け始めたMLSから7ヶ月、ようやくAWS認定全冠を達成しました。 どう考えてもオーバーワークだろ…みたいな学習ブログ(参考書を2, 3冊読んでから問題集を解きましょう、Black Beltの動画をできるだけみておきましょう、など)を信じず、問題集中心に勉強を進めた結果、効率よく全冠を達成できました。 私の経歴エンジニア歴4年目。AI研究とインフラ再設計・構築を主に担当しており、アプリケーション開発(フロントエンド、バックエンド)

AWS Certified Advanced Networking - Specialty(ANS-C01)は二度と受かる気がしない

こんにちは、すずきです。 9/16に「とにかく難しい」と評判のANS-C01を受けてきました。 なんとか一発で合格できたのですが、もう二度と受かる気がしません。問題自体が難しかったのはもちろん、問題文の日本語が難解すぎて読解が苦痛でたまりませんでした。これもう国語の試験だろ。 試験結果757/1000 (合格点750)でした。 他の試験では長くても120分かけずに見直しまで終わるのですが、今回の試験では160分かかりました。48問見直しをして、最後までよくわからなかった

AWS Certified DevOps Engineer - Professional(DOP-C02)は実務向け。PAS-C01の知識は今後使わなそう。

こんにちは、すずきです。 8/6にPAS-C01、8/18にDOP-C02を受けてきました。 もはや資格コレクターと揶揄されてもしょうがない感じなのですが、DOP-C02はここ2週間仕事で取り組んでいた内容(以下)にとても近かったので、実務と勉強の両輪で効率よく勉強することができました。 AWS Configによる非準拠ルールの設定 GuardDutyによる不正操作の検知 EventBridge+SNSによる検知と通知 CloudTrailのS3ログの削除保護 C

TerraformでVPCピアリングを実装してみたよ

こんにちは、すずきです。 最近、あるタスクを達成するために、VPC1内のプライベートサブネットに設置したLambdaアプリケーションを、同一VPC内のパブリックサブネットに存在するNAT Gatewayを介して、VPC2内のパブリックサブネットにあるALB(接続先はプライベートサブネットのECS)のパブリックURLを利用するように設定しました。 しかし、ALBへのトラフィックはLambdaからのものだけで、以下の非機能要求を満たすために、VPCピアリングを介したプライベー

AWS Certified Solutions Architect – Professional(SAP-C02)はWEB問題集だけ解けば普通に受かるよ

こんにちは、すずきです。 弊社内で私はAIエンジニアという肩書らしいのですが、最近インフラ周りを触る機会が多く、見事にAWS沼にハマっています。 知識確認のために毎月1つ以上認定試験を受けることにしており、今回はSAP-C02という少し難しそうな試験を受けてみることにしました。 これまで取得した認定資格(MLS, SCS, DBS, DAS, SOA, DVA)の記事もあるので、もし興味があればご覧ください(以下はDVAの記事)。 試験結果804/1000 (合格点7

GitHub Actionsでプルリク作成時にterraform planの結果を自動コメントさせてみたよ

こんにちは、すずきです。 都内の縦移動の不便さに20年以上怒りを感じ続けていたので、車買っちゃいました(買ったのはBIGなところじゃないよ)。 昔ドイツで参加した車体系の学会で、VWの発表が心に残っていたんですよね。発表していた(SPY×FAMILYのお父さんみたいにスタイリッシュな)VW技術者の思想がしっかりしていて、この人が設計している車に乗ってみたいな〜という感じでゴルフ(※車名)に手を出しちゃいました。これで毎日等々力渓谷に行けるね。 ところで、最近、アプリケー

いまさらだけどTerraformを導入してセキュリティグループの管理をコード化したよ

こんにちは、最近買った電気衣類乾燥機で人生観が変わったエンジニアのすずきです。 超楽だし衣類もフカフカ。なんで今まで買わなかったんだろう(家が狭くて置けなかった)。 ところで、最近「OPTEMO」のインフラ改修をコツコツと行っているんですが、結構手強いんですよね... セキュリティグループ(SG)だけでも見直し始めたら、一つのリソースに似たようなSGが複数アタッチされていたり...想像以上に時間がかかりました。 サービスが稼働するためだけであれば元の状態でも問題はないの

AWS Certified Developer - Associate(DVA-C02)は1週間で取れる。あと、ハイチのコーヒーにはブランデーをいれるらしい。

こんにちは、エンジニアのすずきです。 最近Code兄弟(CodeCommit, CodeDeploy, CodePipeline)を触ることが多いので、知識確認のためにDVAを受けてきました。 今回もテストセンターの土日予約が埋まっていたので、平日の午前中に試験を受けてきました。毎日9:00から働いているのですが、こういうときにフルフレックス制度の恩恵を受けることができています。 これまで取得した認定資格(MLS, SCS, DBS, DAS, SOA)の記事もあるので

超いまさらだけどバックエンド開発環境をDockerコンテナ化したよ

こんにちは、エンジニアのすずきです。 ローカル開発環境のコンテナ化…どの企業様でもされていると思うのですが、限られたエンジニア数で新機能開発に重きをおいた結果、弊社ではずっと先送りになっておりました… 先送りにした結果、dev環境とローカル環境で同じDB(RDS)を参照する状況となり、チーム開発に大きな支障をきたしてしまいました。 私は主にフロントエンドとAIまわりを担当しているため、Dockerについてはあまり詳しくなかったのですが、チーム開発の崩壊を防ぐために、以下