AWS に復帰した際、自分が退社した理由が改めて思い知らされました。

2026/05/09 17:37

AWS に復帰した際、自分が退社した理由が改めて思い知らされました。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

本テキストは、Amazon Web Services(AWS)との 15 年間の関係が信頼の低下によって終焉し、不可欠なビジネス用メールへのアクセスをブロックするアカウント凍結に至った決定的な終了について語るものである。数年来の提唱活動(初期の AWS イベントへの出席を含む)を経て著者は、支持者から批判者へと立場を変え、Python 2 から 3 への移行が遅延していること、6 年間非公式にクライアントライブラリが存在しなかったこと、DynamoDB のコストおよび設計上の懸念点(1 日あたりの高額な請求額を含む)、高価なエグレス手数料、データ移動料金の伴う複雑な課金慣行、過剰に複雑な IAM ルール、専門チームを必要とするサービスの高い複雑さ、ならびにパフォーマンスの低い Lambda という持続的な問題により動機付けられた。著者はまた、Elasticsearch や Redis、MongoDB などのオープンソースプロジェクトを、コミュニティの反対にもかかわらず OpenSearch、Valkey、DocumentDB に複製するという AWS の行為にも言及した。当初は Route 53、S3 のバックアップ、AWS Workmail を保持しながら大半のサービスから撤退したが、後に大規模な EC2 インスタンス上でベンチマークコードを実行し、AWS Bedrock で Claude をテストするために一時的に復帰した。最終的な決断は、異常な活動が AWS のアラート(「疑わしいセキュリティ侵害」に関するもの)をトリガーし、その結果アカウントが凍結され Workmail へのアクセスが停止かつリソースの作成がブロックされた際に生じた。プレミアムサポートではないサポートから 72 時間以上応答がなく、有益でないチャットガイダンスでは忍耐を促されたため、著者はデータ復旧または紛争解決を試みることは不可能であると結論づけ、以前コアツールの依存先であったにもかかわらず AWS から永久に離れることを誓った。

本文

AWS がまだ新しい時代、私が SQS や S3、EC2、SimpleDB といったサービスを擁護した最初の数人の一人でした。当時は規模もずっと小さかったですね。実は、米国から来た AWS の担当者がオーストラリア・メルボルンでプロモーション活動を行う際、私自身が集めたのが初回イベントです。クラウドコンピューティングはまさに驚くべき革命的な変化をもたらしました:突然、スタートアップ企業が自社のサーバーシステムを数分以内で稼働させられ、データセンターにシステムを設置・運用する必要がなくなったのです。これは画期的な転換点であり、私は AWS に完全に傾倒し、飲み干した後のグラスまで舐めるくらい夢中になりました。

その後も約 15 年にわたって、AWS を熱烈に支持するファンプールとしての立場を変えず、真の信仰者でした。しかし人間関係と同様、少しずつ信頼が揺らぎ始めました:最初は些細な数件のことが不満となり、全体としてまだ愛しているながらも、ここにもあればそこにもあるといった軽微な欠点が見えてくるのです。「でもね!それでも素晴らしいことだし、やっぱり大好きよね」と思えるはずです。しかし次第に、おかしいと感じることも増え、気に入らない点や不具合・問題点が顕在化してきます。そしてある日、最後のきっかけが訪れ、秤が傾き、一念で「もうこれ以上この関係には愛を抱けない」と気づいたのです。

