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
100
第1回 雲勉LT【オンライン:中級者向け】リソース作ったら作成者名とか自動でタグ付けされてたらいいな
Y.Sumikura
November 04, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
180
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
130
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
170
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
170
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
220
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.2k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
290
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
140
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
54
Other Decks in Technology
See All in Technology
分布で見る効果検証入門 / ai-distributional-effect
cyberagentdevelopers
PRO
4
700
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
24
6.7k
Fargateを使った研修の話
takesection
0
110
Nix入門パラダイム編
asa1984
2
200
マネジメント視点でのre:Invent参加 ~もしCEOがre:Inventに行ったら~
kojiasai
0
460
10分でわかるfreeeのQA
freee
1
3.4k
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
IaC運用を楽にするためにCDK Pipelinesを導入したけど、思い通りにいかなかった話
smt7174
1
110
Forget efficiency – Become more productive without the stress
ufried
0
110
Java x Spring Boot Warm up
kazu_kichi_67
2
490
なんで、私がAWS Heroに!? 〜社外の広い世界に一歩踏み出そう〜
minorun365
PRO
6
1.1k
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
200
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.2k
Side Projects
sachag
452
42k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Being A Developer After 40
akosma
86
590k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
How GitHub (no longer) Works
holman
311
140k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Visualization
eitanlees
144
15k
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