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
2.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.2k
GunosyでのKinesis Analytics利用について / AWS Solution Days 2017 -AWS DB Day-
koid
0
260
GunosyでのKinesis Analytics利用について / BigData JAWS 6 Kinesis Analytics
koid
1
980
re:Inventに行ってきました - 気になった新サービス / AWS re:Invent2016 Participants LT
koid
0
2k
AWS Lambda - ピーキーなアクセスに備える / Gunosy Beer Bash #8
koid
0
2.2k
サーバにログインしない・させないサービス運用 / AWS Summit 2015 Devcon
koid
6
9.2k
GunosyのMicroServicesとOpsWorks / よくわかる AWS OpsWorks
koid
18
6k
Other Decks in Technology
See All in Technology
進捗
ydah
2
210
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
470
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
380
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
360
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
1
430
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
1.1k
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
590
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
340
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
270
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
110
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
830
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
GraphQLとの向き合い方2022年版
quramy
49
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
Automating Front-end Workflow
addyosmani
1370
200k
Embracing the Ebb and Flow
colly
87
4.8k
How to Think Like a Performance Engineer
csswizardry
26
1.8k
KATA
mclloyd
32
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
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 + クロスアカウントで 効率的な監視・管理を!
終わりに • ご清聴ありがとうございました