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
110
第1回 雲勉LT【オンライン:中級者向け】リソース作ったら作成者名とか自動でタグ付けされてたらいいな
Y.Sumikura
November 04, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
210
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
200
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
190
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
280
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
410
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
160
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
59
Other Decks in Technology
See All in Technology
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
800
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
200
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
160
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
830
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
100
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.6k
OPENLOGI Company Profile for engineer
hr01
1
20k
目標と時間軸 〜ベイビーステップでケイパビリティを高めよう〜
kakehashi
PRO
8
950
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
550
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
2.8k
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
190
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
461
33k
GraphQLとの向き合い方2022年版
quramy
44
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Speed Design
sergeychernyshev
27
810
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Building Applications with DynamoDB
mza
93
6.2k
Agile that works and the tools we love
rasmusluckow
328
21k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
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