1クール続けるブログ

とりあえず1クール続けるソフトウェアエンジニアの備忘録

conftest学んで試してみた

記事一覧はこちら 要約 Conftestとは Open Policy Agentとは OPA Document Modelについて Rego Languageとは インストール方法 実行方法 Conftestが認識するルール ConftestでKubernetesのマニフェストをテストする Deploymentにポリシーを設定してみる 要約…

Grafanaのダッシュボードをgrafonnetを使って管理する

記事一覧はこちら 要約 jsonnetとは grafonnetとは jsonnet+grafonnet でダッシュボードを作成してみる 要約 Grafanaはすごくパワフルな可視化ツールですよね。 例えば、kuberntesやECSのクラスタ1つごとにダッシュボードを作成することも多いかと思います。…

EKSでのAWSユーザorロール認証の流れを追う

EKS

記事一覧はこちら 要約 EKSにおけるAuthentification(認証) aws-authの定義の仕方 要約 下記の記事で、k8s内のリソースからAWSのリソースを操作する時の権限のマッピングについて書いたけど、今回はIAMロールorユーザがk8sのリソースを操作する時の権限のマ…

EKSにおけるPodレベルでのIAMロール割当

記事一覧はこちら NodeレベルでのIAMロール割当しちゃってる… Kubernetesの中での権限制御 Kubernetesからawsリソースを操作する時の権限制御 ノード単位での権限制御 pod単位での権限制御 IAM Roles for Service Accounts OIDC (OpenID Connect) Service Ac…

mtail事始め

記事一覧はこちら mtail使っているけどちゃんと理解できていないかも… mtailについて 概要 入手方法 実行方法 メトリクスの公開先 mtailの設定DSL mtailのテスト 他にも色々機能がある… mtail使っているけどちゃんと理解できていないかも… という僕がmtailを…

mavenキャッシュをDockerコンテナに閉じ込めてビルド高速化を図る

最近、全く更新出来ていなかった。 もう少し一つ一つの記事を軽い気持ちで書いてみてもいいのかもしれない(個人ブログだし)。 記事一覧はこちら 概要 方法 概要 JenkinsやCodeBuildなど、Dockerデーモンを叩ける環境でMavenを使ったJavaアプリケーションの…

linux/amd64でlinux/arm64アーキテクチャのイメージをPullする

AWSでm6g/r6g/c6gとarmのCPUが乗った新世代のインスタンスタイプが続々とGAになりましたね。 自分の運用している環境でコストとパフォーマンスにどのくらいに改善が見られるのか楽しみですね。EKSのOptimized AMIのARM版はまだGAされていませんが、もしされ…

TerraformでGKEクラスタ構築

記事一覧はこちら 業務ではdeployment managerというGCPから公式が提供している、Google Cloudリソースの作成と管理を自動化するインフラストラクチャデプロイサービスを利用して、Kubernetesクラスターやノードプールの作成を行っています。 ですが、GCPの…

Accept-CharsetとContent-Typeの不一致でJerseyは404を返す

かなりハマってしまったので残しておきたいと思います。 とあるWebクライアントから通信を行った際に、ChromeやFirefoxなどのモダンブラウザではステータスコード 200 OK を返していたリクエストパスで、ステータスコード 404 NotFound を返す事象と遭遇しま…

Sassもさらっと学んだ

いつもはDockerやKubernetesとべったりなのですが、最近はWEBフロントエンド+サーバサイドの開発をやっています。 サーバサイドは新卒で入った会社から慣れ親しみがありましたが、その会社のクライアントサイドがWindowsのデスクトップアプリ(※)だったため…

画像はhtmlとcssのどちらで定義をすべきか

developer.mozilla.org 支援技術は背景画像を解析できません。画像がページの全体的な目的を理解する上で重要な情報を含んでいるのでいる場合は、文書上で意味を記述してください。 MDNのドキュメント内にある、cssのbackground-imageプロパティには上記のよ…

JSの履歴APIを使って同一ページ内での疑似遷移でもブラウザバックできるようにする

タイトルを付けるのが難しかった…未来の自分が見返したときにこれでピンとくるのだろうか? 例えば、下記のようなケースで同一ページでもユーザからするとページ遷移したかのように感じるということがあります。 Ajax通信でデータをフェッチし、既存のデータ…

JSをさらっと学んでみた

