SMARTCAMP Engineer Blog

スマートキャンプ株式会社(SMARTCAMP Co., Ltd.)のエンジニアブログです。業務で取り入れた新しい技術や試行錯誤を知見として共有していきます。

AWS

SAMでSlack botを作成しよう

AWS SAMとは Slack botをサーバーレスアプリケーションとして構築する理由 AWS SAMを用いたSlack botの作成 SAM CLI のセットアップ SAM CLIによるプロジェクトの初期化 Slack App の実装 SAM CLIでのビルド SAM CLIでのデプロイ Slack Appの設定 SAMを用い…

BERTとSageMakerによる検索アルゴリズムの実装とデプロイ例の紹介

概要 スマートキャンプでエンジニアをしている佐々木です。 本記事では、自然言語処理モデルを用いて新規サービスを作れないか試行錯誤した話をしようと思います。 今回は精度の良い検索はうまく実装できませんでしたが、機械学習モデルをインフラで動かす流…

サーバーレスな新ETL基盤で転送時間とコストを大幅削減した話

はじめに リプレイスの背景 旧ETL基盤の構成 課題感 転送時間 コスト 汎用性 新ETL基盤 構成 Step Function AWS Glue Job AWS Lambda 成果 転送時間 コスト 汎用性 まとめ はじめに こんにちは!スマートキャンプエンジニアの中田です。 直近で、BOXIL SaaS…

2年半で9個の資格を取ったエンジニアの勉強法とおすすめ資格

こんにちは。スマートキャンプでエンジニアをしている井上です。社内ではエースと呼ばれていますが、特にエースらしいことをしたわけではないです。 さて、突然ですが皆さんは資格取得に興味はおありでしょうか。周りに認められたい、資格取得奨励金が欲しい…

主力事業のインフラをEC2基盤からECS/Fargate基盤に完全移行した話

スマートキャンプ、エンジニアの入山です。 弊社のBOXILは、AWSを基盤としたRailsベースのアプリケーションです。 以前のブログでもECS移行におけるTipsを紹介しましたが、2020年10月頃よりEC2基盤からECS/Fargate基盤へのインフラ移行に取り組んでおり、202…

プロダクトのEKSを4バージョン一気にアップデートした話

スマートキャンプ、エンジニアの井上です。 現在私が開発しているBALES CLOUDのインフラ基盤はEKSが採用されています。 そのEKSのバージョンは1.15でサポートが2021年5月に切れてしまうので、EKSのアップデート作業を行いました。 今回の記事ではそのときの…

待望!Amazon ECSのコンテナにログインできるAmazon ECS Execを試してみた

スマートキャンプ、エンジニアの入山です。 前回のブログにも書きましたが、弊社では昨年末から既存のEC2からECS/Fargateへのインフラ移行作業を実施しています。 EC2からECSへ移行する上では、特に運用面が大きく変わります。利便性やメンバーへの教育コス…

AWS Fargateで動いているコンテナにログインしたくて Systems Manager の Session Manager を使ってみた話

こんにちは!スマートキャンプの21卒の内定者としてエンジニアインターンをしている関口です! 私はBOXIL開発チームに所属しており、現在BOXILのインフラ基盤をAWS EC2からAWS ECS/Fargateへ移行するプロジェクトを行っています。 この記事ではそのプロジェ…

SlackでChatOps!CodeDeployのBlue/Greenデプロイを操作する方法

スマートキャンプ、エンジニアの入山です。 昨年末から弊社BOXILでは、EC2からECS/Fargateへのインフラ移行作業を実施しています。 EC2運用からコンテナベースのECS運用への移行は、インフラの思想として異なる部分も多く、一筋縄ではいかないということを日…

AWS CDKとGitHub ActionsでLambdaで動くAPIをTypeScriptで作る

こんにちは、 https://boxil.jp を作っている徳田(haze_it_ac)です。 先月に今風?な構成のAPIを業務で作ったので、その紹介をしようと思います。 作るもの・要件 雑な図 外部のAPIを叩くためのアプリケーションです。 BOXILのAPIサーバから今回作るAPIを叩…

Docker ComposeのAmazon ECSデプロイを試してみた

スマートキャンプ、エンジニアの入山です。 2020年7月にDockerとAWSのコラボレーションにより、単一コマンドでDocker ComposeのyamlファイルからAmazon ECS上に各コンテナをデプロイできる機能追加が発表され、非常に注目を集めました! From Docker Straigh…

AWS CopilotでAmazon ECSの環境とCI/CDの超簡単構築を試してみた

スマートキャンプ、エンジニアの入山です。 突然ですが、みなさんはAmazon ECSを利用したことはありますか? コンテナで開発したアプリケーションをフルマネージドで運用してくれるECSですが、その環境構築を簡単に一括で行ってくれるサービスAWS Copilotが…

AWS Client VPNでSAML認証がサポートされたのでAWS SSOで認証してみた

