AWS
AWSのLambda使ってますか? 便利ですよね。 ちょっとした機能をサーバーレスで実装できるLambdaですが、AWSの外部からWebhook的に関数をコールしようとすると、従来はAPI Gatewayを用意してあげる必要がありました。ところが最近では、Lambdaに関数URLという…
私が関わっている案件ではK8s(っというかEKSやGKE)をよく使っています。K8sを使っていればArgoCDを使えるので、デプロイの仕組みをあまり意識する必要はありません。一方でAWS ECSで運用したい要望が出てくると自分でデプロイの仕組みを作る必要がでてくるの…
前回はAWSの料金を取得するコマンドを紹介しました。今回はアクティブなリソース一覧を取得する方法を紹介します。 AWS Resource Explorer docs.aws.amazon.com AWS Resource ExplorerはAWSリージョンを横断してAWSリソースを検索することができます。検索で…
AWSのコスト気になりますよね、個人で運用している環境だと尚更。ただ、毎日AWSのコンソールにログインしてコストエクスプローラーを眺めるのもそれはそれで結構な負担になるので、AWS CLIでコストを取得して、確認しやすくしてみます。 aws ce コマンドから…
最近ちょっとCircleCIを触ることがあって、久しぶりに設定していたらaws-cliというOrbsがOIDCに対応していました。よくよく見てみるともう1年くらい前に対応してたみたいなんですが、全然キャッチアップできておらず…。せっかくなので最近の設定を試してみま…
第12回 とことんDevOps勉強会で、デプロイまでのActionsがみたいという内容の質問をいただいていたので、実際にAWS EKSにデプロイするところまでのActionsを作成してみます。 devops-blog.virtualtech.jp CIOpsとGitOps (ざっくりと)CIの中からデプロイす…
GitHub ActionsとAWSをOIDCで接続する記事は以前に書きました。 devops-blog.virtualtech.jp この時は手で設定していたのですが、今回はTerraformを使って設定してみます。 今回つかうファイルの説明 コードはこちら github.com リポジトリの中身はこんな感…
スイッチロールの設定ってプロジェクトの開始時やJoinした時にやるくらいで、いつもどうやるんだっけ?となります。最近たまたまスイッチロールを使う機会があったんですが、今回も案の定忘れてしまっていたので、この機会にIaC化します。 スイッチロール ス…
1月30日にTerraform CloudでDynamic Provider Credentialsがパブリックベータで公開されました。 www.hashicorp.com Dynamic Provider Credentialsって何かと思ったら、Terraform CloudでOpenID Connect(OIDC)を使うための機能の名前みたいですね。要するにO…
Docker Desktopは普段使いのマシンでコンテナーでアプリケーションを実行することができるソフトウェアで、Dockerのサイトからダウンロードして使うことができます。 開発中のアプリケーションのテストとか、手元の環境でソフトウェアを動かしてみたい時に便…
IAMユーザーのMFAが複数登録できるようになっていたみたいですね、全然気づいていませんでした。 aws.amazon.com 最大で8個まで登録できるようです。普段使いにYubiKeyとバックアップのTOTPを2つくらい登録しておけば概ね困らなそうです。 さっそく設定して…
AWS EKSにArgo CDをインストールして、かんたんDevOps環境を作ってみます。 必要なもの AWSアカウント Route 53で管理されている実在するドメイン eksctl Helm kubectl argocd(CLI) AWSアカウントは事前に用意しておいてください。 eksctl、Helm、kubectl、a…
新しい人が入ってきた時や、誰かが出ていく時など、EKSのaws-auth ConfigMapにIAMユーザーを足したり引いたりすることはよくあると思います。このConfigMap、構文が間違っていても保存できてしまうんですよね。エラーのまま保存してしまうと、そこで管理され…
先日、とあるプロジェクトでkube2iamのログを見ていると、以下のようなログを発見しました。 kube2iam-XXXXX kube2iam time="2022-09-26T10:34:03Z" level=info msg="PUT /latest/api/token (403) took 2.837123 ms" req.method=PUT req.path=/latest/api/to…
GitHub ActionsがOpenID Connect(OIDC)をサポートしたのは結構前の話なんですが、未だ検証できていませんでした。社内でもSecretにクレデンシャル持つのはそろそろ辞めたいよねっという話が出ていますので、検証がてら記録を残しておきます。 ゴール GitHub …
EKS 1.21というか、Kubernetes 1.21以降で有効になったBoundServiceAccountTokenVolumeについての話ですね。 docs.aws.amazon.com 簡単にいうと、Kubernetes 1.21以前ではトークンに有効期限がなかったのに対し、1.21以降は1時間の制限がつきますよっという…
先日、うっかりTerraformのステート情報を壊してしまい、以前のステートへのリカバリが必要になりました。そのときはS3とDynamoDBを直接操作して戻したのですが、後から改めて調べてみると、もっと簡単な方法があったことがわかりました。検索してみてもズバ…
eksctlを使うとEKSにサービスアカウントを用意してくれます。これの何が嬉しいかというと、KubernetesのServiceAccountとIAMロールが紐づいてくれるので、kube2iamかkiamを使わなくてもKubernetesからAWSのリソースの操作ができるようになります、やったね☆ …
AWS環境を操作する場合、省力化や自動化のためにawsコマンドをターミナルから叩くのは日常的ですよね。操作する環境がひとつだけであればよいのですが、テスト環境と本番環境でアカウントが分かれていたり、また複数のプロジェクトに参画している場合に問題…