SlideShare a Scribd company logo
オンプレミスから
クラウドへの移行の実際
【完結編】
Cloud on the BEACH 2013 in 沖縄 前夜祭
2013年04月26日 @k_nishijima
13年4月27日土曜日
@k_nishijima
自己紹介
西島 幸一郎 / にしじま こういちろう
twitter : @k_nishijima
JAWS−UG沖縄の副代表、
やらせて頂いてます。
一応AWSのプロ
SolutionProviderOnTheBeach.com
13年4月27日土曜日
@k_nishijima
昨年11月に発表したこれの完結編
13年4月27日土曜日
@k_nishijima
無事(?)、完全移行完了しました
移行元ハードウェア:
✤ 1ラック(サーバ9台、NAS1台)
移行先AWS(もちろんVPC):
✤ 常設 EC2インスタンス × 2 + スポットインスタンス
✤ 常設 RDSインスタンス × 3
✤ 別リージョンで稼働していた4→2にして同居
13年4月27日土曜日
@k_nishijima
インスタンスの数は
随分減った様に見えるけど・・・
13年4月27日土曜日
@k_nishijima
当然、もろもろ手間も
かかりました。
13年4月27日土曜日
@k_nishijima
構成はこんな感じ
13年4月27日土曜日
@k_nishijima
色々はまりどころが。。。
NFS代替
新規実装
SMTP代替
JMS代替
SMTP代替
バージョン移行
全体として疎結合
13年4月27日土曜日
@k_nishijima
ひとつひとつ、
地道に潰して行きました
13年4月27日土曜日
@k_nishijima
あまり問題なかったところ
JMS→SQS移行
SQSに
ロングポーリングが
付いた!
13年4月27日土曜日
@k_nishijima
あまり問題なかったところ
作業中の昨年11月に実装されたので
さほど苦労せずローコストで移設完了
→『#AWSあるある』パターン
13年4月27日土曜日
@k_nishijima
あまり問題なかったところ
MySQL4.0(しかもShift-JISおえぇ!)
→ Amazon RDS for MySQL 5.5.x
結構死ねたが、AWSあまり関係ないので詳細は省く。
色々技を駆使して移行完了。
13年4月27日土曜日
@k_nishijima
あまり問題なかったところ
NFS → Amazon S3
すべてのファイルアクセスをS3向けに書き換え
ブログ書いた「JavaのURLクラスでS3プロトコルを
実装するときに気をつけること」
実際はURIスキームね
「s3://foobar/key/...」
13年4月27日土曜日
@k_nishijima
問題ないと思ってたのに…
SMTP → Amazon SES
アプリからはAPIを直接、各種デーモン用
はMTAをpostfix → exim4 に変えて
さくっと移行完了。
の、つもりだったのが!
13年4月27日土曜日
@k_nishijima
移行作業真っ最中、
メールが届かない問題発覚orz
13年4月27日土曜日
@k_nishijima
具体的には
『SESではZIPファイルを
添付したメールは送れない』
ええ、認識不足&テスト不足ですよ
ゴメンナサイm(_ _)m
13年4月27日土曜日
@k_nishijima
ドキュメントをよく読もう
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html
SESでは↑にあるファイルしか添付できない。
フォーラムでも定期的に炎上してるけど、
対応する予定は全く無いっぽい感じ。
なんか発想がおかしいとは思うけど
『スパマーには使わせないぜ!』
っていう強い意志?
13年4月27日土曜日
@k_nishijima
さてどうする?
結局、メール送信時にZIP添付ファイル
があるときだけ、別のSMTPサーバを
叩く様にコード修正。
また無駄なコードが増えた。。。
13年4月27日土曜日
@k_nishijima
その他にも
元々、各コンポーネント自体は疎結合。
しかし、今まで1ラック/1∼2つのHUBだっ
たのが、複数のサブネット/複数のデータ
センターに配置されたので、
ネットワークを経由する分の遅延が
それぞれ間にちょっとずつ増えた。
13年4月27日土曜日
@k_nishijima
「なんか遅くなったよね」
というクレームを頂くorz
13年4月27日土曜日
@k_nishijima
すみません、
すみません、
本当にすみませんm(_ _)m
13年4月27日土曜日
@k_nishijima
今は大丈夫(なハズ)です
• キャッシュしなくても「遅いと体感できなかった
部分」にキャッシュを追加
• 無駄にDBにクエリをかけていたところを削除
• その他ミイラ取りにならない程度にリファクタリング
で、従来と変わらない程度のパフォーマンスに
13年4月27日土曜日
@k_nishijima
ハマる話ばかりじゃつまらん
クラウドっぽい、格好いい(?)ところ。
ここですよ
ここ!
13年4月27日土曜日
@k_nishijima
ハマる話ばかりじゃつまらん
masterがworkerのライフサイクルを制御。
workerはインスタンス起動後、
自分のアプリをS3から取得してから、
キューをチェックしてバッチ実行。
→ それなんていうCDP!?
13年4月27日土曜日
@k_nishijima
もちろん自動で止まる
workerは決まった時間に決まった数
起動し、キューが空になったら終了する。
1. worker:キューが空になりました。自分の作業も終わったんでヨロ
2. master:そか、じゃまたね(API経由でshutdown)
(今は)オートスケールはさせないけど、
キューを監視し、バッチ完了想定時間内に
間に合いそうもなければworker追加
13年4月27日土曜日
@k_nishijima
このへんはAMIの作りとAPI
AMIはUser Dataにスクリプト書くとか、
cloud-initを使うとか。
APIからは当然、ほぼなんでも
出来るのでお好きな様に。
(※時々SDKにデグレが入るから注意ね!)
13年4月27日土曜日
@k_nishijima
ありがとうございました!
13年4月27日土曜日