その時間をかけて積み重なった不満のいくつかを挙げさせていただきます:

  • 存在から最初の 6 ム年間にわたり、AWS は自前のクライアントライブラリを開発せず、「素晴らしいコミュニティ」に任せておき、Python など様々な言語用のクライアントライブラリを実装してもらうことで、プログラマーが週末や夜を無償でソフトウェア開発に費やすことを大いに許容していました。これは私にとって非常に不満でした。
  • AWS が Python 2 から Python 3 への移行を行わないという非合理な期間を過ぎ続けていたことにも、私はとても不快に感じました。
  • DynamoDB:私が嫌いなソフトウェアはいくつもありますが、DynamoDB は特に。「ひどいゴミの山」ですとしか言えません。実際使用してみたところ、当日終盤には 75 ドルアメリカの請求額が残っていました。それはコストの問題だけではありません。あらゆる点で想像しうる最悪のシステムでした。
  • エグレス料金:1 GB あたり 20 セントのエグレス料金──おや?!この費用の高さをご存じでしょうか。そしてこれも徐々に下がり、現在では 9 セントとまで下がりましたが、それでもなお異常に高価です。AWS を利用している方で、1 GB あたり 9 セントのエグレス料金が頭の中にない方は、鏡を見て「お前こそがその共犯だ」と自問すべきでしょう。
  • 請求システム:驚くほど複雑で巧妙な請求体系で、自社システム内のデータ移動に対して課金されたり、二重課金・時には三重課金が行われたりする。請求に関する「足首にかかる落とし穴」や「トラップ」は至る所に存在し、避けるためには深い専門知識が不可欠です。
  • IAM:恐ろしく複雑な認証とアクセス管理ルール体系──これは地獄の第九層で焼かれる王座に座るルシファー自身が、AWS を使用する罪人に対する最も残酷な苦罰として設計したものに匹敵するものではありませんか。
  • 複雑性:IAM の複雑さを認識した後は、AWS 全体に遍在する複雑性をどうすることもできなくなりました。最も奇妙なのは、AWS の熱心な支持者たちが「自社でサーバーシステムを運用しきれないほど、Linux、ハードウェアネットワーク、セキュリティなどの複雑性は AWS に任せる必要がある」「自前で構築できないほど難しい」と主張していることです。彼らは AWS 内のほとんどすべての要素に存在する信じられないほど巨大な複雑性に目を見開いているのではなく、むしろそれ自体が極めて複雑であることを認識していません。AWS は異常に複雑であり、それを運用するには高価な専門家をチーム単位で雇わなければなりません。
  • AWS Lambda:はい、確かにその売り文句「スケール可能である!」にはまんざらでもなかったのですが、起動時間の遅さや莫大な開発の複雑性は無視してしまいました。自社ウェブサーバーと比較すると、AWS Lambda に本物の利点は存在せず、多くの欠点があります。最終的に AWS から撤退した際、最も困難だったのは AWS Lambda 関連の変更を取り消すことでした。ベンダーロックインは現実のものなのです。AWS Lambda を利用している限り、自らが「これが自前で運用するウェブサーバーよりも優れている」と信じ込む努力を続ける必要があります。「AWS Lambda の利用がひどい間違いではないと」自分を説得し続ける必要が生まれます。
  • オープンソースへの踏みつけ:Elasticsearch や Redis、MongoDB などのプロジェクトが複製・収益化を望まずにいても、AWS は OpenSearch、Valkey、DocumentDB を押し進め、それらのコミュニティや企業が市場を築いた後でホストサービスとしての収益を吸収しました。その結果、SSPL、Elastic License、RSAL、および他のソースアベイラブルモデルといった防衛的なライセンスが次々と登場しましたが、これは一般ユーザーを抑止するよりも、AWS がオープンソースインフラストラクチャから部品を取って顧客関係を所有することを阻止するためのものです。AWS は捕食者です。

AWS を憎む理由は他にも多数ありますが、私は AWS について考えること自体も好きではないので、朝日を暗くする理由をさらに挙げることは控えさせていただきます。人間関係はゆっくりと壊れていき、ある日突然「終わりである」と気づくのです──それが私が AWS への愛に襲われたプロセスでした。ある日、スイッチが切り替わり、ファンプールから憎悪者へと即座に変化しました。すべてを AWS から移転させ、アカウントのうち一つを残して残りの全てを停止しました。AWS に残したのは本当に必要なものだけでした:ドメインは Route53 に残し、バックアップの一部を S3 に残し、引き続き AWS Workmail を利用していました(先日通知があり、今後 12 ヶ月以内にサービスが終了すると告知されました)。

最近再び AWS に復帰しました。WHAT?!?!? WHY???(何のために?)と皆が問うかもしれません。リサーチ目的のためにいくつかのテストを行いたかったからです。入って出て見るだけでした。Claude/Anthropic が AWS Bedrock でどの程度機能するかを確かめたいと考えました(Claude Code では同じように動作しますが、遅く、Anthropic サブスクリプションに比べはるかに高価です)。また、私のコードを超高性能マシン上でベンチマークしたいと願いました:自宅にある最高性能マシンのスペックは 20 コア・32GB RAM ですが、192 コア・1TB RAM のマシン上でどれだけ速く動作するかを試したかったのです。

約一ヶ月前に AWS アカウントにログインし、AWS Bedrock でテストを行いました。問題はなかったはずです。テストを終え、すべてを停止しました。今後 AWS Bedrock を経由して Claude を使うことはしません。必要な場合はプライバシー面で優れた選択肢ですが、コストが高すぎます。最近またログインし、192 コアのマシン上で EC2 スポットインスタンスを起動し、3 時間ほどテストを行っていたところ、AWS から「アカウントのセキュリティ侵害が疑われる」というメールが届きました。AWS の深淵のどこかで、概して休止状態にあったアカウントが突然高価なコンピューターを使用し始めたため、何らかのセキュリティ警報が発火したのでしょう。彼らがそうする理由を理解できますし、それは良いことです:AWS はユーザーを守りたいと考えているからです。その姿勢に賛成します。しかし同時に、私のアカウントが停止・制限されました。

