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
AWS Lambdaで複数アカウント間でアレコレする / Gunosy Beer Bash #7
Search
koid
July 27, 2016
Technology
1
2k
AWS Lambdaで複数アカウント間でアレコレする / Gunosy Beer Bash #7
koid
July 27, 2016
Tweet
Share
More Decks by koid
See All by koid
新しい技術の導入時に大切にしていること / IVS CTO Night 2018 LT
koid
2
7.1k
GunosyでのKinesis Analytics利用について / AWS Solution Days 2017 -AWS DB Day-
koid
0
240
GunosyでのKinesis Analytics利用について / BigData JAWS 6 Kinesis Analytics
koid
1
910
re:Inventに行ってきました - 気になった新サービス / AWS re:Invent2016 Participants LT
koid
0
2k
AWS Lambda - ピーキーなアクセスに備える / Gunosy Beer Bash #8
koid
0
2k
サーバにログインしない・させないサービス運用 / AWS Summit 2015 Devcon
koid
6
9k
GunosyのMicroServicesとOpsWorks / よくわかる AWS OpsWorks
koid
18
5.9k
Other Decks in Technology
See All in Technology
Terraform Stacks入門 #HashiTalks
msato
0
350
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
510
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
220
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Can We Measure Developer Productivity?
ewolff
1
150
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
360
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Bash Introduction
62gerente
608
210k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
AWS Lambdaで 複数アカウント間でアレコレする 株式会社Gunosy ⼩出 幸典
⾃⼰紹介 • 名前 – ⼩出 幸典 (こいで ゆきのり) • 所属
– 株式会社Gunosy 開発本部 • プロビジョニング・デプロイフローの共通化とか • 過剰リソース警察、コスト削減おじさん • 好きなAWSサービス – OpsWorks, Lambda, Trusted Advisor
はじめに - AWS Lambdaとは • コードをアップロードするとイベントに応じて実⾏ • サーバのプロビジョニング・管理が不要 • AWSの⾊々なサービスと連携可能
AWS Lambdaのユースケース@Gunosy データ同期 APIバックエンド 所謂普通のバッチ Amazon RDS Amazon Elasticsearch Service
Amazon EMR Amazon Kinesis Amazon Cognito Amazon API Gateway AWS Lambda AWS Lambda AWS Lambda 監視・管理 Amazon CloudWatch Amazon SNS AWS Lambda AWS OpsWorks AWS Lambda
AWS Lambdaのユースケース@Gunosy 監視・管理 データ同期 APIバックエンド 所謂普通のバッチ Amazon Elasticsearch Service Amazon
EMR Amazon Kinesis Amazon Cognito Amazon CloudWatch Amazon SNS Amazon API Gateway AWS Lambda AWS Lambda AWS Lambda AWS OpsWorks AWS Lambda Amazon RDS AWS Lambda
本⽇お話させていただく内容 • Gunosyでは複数のAWSアカウントを利⽤しています – ざっくり⾔うと事業・サービス別
本⽇お話させていただく内容 • 事業・サービス別にAWSアカウントを分けていくと… Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon
Redshift Amazon EC2 Elastic Load Balancing Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon Redshift Amazon EC2 Elastic Load Balancing Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon Redshift Amazon EC2 Elastic Load Balancing
本⽇お話させていただく内容 • 事業・サービス別にAWSアカウントを分けていくと… Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon
Redshift Amazon EC2 Elastic Load Balancing Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon Redshift Amazon EC2 Elastic Load Balancing Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon Redshift Amazon EC2 Elastic Load Balancing 監視・運⽤ 管理統制 監視・運⽤ 管理統制 監視・運⽤ 管理統制
本⽇お話させていただく内容 • 事業・サービス別にAWSアカウントを分けていくと… Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon
Redshift Amazon EC2 Elastic Load Balancing Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon Redshift Amazon EC2 Elastic Load Balancing Amazon CloudWatch Amazon ElastiCache Amazon RDS Amazon Redshift Amazon EC2 Elastic Load Balancing 監視・運⽤ 管理統制 監視・運⽤ 管理統制 監視・運⽤ 管理統制 とても煩雑
本⽇お話させていただく内容 • どうにかして省⼒化したい – おそらく今後もアカウントは増える – アカウント新規作成時の初期設定は⼿間 – 運⽤ツール類を共通化しても更新を反映するのも⼿間
本⽇お話させていただく内容 どうしよう
そうだこうしよう • 個別に作るのはやめよう Service Account 1 Service Account 2 Service
Account 3 Monitoring Account 監視・運⽤ 管理統制
ポイントは2つ 1. 別のアカウントに存在するLambdaのInvoke 2. Lambdaから別アカウントのリソースへのアクセス
例1)別のアカウントに存在するLambdaのInvoke • CloudWatch Alarmの通知 Service Account Amazon CloudWatch Monitoring Account
Amazon SNS AWS Lambda ①Publish ②Invoke サービスアカウント からのPublishを許可 Alarm中のAccountID を⾒て通知先を振り分け
例1)別のアカウントに存在するLambdaのInvoke • SNSのTopicを監視アカウントに置く場合 – SNSのTopic PolicyにてサービスアカウントからのPublishを許可 • SNSのTopicをサービスアカウントに置く場合 – SNSのTopic
Policyにて監視アカウントからのアクセス(※)を許可 • ※ LambdaSubscribe, ListSubscriptionsByTopic, Receive – Lambda Fuctionにて、サービスアカウントからのInvokeを許可
例2)Lambdaから別アカウントのリソースへのアクセス • リソースのルール確認(AWS Config的な) Service Account Monitoring Account Amazon SNS
AWS Lambda ③Publish Amazon RDS Amazon ElastiCache Amazon Redshift AWS STS Report ①AssumeRole ②Describe
例2)Lambdaから別アカウントのリソースへのアクセス • プロビジョニングのチェック Service Account Monitoring Account AWS Lambda ③Invoke
①AssumeRole ②Describe AWS Lambda AWS OpsWorks Amazon EC2 AWS STS ④AssumeRole ⑤Setup
例2)Lambdaから別アカウントのリソースへのアクセス • サービスアカウント側にて、監視⽤ロールを発⾏ – 監視アカウントに対しAssumeRoleを許可 • 監視アカウント側にて、Lambda⽤ロールを発⾏ – 監視⽤ロールへのAssumeRoleを許可 Service
Account Monitoring Account AWS IAM Monitoring role AWS IAM Lambda role AssumeRole を許可 AssumeRole を許可
まとめ AWS Lambda + クロスアカウントで 効率的な監視・管理を!
終わりに • ご清聴ありがとうございました