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
2.1k
サーバにログインしない・させないサービス運用 / AWS Summit 2015 Devcon
koid
6
9.1k
GunosyのMicroServicesとOpsWorks / よくわかる AWS OpsWorks
koid
18
5.9k
Other Decks in Technology
See All in Technology
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
270
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
180
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
100
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
なぜCodeceptJSを選んだか
goataka
0
160
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Done Done
chrislema
181
16k
Facilitating Awesome Meetings
lara
50
6.1k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
How to Ace a Technical Interview
jacobian
276
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Navigating Team Friction
lara
183
15k
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 + クロスアカウントで 効率的な監視・管理を!
終わりに • ご清聴ありがとうございました