EKS on FargateでArgoWorkflowを利用したJob実行基盤の構築

遅ればせながらEKS on Fargateを使ってバッチ処理を行うことになったので検証を行いました。 通常、EKS上でジョブを実行する場合、Webサービス等の実行ノードと同じかもしくは分けてバッチジョブ用のノードを用意することになるかと思いますが、ノードを分け…

GuacamoleがSAML対応したのでOneloginと連携してみた

全国のGuacamoleファンの皆さん、2020/06/28にGuacamoleのバージョン1.2.0がリリースされました。バージョン1.2.0の主な特徴としてはSAML2.0がサポートがされたことが、個人的には一番嬉しい機能でした。2016年にSAML対応のissue登録されていたのでかなり対…

OneloginでRedashのSAML設定

前回に続いてOneloginネタになります。社内ツールとしてデータの可視化にRedashを使っていますので、今回はOneloginとRedashをSAML連携させてみました。 Redashの構築 まずはRedashを構築しましょう。Redash公式でAMIを用意してくれていますので今回はそれを…

OneloginとGuacamoleでSSO設定

最近社内のユーザー認証周りの整理を実施しており、その一環でIDPの導入を検討しています。現在Oneloginの動作検証を行っており、Guacamoleのユーザー認証をOneloginと連携してSSOできるか検証を行いました。 Gucamoleについて詳しく知りたい方は、以前書い…

Kubeviousでkubernetesの状態を確認する

Kubevious is 何? kubeviousとはkubernetestの設定をビジュアルに確認できるオープンソースソフトウェアです。これだけだと他にも似たようなツールはあるのですが、いくつか面白い機能があったので触ってみました。実際に動作するデモが用意されていますの…

Building Apache Guacamole with AWS Fargate and Aurora Serverless

AWS

Gucamole is very useful tool as Windows Bastion host.I'd like to introduce to build Apache Guacamole with AWS Fargate. I can build Gucamole with docker-compose, but I considered scale out If there are more increase RDP connections.So, I ha…

Apache Guacamoleを使ってWindowsServerにセキュアにログイン

諸事情により社内で複数担当者が共通ユーザーでWindowsServerにアクセスして実施している業務がありました。こうした運用はよくあるのではないでしょうか。当然ながら共通ユーザーでアクセスすることに問題があることは認識していますが、アクセスについては…

EKSクラスタのバージョンアップ手順

3/10にEKSでKubernetesのバージョン1.15のサポートが開始されたことに伴いバージョン1.12が5/11でサポート対象外となります。そのため、現在のバージョンが1.12の場合は速やかなアップデートが必要になります。Kubernetesについてはリリースサイクルが早く、…

sshuttleで簡易VPN的環境の構築

昨今のテレワークブームはいかがお過ごしでしょうか?突然の世の中の働き方の転換を迎え、特に社内システム担当の方は非常に大変な状況に見舞われているのではないかと思います。 ゼロトラストやBeyondCorpなど最先端の企業ではもはやVPNは使わないといった…

aws-google-authとdirenvを使ってEKSのクラスタ切り替えを安全に行う

EKS

みなさんEKSクラスタの切り替えはどうしてますか?kubectxを利用されている方は多いのではないでしょうか? kubectxは切り替えは非常に便利なのですが、逆に便利すぎてクラスタの選択を誤って冷や汗をかいたということはないでしょうか。 私自身は10程度のEK…

EKS構築メモ

EKS

Amazon EKSを触り始めて4ヶ月ほど経ちました。これまでの構築の経験を踏まえてハマった点やこうした方がいいなどの気づいた点や参考になったブログなど、あまりまとまった内容ではありませんがメモとしてまとめておきたいと思います。 VPCのCIDR設計 インス…

Terraformで配列をloopする時はfor_eachを使った方がいい

AWSのパラメータストアをTerraformで作成したのですが、for_eachを知らずにcountを使って作成したところ、追加や削除の際に色々と意図しない挙動になったので、回避策について備忘録を残しておきたいと思います。 環境 terraform(0.12.07) やりたかったこと …

EKSでEBSのReadIOが高騰した話

EKS