ちゃんと書いたことあるのが、GoとJava(とC#)だけの自分がJavaScriptを速習しました。というのも、業務で急に必要になってしまったからです。 以前少し触ったことがあるものの中途半端な状態で触るのも無責任と思い、下記を読んで、気をつけようと思った点…

apacheのmod_cacheでお手軽キャッシュ機構

ユースケース 下記のような条件下にあるが、どうしてもキャッシュを使ってみたい場合に、mod_cacheは有効なのではというお話。 Amazon CloudFrontやAkamaiなどのCDNが諸事情によって使えない場合 お金をこれ以上かけられない ログを特定のフォーマットで出力…

システム監視の基礎についてまとめてみる

今度、社内でシステムの監視について話す機会があるので、自分用にまとめてみました。 参考にした書籍は「入門監視」「Site Reliability Engineering」「k8sで実践するクラウドネイティブDevOps」です。 SRE Workbookの方も読んで後で追記したい。 監視の定…

【読書メモ】 k8sで実践するクラウドネイティブDevOps

読書メモ www.oreilly.co.jp ↑の書籍の自分用読書メモ 現在の知識からの差分もしくは知っていても整理できていなかった部分を中心に 途中、自分で調べた補足なども入っているので本の内容でない部分もあり chapterごとに気になった点 3つの革命 クラウドの創…

【AWS Re:Inventレポート】CON334-R1 - [REPEAT 1] Running high-security workloads on Amazon EKS

Running high-security workloads on Amazon EKS 5日目にして初めてセッションに参加しました。 セッション参加して思ったこととしては、まず前を取ることが重要だなと感じました。英語読むスピードはどうしても日本語より遅くなってしまうので、追いきれな…

【AWS Re:Inventレポート】CMP318-R1 - [REPEAT 1] Kubernetes on Spot Instances: Optimize for scale and cost

Kubernetes on Spot Instances: Optimize for scale and cost 今まで受けてきたKubernetes系のWorkshopはカテゴリがContainerでしたが、今回はComputeです。最終日はセッション1つだけなので、Workshopとしては最後になります。どうやらEKSでも使用しているW…

【AWS Re:Inventレポート】CON206-R2 - [REPEAT 2] Management and operations for Amazon EKS

Management and operations for Amazon EKS 朝はDr. Werner VogelsのKeynoteを開始から1時間位みてきました。Firecrackerはcontainerdをベアメタルサーバごとに共通化させていて、それもオープンソースとして開発しているなど、非常に面白かったです。Fargat…

【AWS Re:Inventレポート】CON208-R1 - [REPEAT 1] Build your microservices application on AWS Fargate

Build your microservices application on AWS Fargate Fargateの初心者向けセッションです。 選ぶときに興味のあるトピックであれば、レベル関係なく受けようと思っていたのが良くなかったです。このセッションが4日間で受けたWorkshopのどれよりも簡単で少…

【AWS Re:Inventレポート】DOP201-R2 - [REPEAT 2] DevOps essentials: Introductory workshop on CI/CD practices

DevOps essentials: Introductory workshop on CI/CD practices お米食べたい気持ちが最高潮に達してしまった3日目2つ目のワークショップです。 AWSのCodeシリーズを使ったWorkshopです。CodeBuild/CodeDeployは使ってみたほうがいいんだろうなとは昔から思…

【AWS Re:Inventレポート】AIM223-R4 - [NEW LAUNCH!] [REPEAT 4] AWS DeepComposer: Get started with generative AI

AWS DeepComposer: Get started with generative AI 火曜のKeynoteの後に見たら偶然予約できました。おそらく新セッションが出てくるタイミングでUnreservedされた座席があったのだと思います。Walk-Upの列はとんでもないことになっていました。 正直、機械…

【AWS Re:Inventレポート】HAC301-R1 - AWS GameDay: Main event countdown (PM)

AWS GameDay: Main event countdown (PM) 2日目の午後からは、GameDayに参加してきました。 午前中は何をしていたかというとAndy JessyのKeynoteを見てきました。プレゼンの合間に生バンドの演奏が挟まり、それぞれのトピックのトレンドを象徴するかのような…

【AWS Re:Inventレポート】CON209-R - [REPEAT] Using AWS App Mesh to monitor and control your first containerized app

Using AWS App Mesh to monitor and control your first containerized app 1日目としては3回目のWorkshopになります。Walk-Upで着いたのが30分前くらいだったのですが、すんなり入れました。Bellagioが会場だったのですが、セッションが少ない会場の一つだ…

【AWS Re:Inventレポート】CON203-R1 - [REPEAT 1] Getting started with Kubernetes on AWS

Getting started with Kubernetes on AWS 去年のWorkshopの資料を見たことがあったので、行くか迷ったんですが、1年経ってアップデートがあるかも…?であったり復習としてはちょうど良いのではないかという気持ちで参加いたしました。 資料を見る限りでも135…

【AWS Re:Inventレポート】SVS201-R - [REPEAT] Build a serverless web app for a theme park

SVS201-R - [REPEAT] Build a serverless web app for a theme park セッション会場(MGM)まで 初日の朝8時半に滞在先のTreasure Islandを出て、Mirageのシャトルバス乗り場に向かいました。 Mirageのシャトルバス乗り場は北口にあり、前日に行ったVenetianに…

AWS Summit 2019 Day2に参加してきました

幕張で開催されたAWS Summit2019にDay2から参加してきました!各セッションの感想を書いていきたいと思います。 セッションの他にもブース等回ろうと思っていましたが時間がなく、認定者ラウンジにちょっと立ち寄ったのみでした。ラウンジでは自撮りブースと…

AWSソリューションアーキテクト アソシエイトに合格したので試験の雰囲気や勉強方法について書きます

何番煎じかも分からない記事にはなってしまいますが、こういう人もいるぞという材料にしていただければ幸いです。 当日・結果 準備 自分のプロフィール 勉強方法 黒本を読む わからない箇所をBlackBeltやDevelopers.ioで確認する 模試を受けてみる 復習がて…

ローカル開発環境(apache/tomcat)をコンテナ化+SSL化

ローカルのapache+tomcatで動いているアプリケーションをdockerに乗っけてみました。 SSL込みで設定していきました。Docker for Macを使用しています。 成果物をこちらのリポジトリにあげておきます。 github.com Apache httpd.confの作成 鍵の作成 httpd-ss…

SpinnakerのPipeline Expressionsで他stageの情報を取ってくる

SpinnakerのPipeline Expressions KubernetesやAmazon ECSを絡めたCI/CDでは既にデファクト感のあるSpinnakerですが、日本語の記事が少ないのと公式ドキュメント自体も不足はしてないのですが若干物足りない部分があります。KubernetesのBlue/Green Deployを…