とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

AWS

ECSでAWS FireLensを使ってみる

AWS

CloudWatch Logsにログを溜め込むのはコスト的に避けたいですよね。CloudWatch LogsにはS3にログをエクスポートする機能がるのですが、なぜか手動実行にしか対応していません。自動的にエクスポートするにはLambdaを定期実行するか、EventBridge Schedulerで…

Terraform実行対象のAWSアカウントを絞る

TerraformのAWSプロバイダーにはallowed_account_idsという設定項目があるのをご存知でしょうか?コードを実行する対象のAWSアカウントを絞れる設定です。 registry.terraform.io コードに直接IAMユーザーのクレデンシャルを書いておけば、環境の取り違えは…

SQSのローカル開発環境用として構築したElasticEQでデッドレターキューを使ってみよう

前回の記事でSQSのローカル開発環境用としてElasticMQを使ってみました。 今回はElasticMQでデッドレターキューについて学んでみましょう。 デッドレターキューとは デッドレターキューは、メッセージの処理に失敗した場合に、そのメッセージを別のキューに…

SQSのローカル環境用にElasticMQを動かしてみた

前回の記事でDev Containersを使ってGoの開発環境を構築しました。 今回はその続きで、SQSのローカル環境用にElasticMQを動かしてみます。 ElasticMQとは SQS互換のREST(クエリ)インターフェースを提供するメッセージキューシステムです。ElasticMQは、REST(…

AWSアクセスキーの使用を検出して通知する方法

AWS

セキュリティ上の理由から、AWSマネジメントコンソールへのログインイベントを、メールやSlackに通知することはよくありますよね。現在ではAWS User Notificationsを使えば、簡単に実現できます。 それとは別に、アクセスキーの使用を検出したいことってない…

AWS VaultでAWS CLIをセキュアに使う

AWS

AWS CLIは~/.aws/credentialsに平文でクレデンシャルを保存します。簡単にクレデンシャルが確認できてしまうのでコンピューターにロックをかけないまま離席してしまった日には漏れていてもおかしくありません。そこでクレデンシャルを暗号化しシステムのキー…

今さらながら、curlがAWSのSigV4に対応していることを知った話

AWS

AWSのLambda使ってますか? 便利ですよね。 ちょっとした機能をサーバーレスで実装できるLambdaですが、AWSの外部からWebhook的に関数をコールしようとすると、従来はAPI Gatewayを用意してあげる必要がありました。ところが最近では、Lambdaに関数URLという…

AWS CLIでアクティブなリソース一覧を取得

AWS

前回はAWSの料金を取得するコマンドを紹介しました。今回はアクティブなリソース一覧を取得する方法を紹介します。 AWS Resource Explorer docs.aws.amazon.com AWS Resource ExplorerはAWSリージョンを横断してAWSリソースを検索することができます。検索で…

AWS CLIでコストを取得

AWS

AWSのコスト気になりますよね、個人で運用している環境だと尚更。ただ、毎日AWSのコンソールにログインしてコストエクスプローラーを眺めるのもそれはそれで結構な負担になるので、AWS CLIでコストを取得して、確認しやすくしてみます。 aws ce コマンドから…

AWSのMFAが複数登録できるようになっていたので試してみた

AWS

IAMユーザーのMFAが複数登録できるようになっていたみたいですね、全然気づいていませんでした。 aws.amazon.com 最大で8個まで登録できるようです。普段使いにYubiKeyとバックアップのTOTPを2つくらい登録しておけば概ね困らなそうです。 さっそく設定して…

aws-auth ConfigMapを安全に更新する

AWS

新しい人が入ってきた時や、誰かが出ていく時など、EKSのaws-auth ConfigMapにIAMユーザーを足したり引いたりすることはよくあると思います。このConfigMap、構文が間違っていても保存できてしまうんですよね。エラーのまま保存してしまうと、そこで管理され…

kube2iamで403

先日、とあるプロジェクトで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…

EKS 1.21で有効になったBoundServiceAccountTokenVolumeの話

EKS 1.21というか、Kubernetes 1.21以降で有効になったBoundServiceAccountTokenVolumeについての話ですね。 docs.aws.amazon.com 簡単にいうと、Kubernetes 1.21以前ではトークンに有効期限がなかったのに対し、1.21以降は1時間の制限がつきますよっという…

eksctlとHelmでハマった

eksctlを使うとEKSにサービスアカウントを用意してくれます。これの何が嬉しいかというと、KubernetesのServiceAccountとIAMロールが紐づいてくれるので、kube2iamかkiamを使わなくてもKubernetesからAWSのリソースの操作ができるようになります、やったね☆ …

AWSプロファイルを環境変数で切り替える

AWS

AWS環境を操作する場合、省力化や自動化のためにawsコマンドをターミナルから叩くのは日常的ですよね。操作する環境がひとつだけであればよいのですが、テスト環境と本番環境でアカウントが分かれていたり、また複数のプロジェクトに参画している場合に問題…