Google Workload Identity Federation... на ECS

Понад рік тому я писав про авторизацію з AWS до GCP. ЇЇ не так важко налаштувати та працює вона відмінно. Без жодного секрету, тільки з правильним файлом credentials.json. Але нещодавно дізнався, що є нюанс: не у всіх середовищах.

Всередині клієнту Google потрібні ключі доступу до AWS. (Щоб побудувати підпис — далі вони не йдуть.) В простому випадку код авторизації (ось на Go) шукає ключі в змінних оточення.

Якщо мовити про виконання в AWS, то ключі в оточенні знайдеш тільки в AWS Lambda. Тому що ключі ці завжди тимчасові. Та тільки Lambda теж настільки ефемерна, що її час існування не перебільшує терміну дії ключів.

А в інших місцях — на EC2 та на Fargate - є спеціальні HTTP API для отримання тимчасових ключів. Різні. Та клієнт Google вміє читати ключі тільки з EC2 Metadata API. Буквально — в їхній реалізації немає згадки про Fargate.

(До речі: намагався знайти офіційне посилання на документацію по цьому Fargate API, та знайшов тільки згадку в документації по SDK. Тобто технічно цей API... незадокументований? Таємний? Це багато пояснює.)

(Взагалі, а чому вони не використовують для цього AWS SDK, в якому вже реалізовані універсальні методи отримання ключів? Включаючи, звісно, читання з цього самого API? Політика?)

Отже, як вийти з цих обставин? Ну я знайшов дикий, але дієвий та універсальний спосіб: підробити EC2 Metadata API, а точніше, його частину, до якої звертається клієнт Google. На щастя, в credentials.json є посилання на той API, отже, його можна підмінити на наш власний. А власному залишається просто читати тимчасові ключі з Fargate API та віддавати за EC2 API - суть авторизації абсолютно не змінюється. Класичний патерн адаптера. (Але це не точно).

#AWS #GCP

Федеративна авторизація з AWS в GCP

Довелося мати справу з проєктом, де є компоненти в AWS та GCP. Наївне рішення в такому випадку — просто поділитися ключами доступу. Проте ключі можна …

Yesterday (Fri 23 May 2025) the temperature ranged from -0.8 to 17.9°C with 1.6mm rain. The wind gusted up to 20mph. Sunrise was at 04:47 hrs and sunset at 21:25 hrs.
#aws #weatherstation #weather
Fargateタスクを時間帯によって自動起動/停止させる方法 - Qiita

はじめにこれまでは、毎朝始業前にFargateタスクをAWSコンソールから起動し、就業後に停止していました。しかし、うっかり停止を忘れてしまい、無駄にAWSの料金が発生することも……。自動起動/…

Qiita

Stop Using AWS, by (not found on Mastodon or Bluesky):

https://sliplane.io/blog/you-dont-need-aws-to-build-something-great

#aws

Stop Using AWS.

Stop overengineering your infrastructure. Most successful indie projects started with simple setups - a single VPS, Docker, and a database. Learn why you probably don't need complex cloud architecture to build something people want.

With Github Codespaces, AWS Cloud9, Firebase Studio, Jetbrains Fleet, do you think VS Code, Visual Studio, Eclipse will one day just be cloud based or gone?

#vscode #FirebaseStudio #JetBrains #AWS #eclipse #VisualStudio

#AWS Te Cobrou a Menos por ANOS (mas agora tá vindo a fatura 💸) https://www.youtube.com/watch?v=Xhk6vO5XiOo
AWS Te Cobrou a Menos por ANOS (mas agora tá vindo a fatura 💸)

YouTube

⚡️ Azure API Management Adds Support for AWS Bedrock API

🏷️ #devdigest #azure #cloud #aws

https://devdigest.today/goto/4404

Azure updates | Microsoft Azure

Subscribe to Microsoft Azure today for service updates, all in one place. Check out the new Cloud Platform roadmap to see our latest product plans.

[アップデート] Amazon EC2のスケジュールイベントにおいてユーザー主導でreboot migrationが可能になりました
https://dev.classmethod.jp/articles/customer-initiated-reboot-migrations-ec2-scheduled-events/

#dev_classmethod #Amazon_EC2 #AWS

[アップデート] Amazon EC2のスケジュールイベントにおいてユーザー主導でreboot migrationが可能になりました | DevelopersIO

[アップデート] Amazon EC2のスケジュールイベントにおいてユーザー主導でreboot migrationが可能になりました | DevelopersIO