ボクシルのプロダクトマネージャーをしている笹原です。 今年頭からエンジニアではなくプロダクトマネージャーに業務内容をシフトしています。 しかし、エンジニアブログは技術ネタを書こうかと思い、表題の件をサクッと試してみました。 AWS Client VPNとは…

KubernetesのSecretをKMSと連携して管理する

スマートキャンプの入山です。 Kubernetes(k8s)を運用されている方々は、Podに受け渡す機密情報をどうやって管理していますか? k8sでの機密情報の管理といえばSecretリソースが一般的ですが、Secretリソースを管理する上では以下のような課題に悩む方が多…

eksctlを使った簡単Amazon EKS環境構築

スマートキャンプのエンジニア入山です。 本記事はスマートキャンプ Advent Calendar 2019 - Qiita の13日目の記事です。 qiita.com スマートキャンプにおける新規プロダクトの基盤としてKubernetes(k8s)を導入してから、早いもので1年が経過しました。 …

私はAWS EC2のt2インスタンスを誤解していた - CPUクレジットとベースラインパフォーマンス、そしてT2 Unlimited

スマートキャンプエンジニアの今川です。 この記事はスマートキャンプ Advent Calendar 2019 - Qiita 10日目の記事です。 qiita.com 別のネタで書こうと思っていましたが、ちょうど昨日今日でAWS5年やってたのに誤解してた!という経験をしたのでそれについ…

AWS IoTとLambdaとDynamoDBでオフィス環境を可視化してみた

スマートキャンプエンジニアの今川(@ug23_)です。 10月中旬に、スマートキャンプのエンジニアチームで開発合宿にいってきました。合宿のテーマは、スマートキャンプのミッションテクノロジーで社会の非効率を無くすになぞらえて、テクノロジーでSMARTCAMPの…

Lambda@Edge活用例を紹介します - SPA編 -

スマートキャンプのエンジニア入山です。 皆さんは、AWS Lambdaを知っていますか?知らない方でもサーバーレスという単語は聞いたことがあるのではないでしょうか。 Lambdaはいままでプログラムを実行する上で必要不可欠だったサーバを用意(構築・運用)し…

AWS認定に合格するコツ教えます - 【ソリューションアーキテクト - アソシエイト】に合格してきました

スマートキャンプの今川です。 先日、AWS認定資格の ソリューションアーキテクト - アソシエイト を受けて無事合格してきました。今回は受験対策・受験を経ての感想や覚えておきたいことをまとめました。 AWSの認定資格をこれから取ろうとしている方、興味が…

AWS Client VPNがTokyoに来た! | 概要と固定IPの設定方法を解説

エンジニアの笹原です。 スマートキャンプ は6/24より新オフィスに移転するのですが、引越し日と入居日がずれることになり、6/1~21の3週間はリモートワーク期間となりました。弊社ではこの期間をリモートウィークと読んでいます。 代表の記事がこちらです。↓…

Ansible Playbookでユーザ管理(登録・削除)をまるっとやる

エンジニアの今川(@ug23_)です。 本番環境サーバのユーザ管理、みなさんはどうしていますか? みんなで同じユーザ・同じ鍵を使う 入社・退職時にはインフラ担当者がユーザ追加・削除する という感じのレガシーなやり方をしてしまいがちですよね。 全員で同じ…

SIerから転職して触れた7つのWeb技術 7つの世界

こんにちは、インフラエンジニアの入山です。 2018年10月のスマートキャンプ入社から、もう少しで6ヶ月になります。 前職はSIerで金融系インフラエンジニアを5年程しており、銀行システムの環境構築やテスト、システム管理、保守などを担当していました。 金…

TerraformをMFA & Assume Roleな環境でも実行 - aws-vaultでやってみた

今回はMFAをした上でAssume Roleする必要があるAWSアカウントでもTerraformを実行するために、aws-vaultを使った話をしようと思います!

負荷テストを定期実施するために必要な9つのポイント【後編】

メガリザードンYと同じ身長・体重なことに気づきました。スマートキャンプの今川です(@ug23_)。 前編 の記事ではGatlingを使った負荷テストなどについてソースコードを載せつつ説明しました。 tech.smartcamp.co.jp 後編ではどちらかというとプロセス的な部…

KubeadmでのKubernetesクラスタ構築

スマートキャンプでインフラエンジニアをしている入山です。 みなさんはKubernetes(k8s)を知っていますか? Kubernetesは知らなくても、Dockerを知っている、またはローカルでの開発でDockerを使っているエンジニアの方は多いのではないでしょうか? スマ…

TerraformとCircleCIによるAWSアカウント管理のコード化

この1月に普通自動二輪の免許を取得したので、早く暖かくなってツーリングに行きたいなとそわそわしている笹原です。 みなさんはAWSを使った開発をするときに、どうやってIAMユーザを管理してますか? 開発者に権限を与えすぎれば セキュリティリスクは高ま…