Tagbangers Blog

武史 清田

Keycloak と Spring Boot アプリケーションで OpenID Connect の Authorization Code Flow を確認する

はじめに 本日は、以下のようなシーケンスで OpenID Connect の Authorization Code Flow を確認していこうと思います。 開発済みのプロジェクトのいくつかで Keycloak,OpenID Connect, Spring Cloud Gateway が使われており順に理解していく必要を感じたため、今回は基本的な構成から学んでいきたいと思います。 UserInfo Endpoint(Spring Boot) および IdP(docker container として起動) のサンプルコードは以下のリポジトリに用意しました! https://github.com/k...

CloudWatch Logs のロググループ名を awscli で取得する

今回は小ネタです。 Elastic Beanstalk の検証作業をする中で、不要な Log groups が大量にできてしまったため、整理していました。 cli で消したくなったので、aws logs delete-log-group で削除しようとしたのですが、--log-group-name を指定するためにロググループ名を特定する必要があります。 logs のオプションを確認するも、ロググループ名の一覧の確認がなさそうだったので?  (あればそっと教えていただきたいです...) describe-log-groups と jq を使用して確認しました。 コマンド less に渡してざっ...

EKS クラスターのバージョンアップに失敗した(1.15 → 1.17)

はじめに Kubernetes はおよそ 3 か月ごとにリリースされており、各マイナーバージョンは最初にリリースされてから約 9 か月間サポートされます。 また、現在(2020/08/13) Amazon EKS で新しいクラスターで利用する際には以下のバージョンで作成できます。 1.17.6 1.16.8 1.15.11 AWSとしても、クラスターをタイムリーに更新することをお勧めしているのでバージョンアップしようと思います。 Kubernetes 1.16 にアップグレードにするための前提条件 を確認し特に問題なさそうなので、1.15 → 1.17 でバージョンアップします。(といっても飛...

awsp を使って awscli で使用する profile を手軽に切り替える

今日はコマンドラインでの作業効率をあげるための便利ツール、awsp の紹介です。 タグバンではこの頃、AWSのログイン方法を、AWS Single Sign-On に統一しました。 ログイン先としては、AWS Organizations で管理しているお客さんのアカウントや各社員に配布している検証用(sandbox)アカウントです。 管理者目線では、認証の有効期限の設定や、ユーザーの権限の制御を一元管理できて便利です。 一方で利用者目線としては SSO で認証後に、以下のような方法で複数のアカウントを切り替えて作業する際には手間に感じることもありました。 作業シェルごとに使用するアカウントの環...

Terraformで管理するリソースを手動で変更してしまった時の対処(terraform import)

本日は、Terraformを使っていて、tfstateと実際のリソースに差分が生じてしまった際の修正方法を紹介します。 稼働中で作り直しができないリソースなので、tfstateに手動で変更した状態を取り込むことにしました。 起きたことと、解決までの流れは以下のようになります。 terraform plan を実行すると予期せぬ差分(.tf に記述していない)が発生 Manegement Consoleと .tf ファイルを比較し、terraformで管理するリソースに手動で変更が加わっていることを特定 Management Console側のリソースを、 terraform import で ...

aws-auth(configmap)にSSOのrolearnを足す際の注意点!

今回は、EKSクラスターを操作する権限を付与する際に編集するConfigMapである、 aws-authの設定に関する注意点を共有したいと思います! 本題に入る前に、いくつか前提となる知識の説明です。 ※EKSのversion $ aws eks describe-cluster --name cluster-name --region ap-northeast-1 | jq '.cluster["version"]' -r 1.15 ConfigMapについて A ConfigMap is an API object used to store non-confidential data ...

Ansibleを使用したMacのセットアップ

はじめに 初めまして、2月3日からタグバンガーズで勤務することになりました清田です。 前職ではNW機器の運用保守をしたり、Ansibleでサーバを構築したりしていました。 初日から TerrformでECRの設定を書いたり minikube上でkubernetesを構築したり と、モダンな技術が実際に現場で使われていることに驚きが隠せませんでした。 今回の投稿では、入社した方の開発に必要なものを、Ansibleでインストールする手順 について説明をします! 開発者全員がMacを使用しているので、Ansibeの homebrew module を使用し、必要なものをインストールしています。 作業...