SlideShare a Scribd company logo
1 of 30
AWS クラウドで構築する
スマホアプリ バックエンド
JAWS-UG 長野支部キックオフミーティング
NSEG 第52回勉強会
GeekLab.Nagano
自己紹介
@kaki_k
よく使う構成
構成図
AWS Cloud
Elastic Load
Balancing
Mobile
Client
Route 53
ロードバランサー
+ SSL証明書
iOS/Android
アプリ
DNS
アプリケーション
サーバー
Amazon EC2
Amazon S3
画像、音声、映像
Amazon RDS
DBサーバー
(MySQL)
Amazon SESEmail
Amazon SNS
AWSアカウント割合
cloudpack
50%
直アカウント
50%
• cloudpackさん、直アカウントで半々。
• 対企業向けは cloudpackさんにお願いしてます。

(プロジェクトのクライアントが大企業さんの場合)
• 定額見積り、24時間監視、構成起動、SSL証明書の手配/年更新まで
をお願いできるのがメリット。
サーバー設計
• 予定がなくても、いつでもできるよう考慮しておく
• 2台目以降へは rsync でプログラム領域をコピー
スケールアウト
Snapshot
AMI
EC2 Instance
EC2 Instance
1台目 2台目
・・・
再起動あり
再起動なしで取れるが
止めた方が確実
rsync
Auto Scaling
ELB
• 2台目はクローンなので複製されるとまずいものを、外に出す
- もちろん RDB
同じサーバー内にRDBをインストールしない
Amazon RDSを利用する
- セッション情報
これはフレームワークがRDBに出すのでOKだった
- ログのディレクトリをプロジェクトの下に置かない
- ユーザーがアップロードするバイナリーファイル(画像等)
をサーバー内に保存しない
Amazon S3を利用する
• バッチ(cron) は、1台目でのみ走るようにする
アプリケーション
サーバー
Appサーバー
Mobile
Client
iOS/Android
アプリ
Amazon EC2
Amazon S3
画像、音声、映像
Amazon RDS
DBサーバー
(MySQL)
Amazon SESEmail
AWS SDK for Python
(boto)
普通に
SMTPサーバー
として指定
IPアドレス指定
量が少ない場合は
GMail、Google Apps
で済ませてしまう場合もあり
Appサーバーのインストール
• 最初はインストール手順をRedmineのWikiに書いていたが
• インストール手順書が書けるものは、コード化できる
• Chef Soloを導入
Client
chef-solo
アプリケーション
サーバー
Amazon EC2
コーディング
検証
実行
knife solo prepare
knife solo cook
knife solo prepare
knife solo cook
バックアップ
スナップショット
AWS Cloud
アプリケーション
サーバー
Amazon EC2
EBS Volume
Snapshot
AMI
EC2 Instance
• cloudpackアカウント
- 1日1回、2世代、AWSのスナップショット機能で取っ
てくれる
- cloudpackさんに泣きついて、スナップショットから
インスタンスを起動してもらった経験あり
• 直アカウント
- バックアップの重要性は身に染みた
- cloudpackさんと同じことをしたくて、Python boto
のスクリプトをcronに仕込んだ
サーバー監視
• cloudpackアカウントのものは、Nagiosのメールが来る
- 24時間監視は素晴らしい。       のメールも来る
• 直アカウントのもの
- 「サーバーが落ちてるんだけど」と、ある日突然言われる
- ZABBIXでアラートメール
- GUIベースなので導入は楽
- コードベースでGit管理する場合は、Nagiosの方がいいか
も
- 最初は簡単な Web監視から始める
- 徐々に ZABBIX client を入れて監視中
or
ZABBIXによるサーバー監視
パフォーマンス監視
http://newrelic.com/application-monitoring
New Relic
• New Relicの導入
- 指定ライブラリを読み込むため、2行程度挿入するだ
け(Pythonの場合)
• New Relicでできること
- 時間がかかっているトランザクション(URL)一覧
- トランザクションのタイムライン(SQLの時間)
- 発行されたSQLステートメントの一覧(回数、時間)
のここが凄い
Transactions
Trace details
ログ保存
ログ保存の必要性
• セキュリティ基準で
- ログの1年間保存を要求されている
- もちろん、これだけならサーバ内でのスクリプトで退
避で済む
• スケールイン
- サーバ台数が減るということは、縮退したサーバのログ
が失われる
EC2
各種ログ Fluentd Client
アプリケーションサーバー ログ収集サーバー
Fluentd Server
EC2
S3 bucket
Disk
アクセスログの解析
Fluentd + ElasticSearch + Kibana
アクセスログの可視化
まとめ
• AWSでのインフラは、段階として以下のように発展する
- どう構築するか
- どう運用するか(バックアップ、監視、ログ保存)
• 自分はインフラエンジニアではないと思っているが、

インフラの知識は必要
- かつインフラで忙殺される
• #nseg、#glnagano でインフラ勉強会があったら

参加したい
• JAWS-UG 長野支部がないことは気になっていた

(ここでも陸の孤島?)奔走された方々に感謝いたします
おわり

More Related Content

What's hot

AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
都元ダイスケ Miyamoto
 

What's hot (20)

AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
Amazon VPC VPN接続設定 参考資料
Amazon VPC VPN接続設定 参考資料Amazon VPC VPN接続設定 参考資料
Amazon VPC VPN接続設定 参考資料
 
20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
 
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
 
Aws auto scalingによるwebapサーバbatchサーバの構成例
Aws auto scalingによるwebapサーバbatchサーバの構成例Aws auto scalingによるwebapサーバbatchサーバの構成例
Aws auto scalingによるwebapサーバbatchサーバの構成例
 
AWSを用いたWebホスティング
AWSを用いたWebホスティングAWSを用いたWebホスティング
AWSを用いたWebホスティング
 
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理
 
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
Awsをオンプレドメコンに連携させる
Awsをオンプレドメコンに連携させるAwsをオンプレドメコンに連携させる
Awsをオンプレドメコンに連携させる
 
SD-WANって何だろう。使い方を知ってみよう(AWS分)
SD-WANって何だろう。使い方を知ってみよう(AWS分)SD-WANって何だろう。使い方を知ってみよう(AWS分)
SD-WANって何だろう。使い方を知ってみよう(AWS分)
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
Application Load Balancer
Application Load BalancerApplication Load Balancer
Application Load Balancer
 

Viewers also liked (6)

Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
アプリエンジニアがReactNativeに乗り換えたら
アプリエンジニアがReactNativeに乗り換えたらアプリエンジニアがReactNativeに乗り換えたら
アプリエンジニアがReactNativeに乗り換えたら
 
React Native 入門
React Native 入門React Native 入門
React Native 入門
 
 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事
 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事
 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
 

Similar to AWS クラウドで構築するスマホアプリ バックエンド

NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack について
Hiroyasu Suzuki
 
2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会
Koichiro Doi
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
都元ダイスケ Miyamoto
 
20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告
真吾 吉田
 

Similar to AWS クラウドで構築するスマホアプリ バックエンド (20)

NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack について
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
 
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDKAWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
 
AWS Update 2011/10
AWS Update 2011/10AWS Update 2011/10
AWS Update 2011/10
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価
 
cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
 
アマゾンにおけるAWSを用いた社内システム移行事例
アマゾンにおけるAWSを用いた社内システム移行事例アマゾンにおけるAWSを用いた社内システム移行事例
アマゾンにおけるAWSを用いた社内システム移行事例
 
2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS
 
Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化
Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化
Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
 
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
 
MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択
 
DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました
 
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPSサーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS
 
20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告
 

AWS クラウドで構築するスマホアプリ バックエンド