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
190
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
180
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
170
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
230
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.2k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
310
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
150
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
54
Other Decks in Technology
See All in Technology
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
190
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
760
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
Featured
See All Featured
A Tale of Four Properties
chriscoyier
156
23k
What's new in Ruby 2.0
geeforr
343
31k
Being A Developer After 40
akosma
86
590k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
The Cult of Friendly URLs
andyhume
78
6k
Embracing the Ebb and Flow
colly
84
4.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Code Review Best Practice
trishagee
64
17k
Producing Creativity
orderedlist
PRO
341
39k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
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