SlideShare a Scribd company logo
1 of 27
オンプレミスから
クラウドへの移行の実際
【完結編】
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 deploymentbitbank, 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
 
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

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (14)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

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