サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPad Air
dev.classmethod.jp
こんにちは。たかやまです。 いままでいくつものIaCツールをベースにAWS構成図作成する作図ツールがでているかと思います。 ただ、これらは独自ツールでユーザー側で編集できないものだったり、作成された構成図のエクスポート先がPDFやPNGだったりと、後から修正や更新がしにくいという課題があります。 私は普段draw.ioやCacooを使ってAWS構成図を作成しています。 日々新しい生成AIモデルが登場していますが、draw.ioはXML形式で構成図が定義されるため、生成AIでも扱いやすいのではないかと考えました。 実際に試してみたところ、想定以上に高品質なAWS構成図を作成してくれたので今回はそちらをご紹介します。 さきにまとめ CDKやCloudFormation、Terraformのコードから直接構成図を生成できる モデルはClaude 3.5 Sonnet以上がおすすめ Anthrop
いわさです。 先日 Service Screener の使用感を確認する機会があり、少し触ってみたのでこのツールについて紹介したいと思います。 Service Screener は、AWS 環境で自動チェックを実行し、推奨事項を提供するオープンソースツールです。 aws-samples 内のリポジトリとして管理されています。 Service Screener は現在は v2 であり、v1 が存在していました。 v1 と v2 の違いですが、大きくはチェック対象の AWS サービスや、サポートするコンプライアンス/フレームワークが異なっています。 v1 では EC2, RDS, S3, Lambda, EKS, OpenSearch, IAM のみがサポートされていましたが、v2 になって CloudFront, CloudTrail, DynamoDB, EFS, Elasticache,
困っていた内容 この IP アドレスはどの AWS サービスのものでしょうか。この IP アドレスを利用しているサービスを調べる方法がありましたらご教示ください。 どう対応すればいいの? AWS が所有するパブリック IP アドレスの一覧は ip-ranges.json に CIDR 形式で公開されておりますので、こちらを元にお客様で当該 IP アドレスがどのサービスの一覧に含まれるかご確認ください。 より効率的な確認方法 自分の目だけで IP アドレスがこのリストに含まれているかを確認するのは時間が掛かるため、この作業を自動化する方法をご紹介します。 例えば、 35.73.115.135 は AWS が所有するパブリック IP アドレスの一つであり、 東京リージョンの API Gateway で利用されている IP アドレスですが、この IP アドレスが含まれる IP 範囲はこのファイル
お疲れさまです。とーちです。 最近、メモ帳としてObsidianを使っているのですが、タスク管理も同時にできたらいいなと思って色々アドオンを見ていました。その中でこちらの記事を見てTimeRulerというプラグインがあることを知りました。 使ってみてなかなか良いと思ったものの、少しクセがある感じだったので、この記事で使い方を共有しようと思います。 とりあえずまとめ TimeRulerはObsidianでカレンダー形式のタスク管理ができるプラグイン タスクのドラッグ・アンド・ドロップで時間変更が可能 様々な形式のタスクデータを読み込める 時間まで指定したタスク管理に最適 TimeRulerを使うモチベーション Obsidian上でタスク管理をしている中で以下のようなことが出来るといいなと思いました。 時間まで指定したタスク登録 カレンダーのような感じで一日のタスクを見れると良い かつ、カレン
こんにちは。テクニカルサポートチームのShiinaです。 はじめに 最近、永続的な AWS アクセスキーを悪用した新たな脅威が確認されています。 一時的なセキュリティ認証情報を生成し、AWS マネジメントコンソールへのアクセスを試みる手法が報告されており、適切な調査と対策が必要です。 CloudTrail を活用したイベント調査方法と、被害を最小限に抑えるための具体的な対策についてまとめてみました。 脅威について Datadog のレポートによると、攻撃者が永続的なアクセスキーを悪用して一時的なセキュリティ認証情報を生成し、AWS マネジメントコンソールへアクセスする手法が確認されています。 A recent threat hunt uncovered an attack in which a threat actor used a long-lived AWS access key to
npm install # added 1287 packages in 21s # # $ npm run sources # # > [email protected] sources # > evidence sources # # ✔ Loading plugins & sources # ----- # [Processing] needful_things # needful_things ⚠ No results returned. # orders ✔ Finished, wrote 10000 rows. # ----- # [INFO]: Evaluated sources, saving manifest # [INFO]: ✅ Done! npm run source # > [email protected] sources # >
Terraformのversion 1.11が2025/2/27にGA(一般提供開始)になりました。新機能3つを紹介します。 write-only attributes が追加された write-only attributesは、1つ前のバージョンであるv1.10で追加されたEphemeral Valuesの一機能です。v1.10の段階で「v1.11でwrite-only attributesを追加する」と告知されており、今回リリースされたv1.11で追加されました。 Ephemeral Valuesについてご存じない方は一度以下をご確認ください。 Terraform 1.10がGAになり、Ephemeral Valuesが使えるようになりました | DevelopersIO Ephemeral Valuesの中のEphemeral resourcesは、いわばData SourceのEp
コマンドの実行が完了したら、bedrock-engineerのフォルダを開き、bedrock-engineer→dist→mac-universalまで移動します。 bedrock Engineer.appがあるので実行します。 すると、Bedrock Engineerのアプリが立ち上がりました! Bedrock Engineerの設定 左のメニューにある歯車マークを押すと設定画面に移動します。 Languageは「日本語」で設定します。 エージェントチャットは利用する場合はTavilyのAPIキーを入力します。 (Tavilyは無料プランでも毎月1,000回のAPIコールが無料で利用可能です) AWS Settingsのところで、利用するリージョンとAWSアクセスキー、シークレットキーを設定します。 Amazon Bedrockの設定では、使用するLLMモデルを選択します(本検証ではCl
はじめに コンテナサービスでイメージタグをどのように管理・運用すべきかは悩ましいです。 たとえば、以下のようなアプローチが考えられます。 割り切って latest 運用 一意なハッシュ値(Gitのコミットハッシュ等を用いる) バージョン採番 本記事では、セマンティック・コミット・メッセージを採用し、リリースのたびにコミットメッセージを元に MAJOR.MINOR.PATCH というセマンティックバージョンを採番し、Git(GitHub)とコンテナイメージ(Amazon ECR)で同じバージョンタグを割り振る方法を紹介します。 セマンティックバージョニングには semantic-release を用い、このプログラムをラップした GitHub Tag Action のワークフロー実行でバージョンをバンプし、このバージョン情報をタグとしてGit(GitHub)とコンテナイメージ(Amazon
{ "version": "1", "type": "GENERAL", "featureDetails": [ { "featureLink": [ "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings_cloudwatch.html#guardduty_cloudwatch_severity_notification", "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-attack-sequence-finding-types.html#attack-sequence-s3-compromised-data", "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-exte
こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。 Amazon Bedrock で Claude 3.7 Sonnet モデルが利用可能になりました。 モデルの特徴 まずは Claude 3.7 Sonnet が、どういったものなのかキャッチアップします。 ハイブリッド推論モデル Claude 3.7 Sonnet は、ハイブリッド推論モデルとして、標準思考モードと拡張思考モードの 2 つのモードを提供します。標準思考モードは Claude 3.5 Sonnet モデルの改良版とされ、拡張思考モードでは、問題を詳細に分析、解決策の計画、応答前に複数の視点を考慮して回答します。 今までの「モデルごとに得意不得意があるため使い分けていきましょう。」の考えに対して、Anthropic では 1つのモデルの統合された機能の中で、切り替えていくのがフロンティアモ
仕事を進めるなかで、「何から手をつけるべきか」「どう整理すればよいか」と迷うことがあるかもしれません。小さな工夫を積み重ねることで、落ち着いて業務に向き合いやすくなります。一番最初に意識したいポイントを整理してみます。 こんばんは。僕です。 はじめに 業務の中で、「もっとスムーズに仕事を進められたらいいのに」と感じることはないでしょうか。進め方に迷うことがあると、その都度考えるべきことが増えてしまい、仕事に集中しにくくなることもあります。 仕事を効率よく進めるためには、単にスピードを上げることだけでなく、「どう進めればやりやすいか」を整理しながら取り組むことが大切です。そのためには、業務のゴールを意識したり、優先順位を決めたり、小さな調整を重ねたりしながら、自分のペースをつくっていくことが大切です。 「今より少しラクに仕事を進めるにはどうすればいいか」という視点で、意識できるポイントを整理
AIクローラーによる過剰アクセスの発生をうけ、対策としてサイト構造化データファイル「llms.txt」(Large Language Model Specifications) を公開しました。 LLMに適切なクロール方法を指示し、サイトリソースの効率的な利用を意図して反映した指示内容について紹介させていただきます。 LLMに適切なクロールを促すため、llms.txtに反映した指示内容について紹介します。 設置 マークダウン形式のテキストファイルを作成し、robots.txtや、エラーページを格納するS3バケットに保存。 以下のURLで公開しました。 https://dev.classmethod.jp/llms.txt llms.txt 内容 user-agent 特定のLLMに限定せず、すべてのAIクローラーに適用されるよう設定しました。
AWS WAF のBotControlルールにおいて、AIカテゴリに分類されるスパイクアクセスが発生。 動的生成される記事ページへのリクエストが、1時間あたり5万件、ピーク時には1分間に1500件記録されていました。 当サイトで公開中の5万件強の全記事数に匹敵するリクエストが発生した原因の調査と、実施した対策について紹介します CloudWatchメトリクス確認 原因を特定するため、AWS WAFのメトリクスを分析しました bot:category AI の 急増 AIカテゴリのリクエスト数が、1時間あたり5万件まで顕著に増加しました。 他のカテゴリ(search_engine: Google、Bing など、social_media: X、Facebook など)には大きな変動は見られませんでした。 LabelNamespace="awswaf:managed:aws:bot-contr
DuckDBはオンライン分析処理(OLAP)に特化したデータベースシステムです。 シンプル、豊富な機能、高速、無料で利用可能、といった特徴を持っています。 S3との連携も可能であり、 S3上のオブジェクトに対してクエリを実行することも可能です。 今回はDuckDBを使って VPCフローログ(Flow Logs)を分析してみます。 S3上に格納しているフローログをローカルに保存して、 DuckDBでいくつか分析するところまで実施します。 セットアップ VPCフローログ VPCフローログは事前にセットアップしている前提で進めます。 以下のようなフローログを設定していました。 LogFormat は デフォルトの設定です。 # aws ec2 describe-flow-logs --output yaml FlowLogs: - CreationTime: '2024-XX-XXT05:33:
別リージョン RAM はリージョナルサービスのため、東京リージョンの Route 53 Resolver Rule を大阪リージョンに共有することはできません。 AWS RAM はリージョナルサービスです。共有するプリンシパルは、リソース共有が作成された AWS リージョン でのみリソース共有にアクセスできます。 https://docs.aws.amazon.com/ja_jp/ram/latest/userguide/getting-started-sharing.html そのため、大阪リージョンの EC2 インスタンスからオンプレミスのネームサーバーで名前解決を行う場合、管理アカウントの大阪リージョンでアウトバウンドエンドポイントを作成します。 先ほどの 4 つの手順を実施することで、リージョン単位での集約が可能です。 複数のドメイン名 メンバーアカウントによっては、example
お疲れさまです。とーちです。 TerraformはAWSのようなクラウド以外にもSaaS等様々なリソースの設定をできるのが素晴らしいですよね。 そんなTerraformですが、実は自己署名証明書を作ることもできるというのを最近知りました。 この記事ではTerraformを使って、自己署名証明書の作成からそれをACMに登録してALBに紐づけるところまでを一発で実行する方法をご紹介します。 本来、AWS Certificate Manager(ACM)で正式な証明書を発行するのが推奨される方法ですが、DNSを変更する権限がなかったり、開発環境用のドメインが用意されていない等の理由で証明書が気軽に発行できないケースもあると思います。今回ご紹介する方法はそういった場合に気軽に検証環境を用意する方法としてお使い頂ければと思います。
はじめに 本記事では、Amazon Connect Contact Lensで文字起こしした内容を日本語で要約し、コンタクト詳細画面に表示する方法を紹介します。 Contact Lensには、会話内容の文字起こしと要約機能が標準で搭載されています。 ただし、要約機能は日本語に対応していません。 そこで、Contact Lensが文字起こしデータをS3に保存した際のトリガーで、AWS LambdaからAmazon Bedrockを利用して日本語の要約を生成します。 生成した要約は、コンタクト詳細画面の属性として保存することで、以下のように表示できます。 コンタクト詳細に要約文を表示 構成は以下の通りです。 処理の流れは以下の通りです。 Contact Lens が会話を文字起こしし、S3 に保存 S3 の PUT イベントをトリガーに Lambda を実行 Lambda が S3 から文字起
AWS CLIで、Amazon Q in Connect のコンテンツ検索を日本語ロケールに設定してみた はじめに AWS CLI を使用して、Amazon Q in Connect の日本語ロケールを設定してみました。 Q in Connectには主に以下の機能があります。 エージェントアシスタンス(オペレーター支援) エージェント(オペレーター)が顧客対応をスムーズに行えるよう、AI がサポートします。 会話の内容に基づくナレッジの自動推奨(リアルタイムレコメンデーション) 会話の内容を AI が分析し、顧客の意図を自動で検出 エージェントに適切な回答や推奨アクションをリアルタイムで提示 関連するナレッジ記事やドキュメントへのリンクも提供 コンテンツ検索 エージェントは自然言語やキーワードを使って AI に直接質問可能 AI がナレッジベースを検索し、最適な回答や関連情報を提示 これに
作業手順書は、業務の標準化やミスの防止に欠かせません。しかし、「手順書があるのに作業ミスが減らない」「結局、詳しい人に聞かないと分からない」といった課題に直面することも少なくありません。実際に使われる手順書にするためには、分かりやすさと実用性が鍵となります。本記事では、誰でも迷わず作業を進められる手順書を作成するポイントをご紹介します。 こんばんは。僕です。 はじめに 業務の効率化やミスの削減を目的に作業手順書を作成する企業は多く存在します。しかし、実際に活用される手順書を作れているかというと、そうではないケースも少なくありません。 手順書があるのに、結局ベテラン社員に聞かないと作業が進まない 文章が多すぎて、重要な部分が分かりにくい 更新されておらず、現場の実態と合っていない こうした問題に対処するためには、わかりやすく、実用的な作業手順書を作ることが重要です。本記事では、誰でも理解でき
はじめに クラスメソッドメンバーズのAWSアカウントをご利用の場合、セキュリティ強化とメンバーズサービスの提供を目的として、複数のAWSサービスが自動的に有効化され、関連リソースが作成されます。 その一環として、cm-access-analyzerという名前のAWS IAM Access Analyzerが自動的に全リージョンで作成されます。このIAM Access Analyzerの信頼ゾーンはアカウント単位で設定されています。 以下の記事で解説されているように、マルチアカウント構成では、通常、管理アカウントのみに組織タイプのIAM Access Analyzerを作成し、メンバーアカウントにはIAM Access Analyzerを作成しないケースが多く見られます。 そのため、以前、メンバーアカウントのIAM Access Analyzerを削除するように、全メンバーアカウントにおける
お疲れさまです。とーちです。 MacOSでDockerを使用するために、Rancher Desktopを使っている方は多いのではないでしょうか? 私も長らくRancher Desktopを使っていたのですが、つい最近、この記事でColimaというツールを知り「これは良さそう」と思ったので実際に試してみることにしました。 今回は、軽量なコンテナランタイムとして注目されている「Colima」への移行について、実際に試してみた経験を共有したいと思います。 とりあえずまとめ Colimaは軽量でシンプルなコンテナランタイム環境を提供 DockerCLIは別途インストールする必要あり Kubernetes環境も必要に応じて簡単に構築可能 そもそもなぜコンテナランタイムが必要なのか? まず、MacOSでDockerを使用する際になぜコンテナランタイムが必要なんでしょうか?私は雰囲気でRancher D
はじめに 皆様こんにちは、 クラウド事業本部コンサルティング部のあかいけです。 突然ですが、弊社では業務用PCとしてMac or Windows が支給されます。 私は前職でMacを使っていたので、なんとなくMacを選びましたが、 過去設定した際の手順を残しておらず、今回も検索しながら丸々設定する羽目になりました...。(自業自得) というわけで今後新しいMacをGetした方の手間を軽減するために、 個人的におすすめの設定をまとめておきます。 ※筆者の環境は以下の通りです 機種 - MacBook Pro OS -macOS Sequoia 15.3 基本設定 画面の表示やキーボード、マウスの挙動などMacを使うにあたり、 ちょっとだけ便利になる設定達です。 なおmacOSのバージョンによって設定画面が若干変わることがあるので、 今回はできる限りコマンドで設定してみます。 ソフトウェア ア
org-mode は Emacs メジャーモードの1つです。 アウトライナーとしての機能だけでなく、 タスク管理や表計算、文芸的プログラミングなど 何でもできるツール として知られています。 私は Emacs org-mode が大好きで、今も愛用しています。 過去にも以下にある「仕事の進め方」ブログを書いていました。 そこからだいぶを時間も経ちました。 改めて自分の整理も兼ねて、org-mode を仕事でどう活用しているかをまとめてみます。 前提(実行環境) MacBook Pro (Apple M1 Max) macOS Sequoia 15.3 GNU Emacs 29.4 Org-mode 9.6.15 ディレクトリ/ファイル構成 org-modeではorgファイル( 拡張子 .org )を取り扱います。 orgファイル内にて専用の文法(Org Syntax)で文章を構築します。
ClientErrorのハンドリングを共通化したい boto3 を使った開発していると、実行する API ごとにエラーハンドリングするコードが増えてきました。 例えば以下のような実行したリージョンやアカウント ID の情報を合わせて出力したいケースです。 import boto3 from aws_lambda_powertools.utilities.typing import LambdaContext from mypy_boto3_ec2.type_defs import DescribeVpcsResultTypeDef class VPCManager: def __init__(self, region: str) -> None: self.client = boto3.client("ec2", region_name=region) self.account_id =
もっと簡単にStack間のリソースの移動を行いたい こんにちは、のんピ(@non____97)です。 皆さんはCloudFormationやAWS CDKを使っていて「もっと簡単にStack間のリソースの移動をしたい」や「論理IDを変更したい」と思ったことはありますか? 私はあります。 従来はそのような対応をする場合、以下のようなステップが必要でした。 Deletion PolicyでRetainを設定して、Stack上で削除されても、リソースを削除されないようにする Stack上からリソースを削除する 別のStack or 別の論理IDとしてリソースをインポート どうしても手間が掛かりますし、非常に神経を使います。 今回アップデートによって、 CloudFormationのStack間のリソースの移動や論理IDの変更を簡単に行えるようになりました。 AWS Blogsにも投稿されています
はじめに 本記事ではDevinに安全にAWS環境を使ってもらうには、どのような環境を与えるべきか考えてみました。 他の記事で試しているともしかするとDevinが思ってたより色々できるのでは?という感覚があったので、今回実際にAWS環境に触ってもらおうと思い記事を書きました。ただ無尽蔵にAWSのAdministrator相当権限を与えると、恐ろしい課金が発生する可能性があるので攻めすぎず守りすぎずで権限設計を考えました。 コンソールからの操作はDevinとの親和性が低いかもしれないと考えたので、今回はIaC(CDK)を使ってAWS環境のリソースを操作することを想定します。 権限設計について 最小権限の原則に則って可能な限り権限を制限したいですが、現実問題権限をAction単位で個別に有効化しているとDevinに手放しでタスクを頼んでいくのが難しくなります。人間がゲートキーパーのように振る舞う
はじめに 今回は今注目されてるAIエンジニア「Devin」を調査のため購入したので、購入の流れや初期設定などを紹介します。本稿では、キャプチャなどを残しつつ初期のセットアップで必要な権限などに注目します。タスクを依頼した際の動作検証などは後続のブログで試していきます。 Devinをオンボーディングする上で、事前にSlackやGitHubで権限が必要です。購入前の権限確認などにご使用ください。 Devinについて知らない方は以下のブログなどをご確認ください。 Devinの購入 まずは、以下のURLにアクセスして購入に進んでみます。 まずSign upのボタンが出るので押下して、メールアドレス、Google or GitHub のSSOでアカウントを作成します。今回はGoogleでサインアップします。 サインアップするとチャット画面がでます。GitHubとSlackへの招待を希望されます。Gi
お疲れさまです。とーちです。 Terraformを使っていて「今のState fileの状態を簡単に確認したいな」と思うことはないでしょうか?私は稀にあります。 今回は、そんな悩みを解決してくれる「terraform-tui」というOSSツールをご紹介したいと思います。 とりあえずまとめ Terraform Stateをグラフィカルに可視化できる リソースの検索や詳細表示が直感的に可能 Plan/Applyもツール上から実行可能 terraform-tuiの主要機能 1. State管理の可視化 Terraform stateツリーの完全な可視化 リソース状態の詳細表示と簡単なナビゲーション ツリー構造での直感的な状態把握 2. 検索・操作機能 stateツリーとリソース定義の検索 リソースの単一/複数選択 リソースの削除機能 3. Plan/Apply機能 terraform-tuiから
次のページ
このページを最初にブックマークしてみませんか?
『Developers.IO』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く