More Related Content

What's hot

bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deploymentbitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deployment
bitbank, Inc. Tokyo, Japan
 
LambdaとDynamo DBでTwitter botを作ってみた
LambdaとDynamo DBでTwitter botを作ってみたLambdaとDynamo DBでTwitter botを作ってみた
LambdaとDynamo DBでTwitter botを作ってみた
Ren Fujiwara
 
CloudFront
CloudFrontCloudFront
CloudFront
Yutaka Hiroyama
 
awk入門
awk入門awk入門
awk入門
ika take
 
Cloud automator的なものを実装してみる
Cloud automator的なものを実装してみるCloud automator的なものを実装してみる
Cloud automator的なものを実装してみる
saku hatsu
 
Iugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugo Net
 

What's hot (6)

bitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deploymentbitbank LT Night #1 fargate blue green deployment
bitbank LT Night #1 fargate blue green deployment
 
LambdaとDynamo DBでTwitter botを作ってみた
LambdaとDynamo DBでTwitter botを作ってみたLambdaとDynamo DBでTwitter botを作ってみた
LambdaとDynamo DBでTwitter botを作ってみた
 
CloudFront
CloudFrontCloudFront
CloudFront
 
awk入門
awk入門awk入門
awk入門
 
Cloud automator的なものを実装してみる
Cloud automator的なものを実装してみるCloud automator的なものを実装してみる
Cloud automator的なものを実装してみる
 
Iugonet 20120810-nipr-sato
Iugonet 20120810-nipr-satoIugonet 20120810-nipr-sato
Iugonet 20120810-nipr-sato
 

Viewers also liked

エンジニア向け初めてのAWS (2015年1月6日)
エンジニア向け初めてのAWS (2015年1月6日)エンジニア向け初めてのAWS (2015年1月6日)
エンジニア向け初めてのAWS (2015年1月6日)
Koichiro Nishijima
 
[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践
[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践
[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践
Amazon Web Services Japan
 
AWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリAWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリ
Amazon Web Services Japan
 
クラウド時代に必要とされる組織と人材育成について
クラウド時代に必要とされる組織と人材育成についてクラウド時代に必要とされる組織と人材育成について
クラウド時代に必要とされる組織と人材育成について
Trainocate Japan, Ltd.
 
[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS Billingについて[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS BillingについてAmazon Web Services Japan
 
セキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイントセキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイント
Yasuhiro Araki, Ph.D
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンス
Amazon Web Services Japan
 
いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013SORACOM, INC
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
Akio Katayama
 

Viewers also liked (10)

エンジニア向け初めてのAWS (2015年1月6日)
エンジニア向け初めてのAWS (2015年1月6日)エンジニア向け初めてのAWS (2015年1月6日)
エンジニア向け初めてのAWS (2015年1月6日)
 
[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践
[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践
[AWS初心者向けWebinar] AWSへのアプリケーション移行の考え方と実践
 
AWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリAWSで実現するバックアップとディザスタリカバリ
AWSで実現するバックアップとディザスタリカバリ
 
クラウド時代に必要とされる組織と人材育成について
クラウド時代に必要とされる組織と人材育成についてクラウド時代に必要とされる組織と人材育成について
クラウド時代に必要とされる組織と人材育成について
 
[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS Billingについて[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS Billingについて
 
セキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイントセキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイント
 
AWSの課金体系
AWSの課金体系AWSの課金体系
AWSの課金体系
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンス
 
いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
 

Recently uploaded

単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 

Recently uploaded (15)

単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 

オンプレからクラウドへの移行 完結編