Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第1回 雲勉LT【オンライン:中級者向け】リソース作ったら作成者名とか自動でタグ付けされてたらいいな
Search
Y.Sumikura
November 04, 2022
Technology
0
130
第1回 雲勉LT【オンライン:中級者向け】リソース作ったら作成者名とか自動でタグ付けされてたらいいな
Y.Sumikura
November 04, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
240
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
160
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
220
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
210
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
330
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
3
520
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
190
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
63
Other Decks in Technology
See All in Technology
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
880
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
2
770
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
6
230
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
220
20250728 MCP, A2A and Multi-Agents in the future
yoshidashingo
1
210
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
3
1.1k
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.5k
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
140
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
3
210
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
2
330
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
180
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
1
380
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
Automating Front-end Workflow
addyosmani
1370
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
How GitHub (no longer) Works
holman
314
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Being A Developer After 40
akosma
90
590k
Building an army of robots
kneath
306
45k
Java REST API Framework Comparison - PWX 2021
mraible
32
8.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Raft: Consensus for Rubyists
vanstee
140
7k
Transcript
第1回 雲勉LT【オンライン︓中級者向け】 リソース作ったら作成者名とか⾃動でタグ付けされてたらいいな
⾃⼰紹介 2 • 野崎 ⾼弘(のざき たかひろ) • クラウドインテグレーション事業部 プロジェクト企画推進セクション インフラ技術
• インフラ構築・保守やSOCセキュリティアナリストをやってました • 現在は技術検証やドキュメント作業が主 • 趣味︓資格取得、⽝の散歩、ドラクエ、巨⼈ファン、ドラマ • 好きな⾷べ物︓カレー、ハンバーグ、チーズ、パクチー、⽣クリーム系スイーツ • AWSは現在7冠中 3
タグ付けされてないと⾊々と困る 3 よくあるAWS検証環境で、AWSリソース作成時にタグを付与し忘れ、結果、作成者不明の無名リ ソースの残骸になっているところが多い いつ、誰が作ったのか謎の正体不明の幽霊インスタンス 消していいのかもわからない・・ Windowsのプロパティには こんなに情報が付いてるのに
そこで 4 リソース作成者が意識して⾃分の名前などを付けてタグ付けを気をつけてくれていることも多い が、そういった⼈為的なことに依存するのではなく、作成者の意図や⼿間なく透過的にタグが⾃ 動付与されると便利 そこで︕⾃分の名前と作成⽇を⾃動付与することで、無駄なリソースの主を検出し、なくすこと で、コスト削減につながる⽅法を考えてみました
条件 5 • タグ付けを強制するものではないこと(変なタグを付けられてしまう) • タグ付けをしないとリソース作成が失敗するものではないこと(権限がないエラーなのかと 勘違いしてしまうため) • タグなしリソース検索して通知するものではないこと(将来に向けて考える) •
過去のタグなしリソースを追う⽅法は別途考える(監査で必要)
注意事項 6 • 作成者が意図的に⾃分の名前を付けても、重複タグの検知はしていないため、関係なく⾃ 動的にタグが付与されます。その結果、名前タグが重複したりする可能性あり • 1つのAWSリソースにつき、1つのLambdaファンクションと1つのEventBridgeが必要に なるため、リソースの数だけこれらの作成が必要に • CloudTrailの
Createresourcename イベントをトリガーしているため、CloudFormation などで⾃動作成されるリソースには⾮対応
事前準備 7 タグ付けしたい名前や⽇付など情報の位置を、CloudTrailログから取ってくること そのため、あらかじめ⼀旦AWSリソースを作成してみます。例えば、EC2インスタンスを実際に 作成し、CloudTrailログから イベント名=RunInstances でその作成時のログを検索します。 ここで欲しいのは、userIdentity と responseElements
の中⾝です。 userIdentity からは、username と creationDate が取れます。 responseElements からは、instanceId が取れます。
事前準備 8 userIdentity • userName • creationDate responseElements • instanceId
作業の流れ 9 1.Lambda関数を作成
作業の流れ 10 2.ソースコードを作成 boto(ぼと)3( AWS SDK for Python)パッケージのEC2クラスのclient のcreate_tagsメソッドで実際にタグ付けを ⾏います。ここで上記で取ってきた
userNameやcreationDateを指定していま す。 (参考) https://boto3.amazonaws.com/v1/documentation/api/lat est/reference/services/ec2.html?highlight=nat%20gatew ay#client
作業の流れ 11 3. EventBridgeルールを作成 イベントパターン︓ { "source": ["aws.ec2"], "detail-type": ["AWS
API Call via CloudTrail"], "detail": { "eventSource": ["ec2.amazonaws.com"], "eventName": ["RunInstances"] } } ターゲット︓ 先ほど作成したLambda関数を指定します。
作業の流れ 12
None