【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ...
-
Upload
hinemos -
Category
Technology
-
view
1.338 -
download
9
Transcript of 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ...
クラウドコントロールの最強タッグHinemosジョブ管理機能 × コマンドラインツール
2014.12.04株式会社クニエ
© 2014 QUNIE CORPORATION. All rights reserved.
アジェンダ
1. 会社紹介
2. ジョブ管理機能利用のすすめ
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
2
© 2014 QUNIE CORPORATION. All rights reserved.
会社紹介
1. 会社紹介
2. ジョブ管理機能利用のすすめ
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
3
© 2014 QUNIE CORPORATION. All rights reserved.
■ 会社名 株式会社 クニエ (英文 QUNIE CORPORATION)
■ 設 立 2009年7月1日
■ 株 主 株式会社 NTTデータ (100%)
■ 資本金 95百万円
■ 従業員数 約300名
■ 代表取締役社長 高木 真也
■ 事業内容 経営戦略・企業変革を実現するためのコンサルティングサービスの提供
■ URL www.qunie.com
■ 所在地 本社大阪オフィス名古屋オフィス福岡オフィス
〒107-0051 東京都港区元赤坂1-2-7 赤坂Kタワー〒530-0003 大阪市北区堂島3-1-21 NTTデータ堂島ビル〒461-8605 名古屋市東区葵1-20-6 NTTデータ葵ビル〒812-0011 福岡市博多区博多駅前1-17-21 NTTDATA博多駅前ビル
会社プロフィール
4
© 2014 QUNIE CORPORATION. All rights reserved.
IT基盤ソリューション全体像
基盤構築
移行
運用管理
セキュリティ
インターフェース
最適なインフラバックアップDR
サーバデータベースSAP
Hinemos 監視Hinemos ジョブ管理
クラウド環境暗号化 ProtectVWAF InfoCage SiteShell
ETL Talend
仮想プライベートクラウド
パブリッククラウド
システムイニシアティブ支援
アセスメント
クニエは先進のクラウド技術に取組み、オープンソースソフトウェアなどを活用し企業のIT環境の最適化を支援しています。
5
© 2014 QUNIE CORPORATION. All rights reserved.
HinemosはNTTデータが開発主体となっているオープンソースの統合運⽤管理ツールです。クニエはHinemosのソリューションパートナーです。
クニエは Amazon Web Services のAPNコンサルティングパートナーです。
クニエはSAPのサービスパートナーです。
パートナーシップ
6
© 2014 QUNIE CORPORATION. All rights reserved.
クニエのクラウドへの取り組み
クニエはAmazon Web ServicesのAPNコンサルティングパートナーです。エンタープライズ領域において多くの実績があります。
2012年上期AWSパートナーアワードエンタープライズ部⾨受賞
SAP AWARD OF EXCELLENCE 2014プロジェクトアワード受賞
7
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブ管理機能利用のすすめ
1. 会社紹介
2. ジョブ管理機能利用のすすめ
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
8
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブ管理機能利用のすすめHinemos利用の優位性
Hinemosのジョブ管理機能を利⽤することで定期的な作業を⾃動化し運⽤負荷をおさえる事が可能です。
複数ジョブの順次実⾏複数ジョブの順次実⾏
ジョブの実⾏結果を1画⾯から確認
ジョブの実⾏結果を1画⾯から確認
cron
Linux Windows
Hinemosマネージャ
ジョブツール利⽤なし
タスクスケジューラ
Hinemos利⽤
Linux Windows Linux
ジョブ1 ジョブ2 ジョブ3
複雑なジョブの作成が困難複雑なジョブの作成が困難
実⾏結果の確認に⼿間がかかる実⾏結果の確認に⼿間がかかる
9
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブ管理機能利用のすすめクラウド操作もジョブ管理機能で
Hinemosのジョブは管理対象サーバに対する処理を実⾏します。AWSのAPIエンドポイントやHinemos⾃⾝を制御するコマンドを使うことでジョブを実⾏することが出来ます。
ジョブ利⽤
Linux Windows Unix
管理対象のサーバに対してジョブ(処理)を実⾏管理対象のサーバに対してジョブ(処理)を実⾏
クラウドやHinemos⾃⾝の制御をジョブで
AWSコマンドラインインターフェイス
AWSコマンドラインインターフェイス
Hinemosコマンドラインツール
Hinemosコマンドラインツール
10
Hinemosエージェント
Hinemosエージェント
Hinemosエージェント
Hinemosマネージャ Hinemos
マネージャ
Hinemosエージェント
Amazon EC2
Amazon S3
Amazon EBS
以降の説明はこの構成が前提
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブ管理機能利用のすすめコマンドラインツールとの相性
AWS等のクラウドやHinemosのようなツールはAPIベースのコマンドラインツールが⽤意されています。そのようなコマンドをHinemosジョブにすることで⼀連の処理を実⾏する事が出来ます。
⼀連の処理をジョブネットとして実⾏⼀連の処理をジョブネットとして実⾏
1つのコマンドからは1つの処理1つのコマンドからは1つの処理
コマンドラインツールコマンドラインツール Hinemosのジョブ管理機能Hinemosのジョブ管理機能
ジョブネットジョブネット
スナップショット取得スナップショット取得
ジョブリージョン間コピーリージョン間コピー
スナップショットへのタグ付けスナップショットへのタグ付け
スナップショット世代数調整スナップショット世代数調整
ジョブ ジョブ ジョブ
各コマンドをジョブでつなげて⼀連の処理を実⾏各コマンドをジョブでつなげて⼀連の処理を実⾏
aws ec2 create-snapshotaws ec2 create-snapshot
aws ec2 copy-snapshotaws ec2 copy-snapshot
aws ec2 create-tagsaws ec2 create-tags
aws ec2 delete-snapshotaws ec2 delete-snapshot
11
HinemosHinemos
コマンド1コマンド1
コマンド2コマンド2
コマンド3コマンド3
croncron
コマンド4コマンド4
障害発生した箇所から再実行
メンテナンス性の向上 異常終了時の原因解明が容易
スクリプトファイル
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosのジョブ管理機能(⼀部抜粋)
ジョブ管理機能利用のすすめ補足
Hinemosは商⽤製品と遜⾊ないジョブ管理機能を備えています。
サーバを跨る⼀連の処理をジョブネットとして実⾏
GUIによる実⾏状況の確認や、停⽌、中断、再開のオペレーション
業務カレンダに沿ったスケジュール実⾏
26時にジョブ実⾏など、スケジュールの48時間対応
ジョブの終了結果による分岐、複数ジョブの終了待機
ログインユーザ毎のジョブの参加可否の制御
実⾏予定ジョブの⼀覧表⽰
ジョブの開始遅延、終了遅延の監視
ジョブの多重度指定による同時実⾏数の制限
12
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?
1. 会社紹介
2. ジョブ管理機能利用のすすめ
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
13
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?
ジョブによりEC2の起動・停⽌を⾃動化することでAWSコストを節約できますが「AMIからEC2の起動、利⽤しないときはAMI化しEC2を削除する」この⼀連の処理を⾃動化し、さらにコストを抑えることできます。
開発機開発機
Stopped
Started
EC2の課⾦体系① 利⽤時間×時間単価② EBSの確保量③ EC2とEBS間のInput/Output回数④ データ転送量(Internetの外へ)
EC2の起動停⽌のジョブ化
8:00
20:00
EC2←→AMIのジョブ化
8:00
20:00
EC2の利⽤時間を制限しコスト削減EC2の利⽤時間を制限しコスト削減
EC2の利⽤時間を制限することに加えEBSをS3に退避しさらにコスト削減
EC2の利⽤時間を制限することに加えEBSをS3に退避しさらにコスト削減
14
AMI
© 2014 QUNIE CORPORATION. All rights reserved.
料⾦最初の1GB/⽉ $0.000/GB10TBまで/⽉ $0.201/GB
料⾦最初の1GB/⽉ $0.000/GB10TBまで/⽉ $0.201/GB
100万 I/Oリクエストあたり$0.08※1秒間のI/O数を指定できるオプションもあります。100万 I/Oリクエストあたり$0.08※1秒間のI/O数を指定できるオプションもあります。
$0.08/1GB/1ヶ⽉※後から容量の変更可能。複数ボリュームをアタッチ可能。$0.08/1GB/1ヶ⽉※後から容量の変更可能。複数ボリュームをアタッチ可能。
インスタンスの種類や⼤きさにより時間単価が異なります。予約割引(リザーブドインスタンス)や余剰リソースの定額利⽤(スポットインスタンス)といった割引オプションもあります。
インスタンスの種類や⼤きさにより時間単価が異なります。予約割引(リザーブドインスタンス)や余剰リソースの定額利⽤(スポットインスタンス)といった割引オプションもあります。
EC2は止めるだけ?EC2の課金体系
Amazon EC2の課⾦体系は下記の①〜④で構成され、①〜④の合計が⼀ヶ⽉の利⽤⾦額になります。
①EC2インスタンスの利⽤時間×時間単価①EC2インスタンスの利⽤時間×時間単価
②EBS(仮想ハードディスク)の確保量②EBS(仮想ハードディスク)の確保量
④データ転送量(Internetへ出て⾏く分のみ)④データ転送量(Internetへ出て⾏く分のみ)
③EC2とEBS間のInput/Outputの回数③EC2とEBS間のInput/Outputの回数
⽤途にも依るが多くの場合①と②で全体料⾦の⼤部分を占める
⽤途にも依るが多くの場合①と②で全体料⾦の⼤部分を占める
S3の料⾦は$0.033/1GB/1ヶ⽉EBS料⾦の約1/3
S3の料⾦は$0.033/1GB/1ヶ⽉EBS料⾦の約1/3
価格は2014年11⽉現在の東京リージョンの価格です
15
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?EC2の起動・停止のジョブとコマンド例
EC2起動コマンド例$ aws ec2 start-instances --instance-ids i-xxxxxxxxx
EC2停⽌コマンド例$ aws ec2 stop-instances --instance-ids i-xxxxxxxxx
16
Hinemosのクラウド管理オプションEnterprise版ではもっと簡単に実現できます
EC2の起動停⽌のジョブEC2の起動停⽌のジョブ
EC2起動EC2起動 EC2停⽌EC2停⽌ジョブ ジョブ開発機
Stopped
Started
EC2の起動停⽌のジョブ
8:00
20:00
対象のインスタンスIDは固定でも可対象のインスタンスIDは固定でも可
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosクラウド管理オプション機能⼀覧
EC2は止めるだけ?補足 クラウド管理オプションとは
17
マルチクラウド管理
クラウド専⽤監視
リソース制御
⾃動化
バックアップ管理
テンプレート管理
課⾦配賦管理
リージョン/ゾーン管理
アカウント/ユーザ管理
クラウド課⾦監視
クラウド監視(※)
クラウドリソース監視(※)
サーバ管理
リソース管理
クラウドリソース検知
クラウドリソース制御(※)
サーババックアップ
ストレージバックアップ
テンプレート管理
課⾦配賦(※)
課⾦レポート(※)
Hinemosクラウド管理オプションは、Hinemosにクラウド(IaaS)を運⽤管理・構築・活⽤する機能を付加するオプションです。
(※) Enterpriseエディションのみの機能です。
仮想サーバの起動/停⽌バックアップ/世代管理等を⾃動化
© 2014 QUNIE CORPORATION. All rights reserved.
$ aws ec2 create-image --instance-id i-xxxxxx --name “webdev" --description "AMI for webdev1"
EC2は止めるだけ?EC2作成、AMI作成について
$ aws ec2 run-instances --image-id ami-xxxxxx --count 1 --instance-type t1.micro --key-name MyKeyPair --security-group-ids sg-xxxxxxx --subnet-id subnet-xxxxxx
AMI作成コマンド例
開発機
EC2←→AMIのジョブ
8:00
20:00
EC2←→AMIのジョブEC2←→AMIのジョブ
EC2作成EC2作成 AMI作成AMI作成ジョブ ジョブ
EC2作成コマンド例
18
ジョブ化する上で対象のインスタンスIDやAMIのIDを固定にするのは不可
AMIの保存世代数を調整するジョブも必要
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?EC2作成、AMI作成について 対象ID取得について
$ aws ec2 describe-images --owners self --filters "Name=name,Values=webdev" --query "Images[*].[ImageId]" --output text
インスタンスIDを取得するコマンド例$ aws ec2 describe-instances --filters "Name=tag:Name,Values=webdev" --query "Reservations[*].Instances[*].[InstanceId]" --output text
AMI IDを取得するコマンド例
Name webdevName webdev EC2
対象とするAMI IDを取得対象とするAMI IDを取得
aws ec2 describe-imagesaws ec2 describe-images
対象とするインスタンスIDを取得対象とするインスタンスIDを取得
aws ec2 describe-instancesaws ec2 describe-instancesAMI
19
タグタグName属性Name属性
実際には世代管理されたAMI群から最新のAMI IDを取得する必要がある実際には世代管理されたAMI群から最新のAMI IDを取得する必要がある
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?EC2作成、AMI作成について 最新のAMI IDの取得について
$ aws ec2 describe-images --owners self --filters "Name=name,Values=webdev*" | jq -r '.Images | sort_by(.Name)| .[] | .ImageId' | tail -1
AMI IDを取得するコマンド例
aws ec2 describe-imagesaws ec2 describe-images
AMI
20
「Name」属性の値の先頭⽂字列が同⼀のもの中から最新のAMI IDを取得「Name」属性の値の先頭⽂字列が同⼀のもの中から最新のAMI IDを取得
Name webdev20141102
Name webdev20141101
Name webdev20141103
Name属性Name属性
JSON 形式のデータを sed や awk のようにフィルタ・加⼯するためのツール。OS標準では含まれていないので別途インストールする必要あり。
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?EC2作成、AMI作成について EC2属性情報の保存先
EC2からAMI化する際にEC2の各種属性情報をAMIのタグに設定します。AMIからEC2をlaunchする際には、タグの内容を参照しEC2をLaunchします。
Name
keyname
webdev20141124
hinemos
InstanceType m1small
PrivateIP 10.0.1.100
SecurityGroup sg-xxxxxx
Subnet subnet-xxxxxx
key value
開発機
等々
EC2の各種属性情報をAMIのタグに設定EC2の各種属性情報をAMIのタグに設定
AMIAMIのタグを参照しEC2をLaunchするAMIのタグを参照しEC2をLaunchする
21
開発機
EC2の関する各種属性はタグから取得するEC2の関する各種属性はタグから取得する
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?EC2作成ジョブネット
EC2作成ジョブネットは複数のジョブで構成した時、ジョブ間での値の受け渡し⼿段の1つとして下記の通りになります。
EC2化の対象となる最新のAMI ID取得EC2化の対象となる最新のAMI ID取得
• EC2作成• タグ付け• EC2作成• タグ付け
EC2Launchジョブネット(AMI→EC2)EC2Launchジョブネット(AMI→EC2)
Name webdev*
「Name」属性の先頭⽂字列が同⼀のもの中から最新のAMI IDを取得
「Name」属性の先頭⽂字列が同⼀のもの中から最新のAMI IDを取得
ジョブ1 ジョブ2
AMI IDからEC2をLaunchAMI IDからEC2をLaunch
EC2
Name webdev
AMI ID
出⼒ 参照
EC2←→AMIのジョブ
8:00
20:00
22
AMI化する際にNameの値からインスタンスIDを取得するため
AMI化する際にNameの値からインスタンスIDを取得するため
AMI IDが必要
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?AMI作成ジョブネット
AMI作成ジョブネットを複数のジョブから構成した時、ジョブ間での値の受け渡しに⼀時ファイル等を利⽤します。
AMI化AMI化 AMIタグ付け
AMIタグ付け
AMI化 ジョブネット(EC2→AMI)AMI化 ジョブネット(EC2→AMI)
AMI世代数調整
AMI世代数調整
EC2削除EC2削除
引数で指定したNameから対象となるEC2のインスタンスIDを取得し、AMI化する
引数で指定したNameから対象となるEC2のインスタンスIDを取得し、AMI化する
EC2を削除するEC2を削除する
タグ「Name」の値が同⼀のものの中から作成⽇時が⼀番古いAMI を削除する
タグ「Name」の値が同⼀のものの中から作成⽇時が⼀番古いAMI を削除する
ジョブ1 ジョブ2
ジョブ4
ジョブ3
EC2
Name
Size
Subnet
webdevYYYMMDD
10
xxxxx等々
EC2
EC2
Name
対象のEC2の属性値をAMIのタグに設定する対象のEC2の属性値をAMIのタグに設定する
EC2←→AMIのジョブ
8:00
20:00
23
InstanceIDAMI ID
InstanceID
出⼒
参照
参照
webdevYYYMMDDName
Namewebdev
YYYMMDDwebdev
YYYMMDD
AMIに紐付いたSnapshotの削除も必要
© 2014 QUNIE CORPORATION. All rights reserved.
EC2は止めるだけ?EC2作成ジョブネット コマンド例
#aws ec2 create-tags --resources ${amiid} --tags Key=instancetype,Value=m1.micro
AMIにタグ付けするコマンド例
24
#aws ec2 terminate-instances --instance-ids ${instanceid} EC2を削除するコマンド例
# snapshotid =`aws ec2 describe-images --image-ids ${amiid} | jq -r .[][]."BlockDeviceMappings"[]."Ebs"."SnapshotId“`
#aws ec2 deregister-image --image-id ${amiid}
#aws ec2 delete-snapshot --snapshot-id ${snapshotid}
AMIを削除するコマンド例
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえ
1. 会社紹介
2. ジョブ管理機能利用のすすめ
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
25
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブを実⾏する時間帯のみHinemosマネージャを起動させる為に、AWSのサービスを活⽤します。
Hinemosマネージャも止めてしまえHinemosマネージャの起動制御
Hinemos
HinemosManager AMI
DRサイト
SAP
①指定した時刻にHinemosManger
起動
・SAP起動ジョブを実⾏する時間帯のみHinemosマネージャを起動することでよりコスト削減
・トランザクションログダウンロード・ログ適⽤
トランザクションログ
26
Auto ScalingAuto Scaling
②ジョブ実⾏のトリガーは?
①privateIPを指定しての起動ができない。
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャ⽤のバーチャルIPを定義し、Hinemosエージェントはマネージャに対してバーチャルIP宛てに接続するようにします。こうすることでHinemosマネージャのプライベートIPに依存せず、エージェントはマネージャに接続することが出来ます。なお、マネージャからのエージェントへの接続は、エージェントのプライベートIPに接続します。
Hinemosマネージャも止めてしまえ①privateIPを指定しての起動ができない
27
SAPHinemosマネージャ
Source/Destチェックを無効化するSource/Destチェックを無効化する
Hinemosマネージャ⽤バーチャルIP:192.168.1.100
10.175.10.112/28 10.175.10.16/28
10.175.10.xxx 10.175.10.21
Router
⾃⾝のループバックアドレスにバーチャルIPを設定⾃⾝のループバックアドレスにバーチャルIPを設定
Hinemosエージェント
192.168.1.100をHinemosマネージャにルーティングする192.168.1.100をHinemosマネージャにルーティングする
AMIAutoScalingにより作成
192.168.1.100
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブ実⾏はEC2に備わっている機能より実⾏します。
Hinemosマネージャも止めてしまえ②ジョブ実行のトリガーについて
Auto Scaling HinemosManager AMI
DRサイト
AM2:30
AM2:00
Auto Scaling HinemosManager AMI
DRサイト
AM2:00
ジョブのスケジュール
実⾏
UserData内でHinemosコマンドラインツールの活⽤
UserData内でHinemosコマンドラインツールの活⽤
28
UserDataよりジョブを実⾏UserDataよりジョブを実⾏
AutoScalingのスケジュール時刻とジョブのスケジュール時刻をずらす
AutoScalingのスケジュール時刻とジョブのスケジュール時刻をずらす
インスタンス作成時にタスクやスクリプトを実⾏する仕組み
EC2が起動してすぐにジョブが実⾏される
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえAutoScaling関連 コマンド例
Launchconfig作成コマンド例aws autoscaling create-launch-configuration --launch-configuration-name hw2014-asconf --key-name hinemos --image-id ami-xxxxxxx --instance-type m1.small --associate-public-ip-address --user-data file:///tmp/hw2014data.txt
29
AutoscalingGroup作成コマンド例aws autoscaling create-auto-scaling-group --auto-scaling-group-name hw2014-asg --launch-configuration-name hw2014-asconf --min-size 0 --max-size 0 --vpc-zone-identifier subnet-xxxxxxxx
Autoscalingスケジューリング設定コマンド例aws autoscaling put-scheduled-update-group-action --auto-scaling-group-name hw2014-asg --scheduled-action-name hw2014-action --recurrence "0 16 * * *" --min-size 1 --max-size 1
毎⽇16時(UTC)
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえUserData内の処理
UserData内の処理1 #! /bin/bash
export AWS_DEFAULT_REGION=`wget -q -O- http://169.254.169.254/latest/meta-data/hostname | cut -d. -f2`echo $AWS_DEFAULT_REGION >/tmp/userdata.log
#Get Instance-idInstanceID=`curl http://169.254.169.254/latest/meta-data/instance-id`
#HostName SettingHostName=HINEMOS412sed -i -e "s|^HOSTNAME=[a-zA-Z0-9.-]*$|HOSTNAME=$HostName|g" /etc/sysconfig/networkhostname $HostName
30
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえUserData内の処理
UserData内の処理2 #SNMP Settingmac=`ifconfig eth0 | grep ^eth0 | awk '{print $5}' | tr '[:upper:]' '[:lower:]'`vpccidr=`wget -q -O- http://169.254.169.254/latest/meta-data/network/interfaces/macs/$mac/vpc-ipv4-cidr-block`
sed -i -e "s|^com2sec mynetwork [a-zA-Z0-9.-].*¥/[a-zA-Z0-9.-].* [a-zA-Z0-9.-].*$|com2sec mynetwork $vpccidr public|g" /etc/snmp/snmpd.confservice snmpd restart >>/tmp/userdata.log¥n 2>&1
#Source/dest. check Settingaws ec2 modify-instance-attribute --instance-id $InstanceID --no-source-dest-check >>/tmp/userdata.log 2>&1
31
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえUserData内の処理
UserData内の処理3#PrivateRouteTable Settingaws ec2 create-route --route-table-id rtb-5d24d838 --destination-cidr-block 192.168.1.100/32 --instance-id $InstanceID >>/tmp/userdata.log 2>&1
aws ec2 create-route --route-table-id rtb-5924d83c --destination-cidr-block 192.168.1.100/32 --instance-id $InstanceID >>/tmp/userdata.log 2>&1
32
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえUserData内の処理
UserData内の処理4#HinemosManager Start/opt/hinemos/bin/hinemos_start.sh >>/tmp/userdata.log 2>&1chkconfig hinemos_manager on
#HinemosManager AddNodeprivateip=`wget -q -O- http://169.254.169.254/latest/meta-data/network/interfaces/macs/$mac/local-ipv4s`/opt/hinemos_command_line/Repository_addNode.py -w hinemos -I $privateip -F HINEMOSMA412 -N HINEMOSMA412 >>/tmp/userdata.log 2>&1
#ScopSetecho /opt/hinemos_command_line/Repository_assignNodeScope.py -w hinemos -P 050SP510 -F HINEMOSMA412 >>/tmp/userdata.log/opt/hinemos_command_line/Repository_assignNodeScope.py -w hinemos -P 050SP510 -F HINEMOSMA412 >>/tmp/userdata.log 2>&1
33
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえUserData内の処理
UserData内の処理5 #Job Runecho /opt/hinemos_command_line/Job_runJob.py -w hinemos -u Z030 -J Z030N010 >>/tmp/userdata.log/opt/hinemos_command_line/Job_runJob.py -w hinemos -u Z030 -J Z030N010 >>/tmp/userdata.log
34
© 2014 QUNIE CORPORATION. All rights reserved.
ジョブの実⾏結果を確認するために、ログをS3へ退避します。ジョブの最後には⾃分⾃⾝を消滅させるジョブが必要です。
Hinemosマネージャも止めてしまえ自身を消滅させるジョブ
Hinemos
SAPサーバ起動SAPサーバ起動
DB起動DB起動
トランザクションログダウンロード
トランザクションログダウンロード
トランザクションログ適⽤
トランザクションログ適⽤
トランザクションログのハウスキープジョブトランザクションログのハウスキープジョブ
SAPサーバ停⽌SAPサーバ停⽌
DB停⽌DB停⽌
Auto Scaling HinemosManager AMI
DRサイト
⾃分⾃⾝を消滅させるジョブ
⾃分⾃⾝を消滅させるジョブ
Hinemos
ジョブネットジョブネット
ジョブの実⾏結果出⼒ジョブの実⾏結果出⼒
S3への実⾏結果をアップロード
S3への実⾏結果をアップロード
35
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえコマンド例
ジョブの実⾏結果出⼒コマンド/opt/hinemos_command_line/Job_getNodeDetailList.py -H http://10.xxx.xxx.xxx:8080/HinemosWS/ -U hinemos -w hinemos -u Z020 -J Z020N020J010 -S 20141119100517-000[(jobNodeDetail){
endDate = "2014/11/19 10:06:26.964"endValue = 0facilityId = "HINEMOSA412"message = “log restore successfull"nodeName = "HINEMOSA412"startDate = "2014/11/19 10:05:26.905"status = 300
}]http://10.xxx.xxx.xxx:8080/HinemosWS/, getNodeDetailList success
S3へログのアップロード実⾏コマンドaws s3 sync /tmp/logshiplogs s3://logshiplog2014
36
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemosマネージャも止めてしまえコマンド例
37
⾃分⾃⾝を消滅させる実⾏コマンドaws autoscaling update-auto-scaling-group --auto-scaling-group-name hw2014-asg --launch-configuration-name hw2014-asconf --min-size 0 --max-size 0
© 2014 QUNIE CORPORATION. All rights reserved.
DR環境一発構築
1. 会社紹介
2. ジョブ管理機能とは
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
38
© 2014 QUNIE CORPORATION. All rights reserved.
AWS上で運⽤している本番サイトにて⼤規模障害が発⽣する場合に備え、DRサイトをHinemosジョブより⾃動的に構築します。
DR環境一発構築想定シナリオ
CloudFormation
本番サイト(東京) DRサイト(シンガポール)
Hinemos Hinemos
39
© 2014 QUNIE CORPORATION. All rights reserved.
CloudFormationとは、システム構成をテンプレートとして記述し、その構成をまるごと作成、更新、削除できるサービスです。テンプレートに記載するリソースをパラメータ化することが可能で動的に値を指定することが可能です。
DR環境一発構築CloudFormation
template
VPCに関する各種構成(主要なもの)
サブネットグループアベイラビリティゾーン
ルートテーブルネットワークアクセスリスト
インターネットゲートウェイカスタマーゲートウェイVPNコネクション設定
EC2に関する各種構成(主要なもの)
Volumu TypeSize(GB)
AMI-IDSNAPSHOT-ID
所属するVPC
セキュリティグループ
適⽤するセキュリティグループ所属するサブネット
プライベートIP
本番サイトからDRサイトに⽇々コピーしてくる各種AMIの最新のAMI-IDやスナップショットIDを指定
40
© 2014 QUNIE CORPORATION. All rights reserved.
DR環境一発構築ジョブについて
41
DRサイト
DR環境構築ジョブDR環境構築ジョブ
DR環境構築ジョブDR環境構築ジョブジョブ1
Amazon S3
AMI群
SnapShot群
Subnet Subnet
SubnetSubnet
Internet Gateway
Virtual Private Gateway
aws cloudformation create-stackaws cloudformation create-stack
© 2014 QUNIE CORPORATION. All rights reserved.
DR環境一発構築 日々の運用CloudFormationコマンド類
Create-stackコマンド例aws cloudformation create-stack --stack-name hw2014dr --template-url https://s3.amazonaws.com/hw2014/hw2014.template --parameters ParameterKey=KeyName,ParameterValue=hinemos--parameters ParameterKey=WEBSERVER1,ParameterValue=ami-xxxxxx--parameters ParameterKey=APSERVER1,ParameterValue=ami-yyyyyy--parameters ParameterKey=DBSERVER1,ParameterValue=ami-zzzzzz
42
パラメータの数は60個まで指定可能
このコマンドを実⾏前にパラメータに指定する各種最新のami-idを取得する処理が必要
© 2014 QUNIE CORPORATION. All rights reserved.
まとめ
1. 会社紹介
2. ジョブ管理機能利用のすすめ
3. EC2は止めるだけ?
4.Hinemosマネージャも止めてしまえ
5.DR環境一発構築
6. まとめ
43
© 2014 QUNIE CORPORATION. All rights reserved.
まとめ
HinemosジョブよりCloudFormationのスタックを⼀発で作成するHinemosジョブよりCloudFormationのスタックを⼀発で作成する
AutoScaling機能によりHinemosマネージャ⾃⾝を起動させUserData内でジョブ実⾏するAutoScaling機能によりHinemosマネージャ⾃⾝を起動させUserData内でジョブ実⾏する
⼿動では⾯倒なAMI化もジョブ化してAWSコストをより低減します⼿動では⾯倒なAMI化もジョブ化してAWSコストをより低減します
①EC2はとめるだけ?①EC2はとめるだけ?
②Hinemosマネージャも⽌めてしまえ②Hinemosマネージャも⽌めてしまえ
③DR環境⼀発構築③DR環境⼀発構築
44
Hinemosのジョブ管理機能とコマンドを組み合わせれば⾃在にクラウド、Hinemosを操作できます。
Hinemosのジョブ管理機能とコマンドを組み合わせれば⾃在にクラウド、Hinemosを操作できます。
© 2014 QUNIE CORPORATION. All rights reserved.
付録:クニエの関連ソリューション・サービス
1. Hinemos クラウドサービス運⽤管理ソリューション for Amazon Web Services2. Hinemos SAP連携ソリューション
45
© 2014 QUNIE CORPORATION. All rights reserved.
クラウドサービス運用管理ソリューション for Amazon Web Services
Amazon Web Services
QUNIEフレームワーククラウドサービス運用管理ソリューション for Amazon Web Services
Amazon EC2 API / Hinemos WebAPIAmazon EC2 API / Hinemos WebAPI
コントロール
•監視
•リソースコントロール
•バックアップ
•課金アラート
機能活用
•バックアップ・Storage Gateway•災害対策
EBSEBS
S3S3EC2EC2
EBSEBS
EC2EC2
EBSEBS
EC2EC2
HinemosによるAmazon Web ServicesのEC2/EBS/S3で構成されるリソース群の運⽤管理を実現します。監視機能の他、テンプレート化したバックアップ、サーバ制御機能もご提供いたします。
クラウド管理オプションクラウド管理オプション
46
© 2014 QUNIE CORPORATION. All rights reserved.
Hinemos SAP連携ソリューション
クニエのHinemos SAP連携ソリューションは、監視管理、ジョブ制御の機能を提供します。双⽅の機能を併せ持つ、Hinemosの特徴を⽣かし、運⽤の効率性を⾼めることと、⼤幅なコスト削減の両⽴を実現します。
Hinemos環境への追加構築設定としてご提供いたします。よって、SAPオプションとしての追加ライセンス費⽤は発⽣しません。
47
© 2014 QUNIE CORPORATION. All rights reserved.
本件に関するお問い合わせ先
TEL : 03(5785)2292HP : http://www.qunie.comE-MAIL : [email protected]
シニア・テクノロジー・アーキテクト阪⽥ 義浩 Yoshihiro [email protected](直通)Tel: 080-7003-7682 Fax 03-5785-2293
シニア・テクノロジー・コンサルタント芦⽥ 剛⼠ Satoshi [email protected](代表)Tel: 03-5785-2292 Fax 03-5785-2293
48