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
7k
GunosyでのKinesis Analytics利用について / AWS Solution Days 2017 -AWS DB Day-
koid
0
230
GunosyでのKinesis Analytics利用について / BigData JAWS 6 Kinesis Analytics
koid
1
900
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
2024-10-30-reInventStandby_StudyGroup_Intro
shinichirokawano
1
620
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
なんで、私がAWS Heroに!? 〜社外の広い世界に一歩踏み出そう〜
minorun365
PRO
6
1.1k
わたしとトラックポイント / TrackPoint tips
masahirokawahara
1
240
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
MAMを軸とした動画ハンドリングにおけるAI活用前提の整備と次世代ビジョン / abema-ai-mam
cyberagentdevelopers
PRO
1
110
初心者に Vue.js を 教えるには
tsukuha
5
390
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
460
Shift-from-React-to-Vue
calm1205
3
1.3k
Forget efficiency – Become more productive without the stress
ufried
0
110
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Music & Morning Musume
bryan
46
6.1k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Documentation Writing (for coders)
carmenintech
65
4.4k
Making Projects Easy
brettharned
115
5.9k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
A better future with KSS
kneath
238
17k
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 + クロスアカウントで 効率的な監視・管理を!
終わりに • ご清聴ありがとうございました