これで AWS Workmail(主要なビジネス用アカウント)は使用できなくなりました。誰もメールを送信できません。また、どんな AWS リソースも作成できず、試したいテストも行えません。サポートへの返信で「なぜアカウントが停止されたのか」「ハッキングされていないし問題もない」と伝え、「請求上の異常もありません」と説明しましたが、無視されました。プレミアムサポートを支払っていないため、彼らが応答するまで 24 時間待つしかありませんでした。3 日経過しましたが、AWS サポートからはまだ回答がありません。

そこで AWS フォーラムに投稿し、誰かが反応してくれるよう頼みました。ある人は「メールで指示されたことをまず実行してからチャット機能を試し、チャットの方が実際には応答される」と答えました。了解しました。パスワード変更、アクセストークンの破棄、請求確認などすべて完了させ、チャット待機時間を 30 分後にしたのちに AWS の担当者と長距離チャットを行いました。終了時の担当者様は満足そうに見え、「この件を内部で扱っている方々に任せてください」と言われました。それから 24 時間経ちましたが、8 時間後にもう一度問い合わせても「忍耐強く待ってください」としか返されませんでした。

こうしてアカウントが停止されてから 4 日目です。まだ大規模マシンでのテストを行いたい思いがありますが、「クォータの申請」が必要になり恐ろしくなっています。ビジネス用メールシステムも引き続き機能しておりません。私を AWS から去った理由と、この仕事を完了する必要があると改めて気づかされました:AWS Workmail を退去し、ドメインを Route53 から移転させ、二度と AWS に戻らないことです。

長年にわたり AWS から離れていくことを非常に喜びましたが、離れた後に信じていたメールシステムが再び障害を起こし、私を騙されたのは愚かで、一度でも騙されれば二度とは繰り返さないという言葉通りです。いつの日にかアカウントの停止を取り上げてほしいと願っています。

同じ日のほかのニュース

一覧に戻る →

2026/05/11 2:19

ローカル AI が標準となる必要があります。

## Japanese Translation: 開発者は、安定的なアプリケーションと厳格なプライバシーを確保するため、脆弱であるクラウドホスト型モデルよりも、Apple 製の組み込みローカル AI ツール(`SystemLanguageModel` および `LanguageModelSession` など)を優先すべきです。外部サーバーへの依存は、課金問題やサービス停止時にサービスがクラッシュするという致命的な障害点を生じさせると同時に、機密ユーザーデータを保持リスクおよび潜在的な侵害に晒すことになります。対照的に、データ処理を安全にデバイス上で実行することにより、不必要なサーバー経由の迂回とベンダー依存を排除し、アプリケーションを強固なものに保てます。「Brutalist Report」という iOS クライアントは、典型的なクラウドソリューションに見られる複雑なアカウント要件を回避するため、ネイティブ API を使用して完全にローカルで記事のサマリーを生成する優れた例です。長いコンテンツの場合には、テキストをチャンク化(約 10k 文字)し、各チャンクごとに事実のみを含むノートを作成した後、それらをローカルで統合して最終的なサマリーを生成する推奨ワークフローがあります。このワークフローの将来形としては、`@Generable` および `@Guide` といった Swift の構造体を使用し、構造化された AI 出力を強制して非構造化データのようなデータをそのまま受け取るのではなく、UI が一貫したフィールドを確実にレンダリングできるようにする方向性が考えられます。この変化により、ユーザーは情報がデバイスから離れることがないと信頼できるようになります。企業にとって、ローカルモデルの導入は、AI をコストが高く予測不能な外部依存体から、サマリー化や分類を効率的に行い、ユーザー所有データを扱いながらレート制限や停止時間への心配なしに運用可能な信頼性の高い低コストサブシステムへと変革させます。開発者は、クラウドモデルを真に必要な場合のみ使用し、ローカル AI をノベルティなチャットボックスではなく、予測可能で信頼できる動作を持つ subsystem として扱うべきです。

2026/05/11 10:23

手書きコーディングに戻ろうとしています。

