Upload
Download free for 30 days
Login
Submit Search
サーバレス × AWS SAM × DRにおけるTIPS
Download as PPTX, PDF
0 likes
950 views
桂
桂一 中山
エンジニアサポートCROSS 2017のServerless Ninja Warriors セッションにおいて発表した資料です
Technology
Read more
1 of 6
Download now
Download to read offline
1
2
3
4
5
6
More Related Content
PPTX
Cloud Formation + Code シリーズで行うマルチアカウント・マルチリージョンデプロイ
桂一 中山
PDF
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
PDF
俺のLambda
Motokatsu Matsui
PDF
【IVS CTO Night & Day】Networking Technology
Amazon Web Services Japan
PDF
Morning Session - AWS Serverless Ways
akitsukada
PDF
【IVS CTO Night & Day】DevOps on AWS 2017
Amazon Web Services Japan
PDF
AWS Introduction for Startups
akitsukada
PDF
Serverless AWS構成でセキュアなSPAを目指す
Masayuki Kato
Cloud Formation + Code シリーズで行うマルチアカウント・マルチリージョンデプロイ
桂一 中山
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
俺のLambda
Motokatsu Matsui
【IVS CTO Night & Day】Networking Technology
Amazon Web Services Japan
Morning Session - AWS Serverless Ways
akitsukada
【IVS CTO Night & Day】DevOps on AWS 2017
Amazon Web Services Japan
AWS Introduction for Startups
akitsukada
Serverless AWS構成でセキュアなSPAを目指す
Masayuki Kato
What's hot
(19)
PDF
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
PPTX
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
PDF
サーバーレス・アーキテクチャ概要
真吾 吉田
PDF
20170210 jawsug横浜(AWSタグ)
Toshihiro Setojima
PPTX
Raspberry Piを利用した顔の表情分析と感情を認識するシステム構築
Hyunmin Kim
PDF
SA プライムなう! - AWS IoT とロボットアームでお絵かき
崇之 清水
PDF
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
都元ダイスケ Miyamoto
PDF
今からおさえるクラウドとAWS活用のこれから2014
真吾 吉田
PPTX
re:Port 2017 #2 「AWS re:Invent 2017 参加レポート」
Mamoru Ohashi
PDF
AWS管理を自動化する奥義
クラスメソッド株式会社
PPTX
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
PDF
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
拓将 平林
PDF
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
PDF
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
Hiroyuki Hiki
PPTX
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
Daisuke Nagao
PDF
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
Amazon Web Services Japan
PPTX
成長していくサービスとAWS
Mitsuharu Hamba
PDF
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Terui Masashi
PDF
NW-JAWS x Tech-on勉強会:AWS Transit Gateway で広がるネットワークアーキテクチャ
Shuji Kikuchi
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
サーバーレス・アーキテクチャ概要
真吾 吉田
20170210 jawsug横浜(AWSタグ)
Toshihiro Setojima
Raspberry Piを利用した顔の表情分析と感情を認識するシステム構築
Hyunmin Kim
SA プライムなう! - AWS IoT とロボットアームでお絵かき
崇之 清水
20140315 JAWS DAYS 2014 ACEに聞け! CloudFormation編
都元ダイスケ Miyamoto
今からおさえるクラウドとAWS活用のこれから2014
真吾 吉田
re:Port 2017 #2 「AWS re:Invent 2017 参加レポート」
Mamoru Ohashi
AWS管理を自動化する奥義
クラスメソッド株式会社
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
拓将 平林
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
第18回 jaws ug札幌 勉強会 やってみたで終わらないlambdaな話
Hiroyuki Hiki
APIを叩くだけでない、Deep Learning on AWS で自分だけの学習モデルを作ろう! by JAWS-UG AI支部
Daisuke Nagao
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
Amazon Web Services Japan
成長していくサービスとAWS
Mitsuharu Hamba
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Terui Masashi
NW-JAWS x Tech-on勉強会:AWS Transit Gateway で広がるネットワークアーキテクチャ
Shuji Kikuchi
Ad
Similar to サーバレス × AWS SAM × DRにおけるTIPS
(20)
PDF
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
PDF
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
New Relic
PDF
What's new with Serverless
Keisuke Nishitani
PDF
AWS クラウドで構築するスマホアプリ バックエンド
kaki_k
PDF
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
Eiji Shinohara
PPT
アマゾンクラウドの真価
kaminashi
PDF
20151030 オープンデータとセキュリティon aws
takaoka susumu
PDF
G tech2016 クラウド時代に必要とされる組織と人材育成について
Trainocate Japan, Ltd.
PPTX
DevAx::connect はじめました
政雄 金森
PPTX
re:invent2018 総ざらえ
真乙 九龍
PDF
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
PPTX
メテオフォール型開発 X サーバーレス開発
桂一 中山
PDF
Scala: Mobile Backend on AWS
cmaraiyusuke
PDF
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
Junji Nishihara
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
PDF
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
Amazon Web Services Japan
PDF
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
PDF
Amazon Web Services(AWS)とcloudpack について
Hiroyasu Suzuki
PDF
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
FutureStack Tokyo 19 -[パートナー講演]アマゾン ウェブ サービス ジャパン株式会社: New Relicを活用したAWSへのアプリ...
New Relic
What's new with Serverless
Keisuke Nishitani
AWS クラウドで構築するスマホアプリ バックエンド
kaki_k
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
Eiji Shinohara
アマゾンクラウドの真価
kaminashi
20151030 オープンデータとセキュリティon aws
takaoka susumu
G tech2016 クラウド時代に必要とされる組織と人材育成について
Trainocate Japan, Ltd.
DevAx::connect はじめました
政雄 金森
re:invent2018 総ざらえ
真乙 九龍
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
メテオフォール型開発 X サーバーレス開発
桂一 中山
Scala: Mobile Backend on AWS
cmaraiyusuke
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
Junji Nishihara
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
Amazon Web Services Japan
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
Amazon Web Services(AWS)とcloudpack について
Hiroyasu Suzuki
Architecting on Alibaba Cloud - 超基礎編 -
真吾 吉田
Ad
サーバレス × AWS SAM × DRにおけるTIPS
1.
クラウドサポーター 中山 桂一 nakayama@chara-web.co.jp サーバレス
× AWS SAM × DR におけるTIPS 1
2.
自己紹介 名前: 中山 桂一 @k1nakayama 所属:
株式会社キャラウェブ クラウドソリューショングループ ソリューションアーキテクト 好きなAWSサービス: ・AWS Lambda ・AWS CloudFormation ・Amazon API Gateway 2
3.
モバイルバックエンドのサーバレス化 ■プロジェクトの概要 ・iOS/Android向けアプリ、Webサイトにて提供 を行うEC系サービス(デジタルコンテンツ配信 系) ・出来る限りサーバレス(マネージドサービス を活用し)で構築する ・RTO:24時間以内、RPO:原則として障害発 生直前 を目標とする ・原則としてDRサイトへの切り替えは自動的 に行われるようにする ・プロジェクトの規模、今後の拡張性を考慮し て、全体的にマイクロサービスアーキテクチャ で構築する ・商用/ステージング/開発向けそれぞれに環 境を分けて運用(環境毎にアカウントを分離) ・CI/CDパイプラインを回してデプロイ ap-northeast-1
us-west-2 Amazon Route 53Amazon CloudFront AWS Certificate ManagerIAM Amazon API Gateway Amazon DynamoDB AWS Lambda AWS CloudFormation Amazon Cognito Amazon SES Amazon SNS Amazon ES Amazon S3 Amazon API Gateway Amazon DynamoDB AWS Lambda AWS CloudFormation Amazon Cognito Amazon SES Amazon SNS Amazon ES Amazon S3 ■現状の開発規模(8月キックオフされたばかり) ・サービス数: 28サービス ・LambdaFunction数: 90ファンクション(もっと増える) ・DynamoDBテーブル数:50テーブル(もっと増える) ・CloudFormationテンプレート: 約45,000行(YAMLベー ス、もっと増える) 3
4.
開発上の原則(最低限考慮するもの) 「The Twelve Factor
App」を原則として考える • コードベース:CloudFormation等のコードで定義・構築を行えるようにすること • 設定:環境毎に異なる設定は環境変数等を用いて、ソースコードは1ソースに保つこと • バックエンドサービス:関連リソースについてソースコードを変更せずアタッチして使えるように CI/CDパイプラインを構築しテスト・デプロイを行う • CodePipeline+CodeCommit + CodeBuild + CloudFormationでCI/CDパイプラインを構築しテスト・デ プロイが行なえます。(もちろん他のサービスを使用しても良いと思います) IAMロールは原則として使いまわさず、 使用目的・サービス等のオーナー毎に最小限の 権限に絞って作成する • リソースセクションは可能な限り必要なターゲット に限定する • リソース定義時に当該リソースに必要な権限 のみの専用ロールを定義して割り当てる 出来るだけコレオグラフィで構築する • 主にDynamoDBへの書き込みをトリガーに DynamoDB Streamsをサブスクライブし振る舞いを 構成するとDR等も考えやすい AWS CodeCommit AWS CodePipeline AWS CodeBuild AWS CloudFormation AWS SAM Git push ・ユニットテスト ・package デプロイ 管理アカウント 各ステージ用アカウント 4
5.
ハマリポイントと解決策 CodePipeline+AWS SAMでデプロイするときはテンプレートを50KB以下に制限される CodePipelineでCloudFormationを実行する際のテンプレートパスはArtifact内のパスを指定する必 要がある→S3URLが指定できないため、50KB制限がある 対策: ・ネストしたスタックを使用し、スタックを分けていく ・JSONに変換し、jq等で圧縮をする(1ライナーに変換する) aws cloudformation
--region ${AWS_DEFAULT_REGION} package --template-file template.yaml --s3- bucket ${S3_BUCKET} --use-json | sed -e '1d' | jq -c . > outputTemplate.json YAMLで記述したテンプレートのMappingsセクション(だけではないと思うが)のキー名に、 アカウントIDにより条件を定義する場合、アカウントIDが0から始まるIDだとエラーとなる aws cloudformation packageを実行する際、内部で使用しているPythonのYAMLライブラリにバグ があり、0から始まるIDの場合クオートされずエラーとなる 対策: --use-json を付加してJSON出力する → 副作用として更にテンプレートの容量が増える クロスリージョンレプリケーション機能がほとんどのサービスにない 対策: DynamoDB: DynamoDB Streamsを使用し、dynamodb-cross-region-libraryかLambdaなどを使用 各リソース定義: DR側リージョンにもCI/CDパイプラインを作りメインリージョンのCI/CD実行時にDR 側Gitにpushする その他データ: DynamoDB Streamsをトリガーにコレオグラフィを構成しLambda等で同期 5
6.
API Gatewayのカスタムドメイン切り替え DRを考慮してメイン/DRそれぞれのリージョンに作ったAPI Gatewayにカスタムドメインを充て、 アクセスを行うことを検討した →問題発生: API
GatewayのカスタムドメインはCloudFrontの仕様上、複数リージョンに同一ドメインを設 定できない!! AWSサポート回答: →現時点の解決策: ・リージョン毎にカスタムドメインを分け、API接続元からリクエストがタイムアウトする場合、 DRリージョン用APIへリクエストを行うようにする。。。 ・API Gatewayの前にCloudFrontを置き、1ディストリビューションにそれぞれのオリジンを設定 し、DR切替時にBehavior設定にて向け先オリジンを変更する →IAM認証等のAPI Gatewayの認証が使えなくなる → Lambda@Edge等でどうにかする? →プロジェクトがローンチする前までにAWSさんが対応してくれることを祈ります!! 6
Download