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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
koid
July 27, 2016
Technology
2.3k
1
Share
AWS Lambdaで複数アカウント間でアレコレする / Gunosy Beer Bash #7
koid
July 27, 2016
More Decks by koid
See All by koid
新しい技術の導入時に大切にしていること / IVS CTO Night 2018 LT
koid
2
7.3k
GunosyでのKinesis Analytics利用について / AWS Solution Days 2017 -AWS DB Day-
koid
0
300
GunosyでのKinesis Analytics利用について / BigData JAWS 6 Kinesis Analytics
koid
1
1k
re:Inventに行ってきました - 気になった新サービス / AWS re:Invent2016 Participants LT
koid
0
2.1k
AWS Lambda - ピーキーなアクセスに備える / Gunosy Beer Bash #8
koid
0
2.3k
サーバにログインしない・させないサービス運用 / AWS Summit 2015 Devcon
koid
6
9.3k
GunosyのMicroServicesとOpsWorks / よくわかる AWS OpsWorks
koid
18
6.1k
Other Decks in Technology
See All in Technology
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
310
Javaで学ぶSOLID原則
negima
1
240
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
100
はじめてのDatadog
kairim0
0
240
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
Dynamic Workersについて
yusukebe
2
510
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
190
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
410
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
180
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
1
520
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
380
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Fireside Chat
paigeccino
42
3.9k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
250
The browser strikes back
jonoalderson
0
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Making Projects Easy
brettharned
120
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Visualization
eitanlees
152
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 + クロスアカウントで 効率的な監視・管理を!
終わりに • ご清聴ありがとうございました