タグ

devopsに関するsh19910711のブックマーク (573)

  • 『Effective DevOps』読んだ: DevOpsという文化の作り方

    ✕✕即時性: コミュニケーションがどれだけ早く成立するかオーディエンスへの浸透度 : オーディエンスにメッセージを届けるためにどれくらい効果的か負担: そのコミュニケーションに参加するための必要な時間と労力コンテキスト: 特定のコミュニケーション方法で必要とされるコンテキストがどれくらいあるか構成の緻密さ: 伝えたいことがどれくらい緻密に構成されていなければいけないか優れたリーダーの条件周囲から最良のものを引き出す 自分自身や少数の「ロックスター」だけを重視してはならない。周りにいるすべてのひとたちから裁量のものを引き出せ優秀な組織とそうでない組織の違いはこの能力の有無で出るメンバー個人のビジョンと企業やチームのビジョンを一致させるように支援する規範たれ リーダーは自分が期待している行動の規範となるべきまわりのひとはリーダーの悪い行動も真似ることがあるので気をつけろクソの傘たれ 上層部から

    『Effective DevOps』読んだ: DevOpsという文化の作り方
    sh19910711
    sh19910711 2024/04/15
    "自動化しているからdevops、高度なツールを導入しているからdevopsとかそういったものではない / 質の高い実践: スキルを正しく使う + 惰性的な習慣を見直し、使うツールやテクニックなど自分のスタイルを開発する" 2019
  • trivyとGithub Actionsを使用しTerraform設定ファイルのセキュリティスキャンを実行する仕組みを作りました - コネヒト開発者ブログ

    この記事はコネヒトアドベントカレンダー21日目の記事です。 コネヒト Advent Calendar 2023って? コネヒトのエンジニアやデザイナーやPdMがお送りするアドベント カレンダーです。 コネヒトは「家族像」というテーマを取りまく様々な課題の解決を 目指す会社で、 ママの一歩を支えるアプリ「ママリ」などを 運営しています。 adventar.org はじめに コネヒトのプラットフォームグループでインフラ関連を担当している@yosshiです。 今年の7月に入社してから早いもので半年が経ちました。時が経つのは当に早いですね。 今回のブログでは、セキュリティスキャンツールであるtrivyを使って、自動的にIaC (Infrastructure as Code)スキャンを実行する仕組みを構築した話をしたいと思います。 弊社ではインフラ構成をTerraform利用して管理するようにして

    trivyとGithub Actionsを使用しTerraform設定ファイルのセキュリティスキャンを実行する仕組みを作りました - コネヒト開発者ブログ
    sh19910711
    sh19910711 2024/04/10
    "aquasecurity/trivy-action: trivy公式で用意しているGithub Actions用のツール / .trivyignoreというファイルをトップディレクトリに置くことで勝手に参照して検出対象から除外" 2023
  • ベストなCDK for Terraform(CDKTF)のディレクトリ構成を探る

    最近関わっているプロジェクトでは、大きなアプリケーションのリアーキテクチャを行っています。 そこではフルスクラッチでインフラの構成を書き直す機会がありました。 そのプロジェクトは社内では比較的複雑な構成になっていて、リアーキテクチャにあたっては、アプリケーション特有の事情により、考慮すべきポイントや難度が高いところがたくさんありました。 具体的には、複数のマイクロサービス間の協調性や独立性とそれに付随する認証/認可、クライアント証明書(mTLS認証)の管理、歴史的経緯による複雑性を正すためのawsアカウント移行などなど。 それらは別の機会で語る(or 同僚の誰かが語ってくれることに期待したい)として、この記事ではインフラをフルスクラッチで書き直すにあたって選択したCDKTFについて、紆余曲折を経つつも最終的に採用したディレクトリ構成について書きたいと思います。 タイトルには「ベストな」とあ

    ベストなCDK for Terraform(CDKTF)のディレクトリ構成を探る
    sh19910711
    sh19910711 2024/04/09
    "CDKTF: Terraformの見通しの良さ + プログラミング言語を記述できることによる再利用性 / AWS CDK: メリットは記述するコード量の少なさ + 一方でCloudFormationの内部で作られるリソースへの理解が求められ"
  • GitHub ActionsでZennの下書きをClaudeにレビューしてもらう

    はじめに GitHub ActionsとClaude APIを組み合わせて、Zennの下書きをChatGPTライクなAIモデルであるClaudeにレビューしてもらう仕組みを作ってみたので紹介します。 記事を書くときにPull Requestを作る 僕は普段Zennのリポジトリでは特にレビューしてもらったりということがないのですべてmainブランチで運用していましたが、PRでレビューしてもらうにあたって Pull Request を作るように変更しました。 mainブランチに比べてPR作ったりが面倒なので以下のスクリプトで記事の作成・PRを作成します。 #!/usr/bin/env bash set -eux # 記事名と記事slugを対話形式で入力させる read -p "記事名を入力してください: " title read -p "記事slugを入力してください: " slug # 記事

    GitHub ActionsでZennの下書きをClaudeにレビューしてもらう
    sh19910711
    sh19910711 2024/04/07
    "synchronizedだとdiffを投げるたびにレビューが飛んできてしまう + opened, ready_for_review, reopenedのタイミングでレビュー / machine readable なデータがほしいので json 形式の出力を指定し、assistant 側の { を指定しておくのがポイント"
  • Trivyによるクラウドインフラ設定のセキュリティ検査【インターン参加記】 | PSYENCE:MEDIA

    2023年10月23日 (月) から 12月8日 (金) にかけてRECRUIT Internship for Engineers, Data Specialists 2023に参加させていただいた櫛引淳之介です。インターン期間中は『スタディサプリENGLISH』のSREチームに配属され、社内ツール用インフラの構築や、インフラ開発環境のセキュリティに関するタスクに取り組みました。今回は、メインのタスクとして取り組んだインフラのセキュリティ検査ツールの導入について紹介します。 はじめに パブリッククラウドの設定不備は、セキュリティインシデントの原因となります。手作業による確認では見逃しが発生する可能性があるため、設定不備の検知自動化を進める動きがあります。 『スタディサプリENGLISH』ではインフラとしてAWSを使用しており、その設定にはソースコードによってインフラ構成を管理できるIaCツ

    Trivyによるクラウドインフラ設定のセキュリティ検査【インターン参加記】 | PSYENCE:MEDIA
    sh19910711
    sh19910711 2024/04/05
    "Trivy: TerraformとKubernetesの設定にセキュリティ上の不備がないか検査 + ポリシーの除外・追加がしやすい / TrivyにはCustom Policyという機能があり、Conftestと同じくRego言語を使ってポリシーを記述することができます" 2023
  • プラットフォームエンジニアリングとはモダンな標準化のこと - arclamp

    マイクロサービスによって起きた「標準化、死すべき」の揺り戻しとして、イマドキの標準化を実現するのがプラットフォームエンジニアリングなんだろうな、と思っています。JJUG CCC 2023 Fallで「アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ」という講演をするにあたり、今更ながらプラットフォームエンジニアリングについて整理をしてみました。 クラウドさえあればOpsチームはいらない? DevOps Topologiesに記載されているDevOps Anti-Typesでは、以下の8つのアンチタイプが記載されています。 A: Dev and Ops Silos B: DevOps Team Silo C: Dev Don't Need Ops D: DevOps as Tools Team E: Rebranded SysAdmin F: Ops Embedd

    プラットフォームエンジニアリングとはモダンな標準化のこと - arclamp
    sh19910711
    sh19910711 2024/04/04
    "システム運用を個別のチームだけでやり切るのは大変だし、運用に関わるツールや設定を個別に考える必要性もあまりない / SaaS: 使い始めるのは簡単だが、使いこなして効率を上げようと思うと、専門人材が必要" 2023
  • outage reportを書くときに気をつけていること - その手の平は尻もつかめるさ

    そうは言っても障害は起きるものです.で,障害が起きて,終息したあとの振り返りとして社内向けにoutage report (障害報告書的な?) のようなものを書くと思うのですが,記事ではそのときに気をつけていることについて書きたいと思います。 outage reportの目的 そもそもですが,outage reportを書く目的としては以下のような物があるのかなと思っています。 A: 障害が起きたという事実に関する周知 障害についてお客様からお問い合わせが来たりした時に正しい情報を届けられるようにするため B: 根原因の洗い出し 再発防止のため C: 障害検知フローの確認 障害に対する初動までにかかる時間を短くするため D: トポロジの形成 知見の醸成 似たような問題が起きたときに,outage reportに書いてある対処法を逆引き的に利用できるようにするため outage repor

    outage reportを書くときに気をつけていること - その手の平は尻もつかめるさ
    sh19910711
    sh19910711 2024/03/28
    "えてして「なんで俺が書かなきゃならんのだ……」みたいな罰当番的な感じにもなりがち / scrapboxを使っているので自然と複数人でoutage reportを書く感じになっており,ここらへんは上手くワークしている" 2019
  • バッチ処理のSLOをどう設計するか

    TechBrew in 東京 〜バッチ処理 最適化の取り組み〜 https://findy.connpass.com/event/312637/

    バッチ処理のSLOをどう設計するか
    sh19910711
    sh19910711 2024/03/27
    "バッチ処理が稼働しているということは、期待されている出力や変化、理想状態があるはず / バッチ処理に求められる信頼性: データの納期と品質 / 「実装」に対する検査から、「成果」に対する検査へ"
  • CodePipeline V2のQUEUEモードをCDKで作って検証してみた

    概要 CodePipeline V2が発表されて以降、色々な機能が追加されていっていますが、特にQUEUEモードというものが気になり、検証してみた、という記事になります。 検証してみようと思った日の夜にCDKでQUEUEモード(ExecutionMode)がリリースされてとても嬉しかったです。 CodePipeline V2とは 2023/10:CodePipeline V2が発表 この時点では主に以下の点がアナウンス 入力パラメータをパイプライン実行に動的に渡すことができる V1とV2では料金体系が異なる 2024/02:トリガーフィルターと新しいパイプライン実行モードをサポートすることを発表 トリガーフィルター 特定のディレクトに更新があった場合に実行する等の機能 新しいパイプライン実行モード Parallel Queued CDKでも光の速さで対応される AWS CDK v2.128

    CodePipeline V2のQUEUEモードをCDKで作って検証してみた
    sh19910711
    sh19910711 2024/03/13
    "CodePipeline V2: 入力パラメータをパイプライン実行に動的に渡すことができ / トリガーフィルター: 特定のディレクトリに更新があった場合に実行する等の機能 / Pull Requestトリガーの機能などについてもレビュー待ちの状態"
  • TerraformのStateやModuleに関する設計 - tom-256.log

    概要 名前付け 抽象度 インフラアーキテクチャ図 チーム 認証情報 変更(デプロイ)のライフサイクル DRYの誤用 コードの検索性 モジュール間の依存 アプリケーションレイヤーとの違い まとめ 概要 TerraformのStateやModuleに関する設計に関する考慮点をざっくり書く 名前付け ユビキタス言語とディレクトリ名や変数名を合わせて認知不可を下げる リソース名でなく役割・機能ベースのディレクトリ名にして認知不可を下げる プロダクトのコードネームはユビキタス言語なのでディレクトリ名にしても問題ない ModuleやStateのREADME.mdを書く https://github.com/terraform-docs/terraform-docs を使う うまく説明が書けない場合は設計に問題がある可能性がある チームメンバーが利用できるように考慮する いつどのようなときに使えばいいか

    TerraformのStateやModuleに関する設計 - tom-256.log
    sh19910711
    sh19910711 2024/02/25
    "リソース名でなく役割・機能ベースのディレクトリ名にして認知不可を下げる / README\.mdを書く: うまく説明が書けない場合は設計に問題がある / 抽象度が低いModuleを作らない(例:modules/s3など)"
  • IaC 提供の難しさ: API で宣言的な管理を実現できるか?という視点 - Diary of a Perpetual Student

    MackerelTerraform Provider を提供していて、監視ルールや通知チャンネル、ダッシュボードなどの設定が Terraform で記述・管理できるようになっています。 今回は Terraform Provider 提供者の目線から、サービスを IaC で管理できるように対応する難しさを紹介します。 公開 API で宣言的な管理を実現できるか? MackerelTerraform Provider は、内部的に公開 API を呼ぶことで設定の管理を実現しています。よって、公開 API を新たに増やしたり改修したりする場合には、IaC による宣言的な構成・設定管理を API を使って行えるかどうかを気にする必要があります。 具体例: ホワイトリストと、ホワイトリストに自動で追加するフラグの両方を IaC で管理する 例として、やや抽象的な表現にはなってしまいますが

    IaC 提供の難しさ: API で宣言的な管理を実現できるか?という視点 - Diary of a Perpetual Student
    sh19910711
    sh19910711 2024/02/21
    "Terraform Provider 提供者の目線から、サービスを IaC で管理できるように対応する難しさ / IaC を提供する場合、一般的な Web サービスとはまた違った視点でもどんな API にするか気を遣う必要がある" / 2023
  • 綱渡りバッチ脱出大作戦

    Beyond Engineering: The Future of Platforms @ AllDayDevOps, Oct 2023

    綱渡りバッチ脱出大作戦
    sh19910711
    sh19910711 2024/01/27
    "バッチジョブは画面を持たない / 成功時のログを読み続けたいひとはいない > 失敗したログが放置される / crond: 最高のジョブスケジューラ + 冗長化を考えると頭痛い / 動いているソースを読む力が安全を生む" / 2019
  • Terraform 1.7 から import ブロックで for_each が使えるようになった

    Terraform 1.7 がリリースされました 🎉 Terraform 1.7 also includes an enhancement for config-driven import: the ability to expand import blocks using for_each loops. import ブロックで for_each が使えるようになったとのことなので試してみます。

    Terraform 1.7 から import ブロックで for_each が使えるようになった
    sh19910711
    sh19910711 2024/01/18
    おお、モックも気になる / "Terraform 1.7 がリリースされました / ちなみに他にも Terraform 1.7 ではテストでモックが使えるようになったり removed ブロックが追加されたりと、様々な機能追加や改善が含まれています"
  • Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes

    昨今Infrastructure from Code (IfC)という概念をよく耳にします。先日もAWSのGregor Hohpeが関連する記事を書いていました。 architectelevator.com この記事では、Infrastructure from Codeとはなにか簡単に紹介し、具体的にどのようなツールがあるか網羅的にまとめます。 Infrastructure from Codeとはなにか Infrastructure from Code (IfC) とは、その名の通り、Infrastructure as Code (IaC) に関連する概念です。IaCとの根的な違いは、IaCは開発者がインフラを明示的に意識して構成を記述するのに対し、IfCでは開発者がインフラをできるだけ意識しないよう抽象化を試みていることです。これにより、差別化に繋がらない重労働ができる限り排除された高

    Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes
    sh19910711
    sh19910711 2023/11/08
    "インフラはアプリのコードから生成される、というのがfrom Codeの意味するところ / 抽象化により失われるものは往々にして柔軟性 / IaCを取って代わるというよりは、これもまた適材適所で使い分けるツールとなるでしょう"
  • CDKTFでconfig-driven importを試してみる | DevelopersIO

    CDKTF 0.19でconfig-driven importがサポートされたので、試してみました。 CDKTF 0.19 adds support for config-driven import and refactoring config-driven importとは Terraform 1.5で追加された機能です。 従来からTerraformでは、terraform importコマンドで既存リソースをTerraformの構成管理下に置くことができました。 しかし、このコマンドはリソースを1つずつインポートする必要がある・結果をプレビューすることができない等制限もありました。 config-driven importでは、importブロックを利用することで上記の制限をなくし、インポート操作をコードで定義できるようになりました。 import { # ID of the clou

    CDKTFでconfig-driven importを試してみる | DevelopersIO
    sh19910711
    sh19910711 2023/10/23
    "config-driven importでは、importブロックを利用することで上記の制限をなくし、インポート操作をコードで定義できるように / 今回のアップデートでCDKTFでもconfig-driven importがサポートされました (CDKTF 0.19)"
  • terraform importしてplan差分がない=環境が再現できているといつから錯覚していた? - Qiita

    はじめに 先日、Terraform v1.5.0がリリースされました v1.5の目玉はなんと言っても import ブロックと terraform plan -generate-config-out によるtfファイルの生成ですよね〜。これで既存のリソースもimportし放題だと巷で話題です。 ところで、Terraformの特徴として、「インフラをコード化することで環境が再現できる」などと一般的に謳われています。また、Terraformには「既存リソースをimportする機能」があります。別にそれぞれ単独では間違ってはないのですが、これらを組み合わせて、「既存リソースをimportしてplan差分が出なければ元の環境を再現できる」と言えるのでしょうか? 残念ながら現実にはそうとも言い切れません。なんとなく経験上わかってる人もいるとは思いますが、意外と気づいてない人も多そうな気がしたので、ち

    terraform importしてplan差分がない=環境が再現できているといつから錯覚していた? - Qiita
    sh19910711
    sh19910711 2023/08/25
    "手で作ってしまったリソースは可能な限りimportしてカバレッジを上げたほうがよい / ただimportしてplan差分がないことを確認しただけでは、環境が完全に再現できるわけではないという限界も認識しておくべき"
  • Google Cloud のマネージド Terraform、 Infrastructure Manager 登場!

    こんにちは。クラウドエースの阿部です。 今回はひっそりと一般提供されていた Infrastructure Manager について紹介したいと思います。 Infrastructure Manager とは Infrastructure Manager (以降、Infra Manager と表記) は、 Google Cloud におけるリソースのデプロイや管理を IaC で自動化するためのマネージドサービスです。 内部では Terraform と Cloud Build を使用してリソースの管理を行っています。 Infra Manager の特徴 特徴としては以下の通りです。 GitHub 等と連携した CD (継続的デリバリ) の構築を簡単に実装できます。Cloud Build で同じ事をやる場合は、 cloudbuild.yaml で CI/CD パイプライン設定が必要です。また、ロー

    Google Cloud のマネージド Terraform、 Infrastructure Manager 登場!
    sh19910711
    sh19910711 2023/08/25
    "GitHub 等と連携した CD (継続的デリバリ) の構築を簡単に実装できます / state の保存先は利用者から見えない場所 + 実行ログを参照すると、自動的に http backend 設定を生成して、 state を保存しているようです"
  • Terraform 1.6 で追加されそうな terraform test コマンドを試してみる

    最近 Terraform 1.6 のアルファ版がリリースされています。 リリースノートを読んでみると terraform test なるコマンドが含まれているではありませんか! これは試してみるっきゃないと思い、ちょっとだけ触ってみました。 サンプルコード 今回紹介するサンプルコードは以下のリポジトリで管理しています。 terraform test コマンドを試してみる シンプルなテスト terraform_data リソースを使ってさっくりとシンプルなテストを書いてみます。 テストファイルの拡張子は *.tftest.hcl にする必要があります。

    Terraform 1.6 で追加されそうな terraform test コマンドを試してみる
    sh19910711
    sh19910711 2023/08/04
    terraform_data リソースも知らなかったな / "Terraform 1.6 のアルファ版がリリース / リリースノートを読んでみると terraform test なるコマンドが / 1.5 の HCL 生成に引き続き、 1.6 もアツいことになりそう"
  • Terraformの状態を可視化するツール、「Pluralith」を試す

    Pluralithとは? プラリスと読むみたいです。 Terraformの状態(state)を可視化するツールです。 こんな感じの図が自動で作成できたり、 コストやリソースの変更を可視化することができます。 GitHub ドキュメント 紹介動画 特徴 pluralith graphを実行するだけで構成図を自動作成可能 CIツールに組み込むことで、ドキュメント・構成図の作成を自動化 最新の変更をハイライトして見やすくする コストの可視化ができる(infracostが必要) リポジトリのREADMEを参照のこと 使ってみる Getting Startedに沿って使ってみましょう。 ※今回はRun Locallyで試しています。 インストール Download CLI手順に従います。 $ pluralith version _ |_)| _ _ |._|_|_ | ||_|| (_||| | |

    Terraformの状態を可視化するツール、「Pluralith」を試す
    sh19910711
    sh19910711 2023/07/12
    便利そう / "Pluralith: Terraformの状態(state)を可視化するツール / 最新の変更をハイライトして見やすくする / 意図しないリソースの追加、削除がこれを使うと減りそう / リソース数が多くなってくると分かりづらい"
  • Terraformのplan結果をChatGPTに説明してもらう機能をCI/CDに組み込んでみた! - Qiita

    背景 インフラエンジニア 「このterraformコードのPR、レビューお願いします。」 インフラエンジニア 「変更点はplan結果↓を見てください。」 An execution plan has been generated and is shown below. Resource actions are indicated with the following symbols: + create ~ update in-place - destroy -/+ destroy and then create replacement Terraform will perform the following actions: # aws_instance.example1 will be created + resource "aws_instance" "example1" { + ami

    Terraformのplan結果をChatGPTに説明してもらう機能をCI/CDに組み込んでみた! - Qiita
    sh19910711
    sh19910711 2023/07/12
    "変更点はplan結果↓を見てください / レビュアーがTerraformに精通していなくても、この機能により変更点を理解する手助け / レビューの際にChatGPTがどんなことを喋ってくれるのか少し楽しみになる、というメリットも"