はじめに あるシステムのステージング環境を運用している中で、EKSクラスタのワーカーノードが頻繁にダウンするというか事象が発生しました。 色々な調査の末、なんとか解決できましたので発生の経緯と対応内容を書いておきたいと思います。 環境 EKS(1.14…

kubernetesのServiceを使ってプライベートサブネットのRDSに接続する方法

EKS

EKSとRDSを利用して構築している環境があるのですが、RDSについてはプライベートサブネットに配置しているため、DB接続するには踏み台サーバを置いてポートフォワードするなどの対応が必要になります。 この方法だと踏み台サーバが必要になるため、以下のよ…

EKSのPod起動数の制限

EKS

最近、いくつかEKSの環境構築を進めているなかで、EKSのPodの起動数の制限がネットワークとインスタンスタイプに依存することが分かりました。すでに知っている人も多いと思いますが、備忘録として残しておきたいと思います。 Podの起動数 通常、Podの起動を…

EKSにおけるSecurity Group変更の注意点

EKS

長くなるので結論を先に書きます。 EKSのノードインスタンスにおいてセキュリティグループを変更(アタッチ or デタッチ)する際は、ノードグループを更新しましょう。要するに手動での変更は止めましょうということです。ちなみにアタッチ済のセキュリティ…

Amazon CloudWatch SyntheticsでURL監視を設定

Amazon CloudWatch Syntheticsがプレビューされていましたので早速試してみました。 CloudWatch Syntheticsとは、サービスのエンドポイントやAPIのエンドポイントなどをモニタリングするサービスになります。DataDogでも同様のサービスがありますね。現時点…

CloudFormationでDataDogのIntegration設定

CloudFormationで以下のアップデートがありサードパーティ製品についてもCoudFormationで設定できるようになりました。 DataDogのIntegration設定などをCloudFormationで設定できるようなので、早速試してみました。 aws.amazon.com CloudFormationへDatadog…

Kubernetes Cluster on Raspberry Pi zero using Cluster Hat

Once I've read this blog(3日間クッキング【Kubernetes のラズペリーパイ包み “サイバーエージェント風”】), I wanted to deploy k8s cluster on Raspberry Pi. However, It's too expensive for me in this blog's way. Need three Raspberry Pi 3 Model B…

AWS Client VPN設定のハマりどころ

AWS Client VPNが東京リージョンでも使えるようになりましたね。 これでVPNサーバを立てる手間が減らせるので、費用面は考慮しつつうまく活用していきたいですね。 今回はClient VPNを検証した際に設定でわかりにくかった箇所があったので備忘録として残して…

CO2濃度計をRaspberry Pi Zeroで作ってみた

車の運転中にCO2濃度が高くなると集中力が落ち眠くなりやすくなるそうです。 そこで、車でCO2濃度が測定できるようにRaspberry Piを使って車載用にCO2濃度計を作ることにしました。 まだやりたいことが全部できたわけではないですが、個人的に使うには十分な…

AWS GlueでS3から差分データを取得する

日次処理などの定期処理でS3からデータを取得しparquet形式に変換やDBにLoadするといったケースについては、ETLする際によくあるのではないでしょうか? 上記のようなケースでは、ETL処理の際にS3から前日からの差分を取得する必要があります。Glueにおいて…

obnizで停電の復旧確認をしてみた

みなさん台風21号の影響はどうでしたでしょうか?今回は私の自宅も3日ほど停電になり結構困りました。 未だに停電から復旧していない地域もあるので早く復旧してほしいですね。 停電してはじめて分かるのですが、電気が生活の基礎を支えているということに改…

obnizをAWS Fargateから動かしてみた

obnizというIoTのコントロールボードが面白そうだったので早速購入してみました。 obnizの特徴としては、wifiと小型のディスプレイが内蔵されており、プログラムもWeb上からjavascriptで可能というかなりお手軽なガジェットです。 サンプルプログラムを動か…

AWS Glueのジョブ監視

先日、CloudWatch Eventを確認するとGlueも追加されていたのでジョブの監視をやってみました。 検証構成 CloudWatch EventでGlueのJobステータスがSucceededもしくはFailedになればSlackに通知しています。 現状、特定ジョブやイベント(Failedのみなど)の…

AWS GlueでAurora Serverlessを利用する

Aurora Serverlessが一般リリースされましたね。みなさん色々ブログを書かれていますので流行りにのってGlueからもAurora Serverlessを利用できるか検証してみました。 検証構成 今回は上記のような構成で、Auroraからデータ取得してS3に出力してみました。 …

ELBがある時・ない時

AWSにおいてELBは気軽に利用できるサービスになっていますが、意外と意識されていないのではないでしょうか?。ELBはロードバランサとしての役割だけでなくSSL証明書のターミネーションやアクセス状況など各種メトリクス確認できることのほかにEC2間を疎結合…

CodeBuildでDockerイメージのマルチステージビルド

Dockerでマルチステージビルドという機能を知ったので検証がてらCodeBuildで試してみました。 マルチステージビルドとは、例えばjavaアプリケーションにおいて、ビルドについてはjdkが入ったイメージを利用してビルドを行い、ビルドされたバイナリだけをjre…

PySparkでMySQLからのデータ取得&集計方法

MySQLに対してSQLでよくやるようなデータの取得や集計などをPySparkのDataFrameだとどうやるのか調べてみましたので、備忘録として残しておきたいと思います。 検証環境は以前紹介したDockerではじめるPySparkをベースにDockerで環境を構築しいます。 こうい…

CodeBuildのbuildspec.ymlで変数定義ができない

CodeBuildを利用していてbuildspec.ymlを書いていたなかで、環境変数ではなく変数定義して使いたいと思い試していたのですが、 どうもうまくいかずハマりましたので備忘録としてのことしておきたいと思います。 やりたかったこと buildspec.ymlのビルド手順…