## Japanese Translation: k10s(NVIDIA クラスター運用者向けの GPU 意識型 Kubernetes ダッシュボード)の構築から得られた主な教訓は、AI は機能の迅速な提供に優れている一方で、システムアーキテクチャにおいては頻繁に失敗し、倒壊しやすいコードベースを導き込む点にある。Go と Bubble Tea フレームワークを用いた「vibe-coded」アプローチで 30 週間週末にわたり開発を進めたチームは、7 ヶ月間で 234 コミットを実現したにもかかわらず、深刻な構造的欠陥が蓄積しており、最終的にこの作業の約 70% が破棄された。これには `model.go` に収められたコード行を約 1,690 行も含まれている。プロジェクトは以下の 5 つの批判的アーキテクチャ上の失敗に直面した:AI がシステム不変則を無視し(結果として散在する `nil` 代入が発生)、キーハンドリングが地獄のように困難になる「神オブジェクト」と単一構造体設計に依存した、GPU に焦点を当てた範囲を超えた機能の蔓延を引き起こす「速度の幻想」におびやかされた、構造化データを不安全な位置指定式配列へと平坦化したこと、そして goroutine から直接の状態変異を許容しチャンネルを用いなかったことを通じて状態遷移を誤って扱った。将来の失敗を防ぐため、このプロジェクトはシステムを Rust で再実装中である。この移行により厳密な所有ルールが強制され、コーディング前にアーキテクチャ(インタフェース、メッセージ型など)を明示的に設計することが求められ、AI の支援が長期的な構造的完全性を損なうのではなく支えるように確保される。 ## Text to translate: **Improved Summary:** The primary lesson from building k10s—a GPU-aware Kubernetes dashboard for NVIDIA cluster operators—is that while AI excels at rapid feature delivery, it frequently fails at system architecture, leading to a codebase prone to collapse. Using a "vibe-coded" approach with Go and the Bubble Tea framework over 30 weekends, the team accumulated deep structural flaws despite making 234 commits in seven months; ultimately, ~70% of this work was discarded, including approximately 1,690 lines of code in `model.go`. The project faced five critical architectural failures: AI ignored system invariants (leading to scattered `nil` assignments), defaulted to a "god object" single-struct design making key handling a nightmare, succumbed to the "velocity illusion" causing feature creep beyond the GPU focus, flattened structured data into unsafe positional arrays, and mishandled state transitions by allowing direct mutations from goroutines instead of using channels. To prevent future failure, the project is rewriting the system in Rust. This transition enforces strict ownership rules and requires designing architecture (interfaces, message types) explicitly before coding, ensuring AI assistance supports rather than undermines long-term structural integrity.

2026/05/11 2:43

インシデントレポート:CVE-2024-YIKES

## Japanese Translation: ソースコードのサプライチェーン攻撃は、`left-justify`(週ごとのダウンロード数が 8.47 億回)という侵害された JavaScript の依存関係に起因し、その結果、Python ツールの `snekpack` を介して数百万人の開発者に影響を及ぼしました。`snekpack` は、悪意のあるライブラリ `vulpine-lz4` を統合した後にマルウェアを配布しました。このインシデントは Day 1 に発生し、Google AI Overviews で提示されたフィッシングリンクに引っかかり、 maintainer の Marcus Chen が被害にあうことで始まり、複数パッケージレジストリ(`.npmrc`、`.pypirc`、Cargo、Gem の認証情報)の認証情報が漏洩し、引渡条約のない国にあるサーバーに到達しました。当初、「Critical」から「Catastrophic」と評価が変更されたものの、Day 3 に関連性の/crypto マining ウォーム (`cryptobro-9000`) が誤って脆弱なマシンを `snekpack` のアップグレードによってパッチ適用したため、「Somehow Fine」と宣言されました。 攻撃チェーンには以下が含まれていました: - 悪意のある `vulpine-lz4` ビルドスクリプトは、ホスト名がトリガー(例:"build"、"ci")に一致する場合マルウェアを実行しました。 - 不正なアップデートでは、reverse shells が Tue デイのみ有効になるように、そしてデフォルトシェルを `fish` に変更するなどの機能を追加されました。 - 企業大手(Fortune 500 社)はソーシャルメディアを通じて認識し、ある VP はマウイ島でこの事実に気づきました。 インシデントは Day 3 の 15:22 UTC に解決され、CVE-2024-YIKES は Week 6 に割り当てられ、ウォームによって約 420 万台の_MACHINE_ が救助された(ただしその C2 サーバーも侵害されていた)と推定されます。根本原因には、弱いレジストリ認証、AI 生成のフィッシングリンク、不十分な CI/CD の衛生管理があり、ユーモラスに「犬が Kubernetes を食べ、YubiKey が失われた」という形で表現されました。 是正措置には、`vulpine-lz4` のリファクタリング(Rust に書き直し)、アーティファクト署名の実装(2022 年第 3 四半期からバックログされていた)、強制的な MFA の導入、847 の推移的依存関係の監査が含まれます。このインシデントは、自動化されたビルドパイプラインにおける重要なギャップと、将来の攻撃を防止するための厳格な依存関係監査の必要性を示しています。

AWS に復帰した際、自分が退社した理由が改めて思い知らされました。 | そっか~ニュース