さまざまなAIエージェントを網羅したリスト「Awesome AI Agents」がGitHubにて公開|CodeZine(コ.. E2BがAIエージェントのリストをGitHubで公開しました。オープンソースとクローズドソースをカテゴリ別に紹介しています。検索可能なWebリストも提供されており便利です。
こんにちは、カミナシでソフトウェアエンジニアをしている 佐藤 と申します。 弊社で開発・提供しているノンデスクワーカー向けプラットフォーム「カミナシ」(以降「カミナシレポート」や「弊社アプリケーション」と呼びます)において、Feature Flags の仕組みを整備し、デプロイとロールアウトの分離を加速させたことについてご紹介したいと思います。 登場する技術 Amazon Elastic Container Service (ECS) AWS AppConfig AWS AppConfig agent 前提知識 後半の「技術的な話」以降の部分は、以下の技術についても触れています。 Feature Flags、Feature Toggles AWS AppConfig Amazon Elastic Container Service (ECS) Terraform 「背景」や「解決策」といっ
SREチームの今です。 カヤックでは、クラウドリソースの管理にはTerraformを利用することが多いです。 クラウドリソースの構成や設定をコードで管理することで、リソースの変更内容の差分をレビューできる、意図しない設定変更を発見できるなどの利点があり、SREの目的であるサービスを安定して提供する上で重要な要素の一つです。 実際の作業として、既に運用中のサービスを新たにTerraform管理下に置く場合や、多くのリソースが既にweb consoleから作成されているものをTerraform管理下に追加する場合も多いと思います。 その際にはTerraform importをする必要があります。しかし、Terraform importは単純作業とはいえ時間と手間がかかり、優先順位を下げてついつい後回しにしてしまうことも多いのではないでしょうか。 今回は、手作業でTerraform import
この記事はクラウドワークス アドベントカレンダー6日目の記事です。 前日の記事は@bugfireのgithub-script は便利でした。GitHub Actionsでのちょっとした作業が捗りますね! SREチームの@kangaechuです。 気がつくと入社から2年が経ちました。2年前のAdvent Calendarでは ぴよぴよSREという記事を書くくらい何もわかっていませんでしたが、ようやく自分なりに動けるようになってきました。 この記事ではcrowdworks.jpのSREチームで、この2年間でどのようなことをやっていたのかを振り返ります。 SREチームの範囲は幅広く、いろいろなことをやっていました。今回はDocker化とTerraformの2つの取り組みについてご紹介します。 なんで1年じゃなく2年かって?去年はaws-vault についてのあれこれを書いたからだよ。 Docke
はじめに こんにちは。ソフトウェアエンジニアの@kenchan0130です。 AWS Lambdaは関数URLやAPI Gatewayのバックエンド、AWSサービスのイベントをトリガーとしたスクリプト実行など様々な用途で使用されます。 そのため、ユースケースによっては秘密情報を扱いたい場合があります。 この記事では、AWS LambdaでAPIキーなどの秘密情報を安全に扱う方法を解説します。 なお、Flatt SecurityではAWS・GCP・Azureのようなクラウドも対象に含めたセキュリティ診断サービスを提供しています。 是非下記のSmartHR様の事例をご覧ください。 推奨されない方法 秘密情報を安全に取り扱う方法を解説する前に、まずはワークロードによっては推奨されない方法があるため、その方法を2つ紹介します。 AWS Lambdaのソースコードに秘密情報をハードコード ソースコー
(これはMoT Advent Calender 2022の24日目です) データエンジニアの渡部徹太郎です。私の担当しているプロジェクトでは、Infra as CodeにTerraformではなくCDKというツールを使っているので、その話をします。 CDKの概要 CDKとはAWS専用のInfra as Codeツールです。正式名称AWS クラウド開発キット (AWS Cloud Development Kit)です。 CDKの特徴プログラミング言語でAWSのリソースを記述プログラミング言語はTypeScriptがメインだが、他にもJavaScript,Python,Java,C#でも記述できるAWSのリソースを表すクラスをNewすると、AWSのリソースができるイメージ実態はCloudFormationを吐き出してデプロイするツール。デプロイするとAWSのCloudFormationのSta
はじめに 必要に応じて検証環境の追加・削除などの管理をするのが面倒くさいので、PR作成時に検証環境を構築、PRマージ・クローズ時に検証環境を削除ができないか考えてみました。 今回の作成したGitHub Actions ワークフロー、Terraformなどはこちらのリポジトリにあります。 概要図 どのように実現したか 実現あたり、コンテナイメージのプッシュ、ECS サービスのデプロイはGitHub Actions、Terraformの実行はAWS CodeBuildで行うことにしました。 なぜTerraformの実行はCodeBuildを利用するようにしたかというと、CodeBuildはVPC内のリソース(今回の場合はAurora Serverless)にアクセスできるからです。 これによってアプリケーション、DBマイグレーション時に使用するMySQL ユーザーをTerraformで作成する
AWSマルチアカウント事例祭りとは、AWSを活用する複数社が集まりお話しする祭典です。株式会社リクルートの須藤氏からは基盤の権限設定からコスト配賦、リアルタイム監視まで、マルチアカウント管理に必要なことについて共有されました。 クラウドの恩恵をプロダクトに届けることをミッションに須藤悠氏(以下、須藤):では『「進化し続けるインフラ」のためのマルチアカウント管理』について発表いたします。私、須藤と申しまして、好きなAWSのサービスはFargateとOrganizationsです。ただOrganizationsは使い倒すっていうほど使いこなせてはいない状況です。 HashiCorpのプロダクトが好きでして、TerraformとかTerraform Enterpriseがとても好きです。あと猫とかピザが好きで、猫とピザの、(着ているTシャツを指し)このおもしろTシャツを着てたりします。 所属はリ
ECS の CI/CD を GitHub Actions、Code シリーズ、Terraform というおいしいものづくしで作ります。 ECS の CI/CD は定番ものですが、構築にはいろいろなパターンがあるので、そのあたりに悩みつつも楽しみながら作ってみましょう 構築の方針 考えるポイントとしては、アプリとインフラの境界をどうするかというところです。本記事の CI/CD ではアプリの範囲はアプリ側の GitHub リポジトリで扱えるところまでとし、インフラは「それ以外すべて」と考えました。 ここをどう考えるかは、以下の記事がとても参考になります。上の記事ではパターン3、下の記事ではパターン 3-3 に近しいものを採用しました。 ECS の CI/CD において、アプリとインフラが構築に混在するのであれば、GitHub Actions + Code シリーズはファーストチョイスと考えてよ
『詳解 Terraform 第3版』を翻訳しました 2023-11-21 『詳解 Terraform 第3版』という本が本日2023年11月21日、オライリー・ジャパンから出版されました。米O’Reillyから出版されている『Terraform: Up and Running, 3rd edition』を私が日本語訳したものです。この本は原著の初版が出版された頃からぜひ自分で翻訳したいと思っていたので、やっとここに至れて個人的にとても嬉しいです。 目次(詳細はオライリーのページへ) 第1章 なぜTerraformを使うのか 第2章 Terraformをはじめよう 第3章 Terraformステートを管理する 第4章 モジュールで再利用可能なインフラを作る 第5章 Terraformを使うためのヒントとコツ: ループ、条件分岐、デプロイ、その他のつまずきポイント 第6章 シークレットを管理す
プラットフォームチームの菅原です。 カンムのサービスで使われている各種アプリケーション(Goアプリ・管理アプリ・Redash等)では、データベースに接続する場合に一般的なパスワード認証を使っていることが多いです。 しかし、パスワード認証はパスワード漏洩のリスクやパスワード管理の手間があり、また要件によっては定期的なパスワードの変更も必要になってきます。 単純な方法で安全にパスワードをローテーションしようとすると、新しいDBユーザーを作成し、アプリケーションの接続ユーザーを変更し、さらに必要であれば元のDBユーザーのパスワードを変更して、接続ユーザーを元に戻す…などのオペレーションが必要になります。 そこで、AWS RDS(PostgreSQL)の「Secrets Managerによるマスターユーザーパスワードのパスワード管理」と「IAMデータベース認証」を利用してシステムから固定パスワード
はじめまして、2020年3月に中途入社したSREチームの @bayashiok です。 今回は入社後、Fargateでサーバレスバッチ基盤を構築した話を書いていきます。 目次 目次 経緯 Fargateを選んだ理由 1. リソースの見積もりがCPU/Memoryだけですむ 2.スケーリングを考えなくて良くなる 3. セキュリティレベルの向上につながり管理負荷が減る 現行システムで発生している問題点の解消 構成 FargateのトリガーとしてRundeckを採用 理由1: バッチ実行が行われる場所でログを見たかった 理由2: ジョブ失敗やSlack通知の仕組み、リトライ方法やジョブ連携などの作り込みを簡単にしたかった ecs-taskとの連携について デプロイ 1. wrapperコンテナのデプロイ 2. バッチのデプロイ Fargateタスク実行について 移行後の総括 よかった点 悪かった
はじめに アプリボット SREチームの一条です。 弊社ではAWSやGCPの構築にTerraformを利用しています。 IaC(Infrastructure as Code)には欠かせないTerraformですが、長らく運用していく中で様々な課題に直面し、その度に構成や運用ルールを更新していきました。 しかし、まだ完璧な構成ではないと思っています。 なぜなら、会社・プロジェクト独自の事情もありますが、他社の事例を参考にしても運用方法は様々で、これといった正解がないと感じているからです。 今回は弊社のAWSにおけるTerraformの構成を公開しますので、事例の一つとして参考にしていただければと思います。 また、事例を世の中に増やすために、この記事を読んでくださった皆様も、構成や運用ルールを公開・共有していただけますと幸いです。 構成紹介 前提 弊社では1プロジェクトに対して、1~N個のAWS
Terraformがバージョン1.0に到達、正式版に。AWSやAzure、VMwareなどマルチクラウド対応のプロビジョニングツール HashiCorpがオープンソースで開発しているマルチクラウド対応のプロビジョニングツール「Terraform」がバージョン1.0に到達し、正式版となりました。 Today we are announcing the GA release of #Terraform 1.0. This marks a major milestone for interoperability, ease of upgrades, and maintenance for your automation workflows for what has become a standard for cloud provisioning. #HashiConf https://t.co/
こんにちは。カミナシでソフトウェアエンジニアをしているaomanです。 私のエンジニアとしての経歴はカミナシが2社目で、前職も含めフロントエンドからバックエンドまで一通り開発はしていました。ですが、AWSなどインフラに関しては、アプリケーション開発時必要になったところを少し触ったりするくらいで、ガッツリと本格的に学んだことがありませんでした。 そんな私ですが、今回ECS Clusterの切り替え作業を先輩エンジニア監修の元一緒に行う機会をいただきました。どのようなことをしたのか、簡単にではありますがご紹介させて頂こうと思います! ざっくり概要 カミナシのサービスでは、APIサーバーの運用にAmazon ECS(on Fargate)を利用しています。また、APIサーバーコンテナの他にいくつかのコンテナが起動しています。以下がざっくりとした図になります。1つのTask定義があり、4つのコンテ
メルペイの Infrastructure as Code について、 HashiCorp Certified: Terraform Associate を受験した SRE に聞いてみた こんにちは。メルペイ Engineering Office チームの kiko です。先月、 HashiCorp Certified: Terraform Associate がリリースされましたね。早速 @tjun さん(メルペイ SRE, Engineering Manager )と @keke さん(メルペイ SRE )が受験していました。というわけで、今回はこのお二人に、試験の話とメルペイの Infrastructure as Code について聞いてみました。 サマリー メルペイでは、クラウドのリソースや Datadogのダッシュボードなど様々なことをTerraformでコード化して管理している
この記事は、6月から始まっている #LXベッテク月間 38日目の記事です。 前日の記事は@akino_1027さんの「複数プロダクトに散らばったデータ統合に苦労した話」でした。 tech.layerx.co.jp Oui。CTO室およびFintech事業部で色々やってる @ken5scal です。本記事はSlackの障害中に書いています。 突然ですが、皆さんは当社のイネーブル担当として入社した名村さん(執行役員)がスピーカーとして登場したエピソードを聞いていただけましたでしょうか Podcastエピソード -> LayerX NOW!:Apple Podcast内の#51 Suguruさんを迎えて、LayerXが目指す「縦で突き抜けて横でイネーブルメントしていく組織」【メンバー:suguru×mosa×y_matsuwitter】 入社ブログはこちら -> 名村卓がLayerXへ「自分の
「Terraformデプロイパイプラインを作るなら、どのツールが自分の組織にあっているのだろう?」 Terraformのデプロイパイプラインの実装方法は、選択肢が多くて迷ってしまいます。 この記事では、デプロイに使用できるツールをまとめてみました。 デプロイパイプラインのツール選定の参考になれば幸いです。 前提 Terraformは様々なリソースを管理することができますが、今回はAWSリソースをTerraformで管理する想定としています。 所々AWS固有の単語がでてきますが、ご了承ください。 なぜTerraformのデプロイパイプラインは必要なのか? デプロイフローをおさらいして、デプロイパイプラインなしの運用の課題を考えてみます。 Terraformのデプロイフロー Terraformで構成管理している場合、リソースの設定変更時は以下のようなフローで行うことが多いです。 コードの編集
はじめに 先日、Terraform v1.5.0がリリースされました v1.5の目玉はなんと言っても import ブロックと terraform plan -generate-config-out によるtfファイルの生成ですよね〜。これで既存のリソースもimportし放題だと巷で話題です。 ところで、Terraformの特徴として、「インフラをコード化することで環境が再現できる」などと一般的に謳われています。また、Terraformには「既存リソースをimportする機能」があります。別にそれぞれ単独では間違ってはないのですが、これらを組み合わせて、「既存リソースをimportしてplan差分が出なければ元の環境を再現できる」と言えるのでしょうか? 残念ながら現実にはそうとも言い切れません。なんとなく経験上わかってる人もいるとは思いますが、意外と気づいてない人も多そうな気がしたので、ち
HashiCorpのインフラ構成ツールであるTerraformをフォークしたオープンソースのプロジェクト「OpenTofu」が初めて正式版としてリリースされました。 The OpenTofu community is excited to announce the general availability of OpenTofu, the open source fork of Terraform, now a production-ready project under the Linux Foundation. Read the full announcement: https://t.co/KhJXz1Ge14#opensource #opentofu pic.twitter.com/miN1gj2ByE — The Linux Foundation (@linuxfoundatio
[アップデート]Terraform CloudがValutやAWS,Azure,Google Cloudに対してOIDCで動的なクレデンシャル生成に対応 「Terraform CloudもGithub ActionsみたいにOIDCを使ってAWS認証とかできたら最高だな」 と思ったことはありません? そんな方に朗報です。Terraform CloudがValutとクラウドプロパイダー(AWS,Azure,GCP)に対してOIDCで動的なクレデンシャル生成に対応しました。(beta版 2023/1/31時点 2023/4/9 GAになりました) Terraform Cloud Adds Dynamic Provider Credentials for Vault and Official Cloud Providers 今回はAWSでこのアップデートの内容を試してみました。 アップデート概要
In general, what do you need in order to communicate? A common language (for the two ends to understand) A way to address who you want to communicate with A Connection (so the content of the communication can reach the recipients) What is TCP/IP? A set of protocols that define how two or more devices can communicate with each other. To learn more about TCP/IP, read here What is Ethernet? Ethernet
今回は TerraformのAWS Providerの便利機能default tagsをご紹介します。 やりたいこと 一連のリソースに同じタグを付けてタグでリソース管理をしたい時、あると思います。よくあるのが同一アカウント内に複数環境(開発/テスト/本番など)のリソースを作成するとき。また、コスト配分タグという機能を使えば、タグごとにコストをグルーピングすることができ、こちらも非常に便利です。タグの活用パターンについては以下にまとまっていますのでご確認いただければと思います。 ただ、どうやって各リソースに同じタグを設定すれば良いでしょうか。各リソースを作成時に都度都度タグの定義をしていては、抜け漏れとかタイポが発生しそうですよね。 そこでdefault tags この機能を使えば、各リソースに散らばってしまうタグ付与の設定を一元化することができます。TerraformのAWS Provid
Saleshubでエンジニアをしております。 安田と申します。 今回はTerraCognitaというツールについて書いてみたいと思います。 AWSやGCPなどのクラウドサービスを利用されているエンジニアは多いと思います。 そしてこれらのサービスをWeb UI上で操作してアプリケーションのクラウド環境を構築している会社や個人も多いと思います。 Web UIで構築された環境。後で何やったかわからない その一方で今やクラウド環境はIaC(Infrastructure as code)で構築するのが当たり前でしょう!と言われたりします。実際、Web UIで構築された環境は、構築後時間が経つと「どうなってんだっけ、これ?」ってなったり、構築したメンバーが退職したりすると、引き継いだメンバーにとってトラップだらけのラビリンスになってしまったりします。 じゃあ、どうすればいいのか? これに答えてくれてい
はじめに さくらインターネット SRE室の久保です。 今日は「terraform (plan|apply) in GitHub Actions」というタイトルで発表させていただきます。 今日発表する内容は、画像で表すと上図のようになります。誰かがPull Requestを送ると、それをもとにGitHub Actionsを動かし、Terraformのplanやapplyを動かして、自動的にTerraform管理下にあるリソースを更新してくれる、そういう仕組みを作ったという話です。 terraform (plan|apply)を実行する際のポイント Terraformのplanとapplyを実行する際のポイントとして、まず各種秘匿情報、具体的にはAPIキーなどが必要になるので、実行結果をチーム内で共有してレビューするのが結構面倒です。何らかの方法でAPIキーを共有して使うにしても、あるいは各自
「Terraform Module Designs 思考の引き出しを増やすモジュール設計のヒント」がめちゃ良い 「Terraform Module Designs 思考の引き出しを増やすモジュール設計のヒント」という Speaker Deck のスライドを見ていた。 Terraform Module Designs - Speaker Deck Terraform という IaC ツールに関するスライドなのだが、この中で出てくる数々の言葉は、システム設計、プログラマの美徳、組織作りやプロジェクトマネジメント、仕事術などに通じる内容が豊富に含まれていたので、自分が特に感銘を受けたモノを以下に引用させていただく。 限りなくシンプルなデザインというのはなかなか教えられるものではなく、大方経験を重ねて覚えるものだ - Evan Priestley この「判断力」は、プログラマーにとって非常に重要な
日本CTO協会は「技術」を軸に規模や業種の異なる様々な人や組織が集まっているコミュニティです。会員は本社団の活動内容、調査テーマについて参加、提案し、他の技術者・技術組織とともに成長する機会が得られます。ご興味のある方は法人会員向け申し込みフォームからお問い合わせください。 複雑化する傾向のある開発の現場で最適なテクニックやツールを選べていますか? Infrastructure as Code (IaC)という言葉は、もはやソフトウェア・エンジニアリングに携わる人にとっては常識レベルに浸透してきていると言っても、過言ではないかもしれません。しかし実際のところ、どういう点に気をつけるべきなのか、具体策に悩んでいる人も多いのではないでしょうか?本記事ではコードとしてのインフラストラクチャ、そしてフィーチャートグルをどのように活用すればそれらのツール・テクニックの利点を生かせるのか、深掘っていき
こんにちは。技術部の池田です。 この記事では、Github Actions上に「強い」AWSの権限を渡すために以下のことを行います。 App Runnerでお手軽にGoogle ID Token 取得するためのWeb Applicationを動かす。 Web Applicationから取得できるGoogle ID Tokenを信頼するIAM RoleにAssumeRoleする。 AssumeRoleによって得られた一時的な強い権限で、強い権限を要求する作業(Deploy, Terraform Apply)をGithub Actionsで行う。 これにより、Github Actions上にAWSのアクセスキーを置かずに、ある程度安全な方法でAWS上での強い権限を要求する操作を実行できます。 そのため、例えばGithub Repositoryに不正アクセスされてしまったとしても、AWSの本番環
ブログメンバーの管理を構成管理ツールTerraformで行えるTerraform provider、Terraform Provider for HatenaBlog Membersを公開しました。 hatena/hatenablog-members | Terraform Registry Terraform Provider for HatenaBlog Membersを用いると、はてなブログのブログメンバーをコードで管理できます。 本機能は、ユーザーからのフィードバックを参考に、特に技術ブログの運営におけるブログメンバーの効率的な管理を支援するために開発いたしました。 ご意見いただきありがとうございました。ぜひご利用ください。 設定例 下記の例では id:hatenablog-tf-test の持つブログのブログメンバーを管理しています。詳しくはドキュメントをご覧ください。 prov
Terraform の CI/CD を改善する tfcmt というツールを紹介します。 ちなみに HashiTalks JP 2021 でも紹介しています。 執筆時点で最新バージョンは以下のとおりです。 tfcmt: v3.0.0 github-comment: v4.0.1 tfnotify: v0.7.0 tfcmt は terraform plan, apply の結果を GitHub の Pull Request (以下 PR) にコメントとして通知する CLI ツールです。 態々 CI のログを見にいかなくても PR のページで結果を確認でき、 なおかつ素のログに比べて非常に分かりやすいのが特徴です。 tfnotify の Fork ですが、互換性はありません。 自分にとって不要な機能(主に GitHub 以外への通知)を削る代わりに、様々な改善を入れています。 GitHub 以
PackerBuild and manage images as code
背景 これまで、 Ruby や Python のバージョンを切り替えるために anyenv を使っていた。 しかし anyenv ではいくつか困っていたことがあり、以前から気になっていた asdf というツールに移行することにした。 anyenv で困っていたこと tfenv のような例外に対応できない rbenv などと違って tfenv には init コマンドがない。そのため anyenv init 実行時にエラーが出てしまう anyenv で tfenv をインストールすることはできるが、この点が考慮されていないので自分でなんとかする必要がある anyenvでtfenvを使うときのエラーを抑止する - Qiita tfenv に限らず、今後こういった例外が他にも出てくるかもしれない init スクリプトが遅い 各 env の init コマンドを実行していくので、それなりに時間がか
こんにちは、BASE BANK 株式会社 Dev Division でエンジニアとしてインターンをしている前川です。 今回、Amazon Elasticsearch Service(以下、Amazon ES)による、ECS/Fargate で稼働するアプリケーションのログデータの解析基盤を新規で構築することになったので、構築するにあたって調査した内容や関連する内容、実際におこなった構築方法についていくつか紹介します。 今回の構築の簡単な全体構成図は次のようになります。 今回は、 ECS/Fargate のログを S3 にルーティングする Amazon ES にログをルーティングする VPC アクセスの Amazon ES を構築し、Kibana を外部からアクセスできるようにする の3つの手順にわけて、構築方法や関連する内容について紹介していきたいと思います。 なお、この記事で取り扱ってい
スタディスト開発ブログ Advent Calendar 2021の13日目の記事です。 こんにちは、SRE Unit の wind-up-bird です。以前、 Serverless Framework を移行しているお話を書きましたが、今回は移行シリーズ第2弾ということで、 Terraform Cloud を Terraform on GitHub Actions に移行したお話をお届けしたいと思います。 # 移行前の運用スタディストではこれまで Terraform Cloud の Team & Governance プランを契約していました。移行前の Terraform による開発の流れは、以下のとおりです。 Terraform Cloud 上で Workspace を作成し、Version control workflow を利用する。Workspace には環境変数として、 AWS
2024.11.26 技術記事 Terraform を活用した効率的な S3 バケット管理手法 [DeNA インフラ SRE] by Tatsuki Mutsuro #infrastructure #sre #aws #s3 #terraform #infra-quality #infra-delivery はじめに こんにちは。 IT 基盤部第四グループの無津呂です。 全世界向けゲームタイトルのインフラ運用を担当しています。 当グループでは、複数のゲームタイトルのインフラを開発環境・検証環境・本番環境にわたって管理しています。 AWS の S3 は、当グループが管理しているインフラリソースの 1 つです。 その S3 のバケットは、合計数百個になります。 当グループはこれまで、大量の S3 バケットをうまく管理できていませんでした。 Terraform を利用して IaC 化してはいたの
IaCでインフラを管理していると、構築手順書が不要になります。構築手順がコードで表現されているからです。では、一切のドキュメントが不要かというと、そんなことはありません。設定値の説明などは必要になるので、使い方のドキュメントは必要になります。 かんたんDevOpsではIaCツールとしてTerraformを使っているんですが、terraform-docsというツールを使うと、そこそこのドキュメントがツールによって生成できることがわかりました。っということで、さっそく使ってみます。 terraform-docs??? terraform-docs.io github.com Terraformモジュールからドキュメントを生成するツールです。使っているモジュールがどのバージョンに依存しているのか、Input/Outputに渡すべき値なんかはわざわざ手で修正していると面倒ですし、修正漏れの原因にな
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く