【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ...

48
クラウドコントロールの最強タッグ Hinemosジョブ管理機能 × コマンドラインツール 2014.12.04 株式会社クニエ

Transcript of 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ...

Page 1: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

クラウドコントロールの最強タッグHinemosジョブ管理機能 × コマンドラインツール

2014.12.04株式会社クニエ

Page 2: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

アジェンダ

1. 会社紹介

2. ジョブ管理機能利用のすすめ

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

2

Page 3: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

会社紹介

1. 会社紹介

2. ジョブ管理機能利用のすすめ

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

3

Page 4: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 5: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

IT基盤ソリューション全体像

基盤構築

移行

運用管理

セキュリティ

インターフェース

最適なインフラバックアップDR

サーバデータベースSAP

Hinemos 監視Hinemos ジョブ管理

クラウド環境暗号化 ProtectVWAF InfoCage SiteShell

ETL Talend

仮想プライベートクラウド

パブリッククラウド

システムイニシアティブ支援

アセスメント

クニエは先進のクラウド技術に取組み、オープンソースソフトウェアなどを活用し企業のIT環境の最適化を支援しています。

5

Page 6: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

HinemosはNTTデータが開発主体となっているオープンソースの統合運⽤管理ツールです。クニエはHinemosのソリューションパートナーです。

クニエは Amazon Web Services のAPNコンサルティングパートナーです。

クニエはSAPのサービスパートナーです。

パートナーシップ

6

Page 7: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

クニエのクラウドへの取り組み

クニエはAmazon Web ServicesのAPNコンサルティングパートナーです。エンタープライズ領域において多くの実績があります。

2012年上期AWSパートナーアワードエンタープライズ部⾨受賞

SAP AWARD OF EXCELLENCE 2014プロジェクトアワード受賞

7

Page 8: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

ジョブ管理機能利用のすすめ

1. 会社紹介

2. ジョブ管理機能利用のすすめ

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

8

Page 9: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

ジョブ管理機能利用のすすめHinemos利用の優位性

Hinemosのジョブ管理機能を利⽤することで定期的な作業を⾃動化し運⽤負荷をおさえる事が可能です。

複数ジョブの順次実⾏複数ジョブの順次実⾏

ジョブの実⾏結果を1画⾯から確認

ジョブの実⾏結果を1画⾯から確認

cron

Linux Windows

Hinemosマネージャ

ジョブツール利⽤なし

タスクスケジューラ

Hinemos利⽤

Linux Windows Linux

ジョブ1 ジョブ2 ジョブ3

複雑なジョブの作成が困難複雑なジョブの作成が困難

実⾏結果の確認に⼿間がかかる実⾏結果の確認に⼿間がかかる

9

Page 10: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

以降の説明はこの構成が前提

Page 11: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

障害発生した箇所から再実行

メンテナンス性の向上 異常終了時の原因解明が容易

スクリプトファイル

Page 12: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

Hinemosのジョブ管理機能(⼀部抜粋)

ジョブ管理機能利用のすすめ補足

Hinemosは商⽤製品と遜⾊ないジョブ管理機能を備えています。

サーバを跨る⼀連の処理をジョブネットとして実⾏

GUIによる実⾏状況の確認や、停⽌、中断、再開のオペレーション

業務カレンダに沿ったスケジュール実⾏

26時にジョブ実⾏など、スケジュールの48時間対応

ジョブの終了結果による分岐、複数ジョブの終了待機

ログインユーザ毎のジョブの参加可否の制御

実⾏予定ジョブの⼀覧表⽰

ジョブの開始遅延、終了遅延の監視

ジョブの多重度指定による同時実⾏数の制限

12

Page 13: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

EC2は止めるだけ?

1. 会社紹介

2. ジョブ管理機能利用のすすめ

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

13

Page 14: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 15: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 16: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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は固定でも可

Page 17: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

Hinemosクラウド管理オプション機能⼀覧

EC2は止めるだけ?補足 クラウド管理オプションとは

17

マルチクラウド管理

クラウド専⽤監視

リソース制御

⾃動化

バックアップ管理

テンプレート管理

課⾦配賦管理

リージョン/ゾーン管理

アカウント/ユーザ管理

クラウド課⾦監視

クラウド監視(※)

クラウドリソース監視(※)

サーバ管理

リソース管理

クラウドリソース検知

クラウドリソース制御(※)

サーババックアップ

ストレージバックアップ

テンプレート管理

課⾦配賦(※)

課⾦レポート(※)

Hinemosクラウド管理オプションは、Hinemosにクラウド(IaaS)を運⽤管理・構築・活⽤する機能を付加するオプションです。

(※) Enterpriseエディションのみの機能です。

仮想サーバの起動/停⽌バックアップ/世代管理等を⾃動化

Page 18: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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の保存世代数を調整するジョブも必要

Page 19: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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を取得する必要がある

Page 20: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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標準では含まれていないので別途インストールする必要あり。

Page 21: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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の関する各種属性はタグから取得する

Page 22: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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が必要

Page 23: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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の削除も必要

Page 24: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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を削除するコマンド例

Page 25: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

Hinemosマネージャも止めてしまえ

1. 会社紹介

2. ジョブ管理機能利用のすすめ

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

25

Page 26: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

ジョブを実⾏する時間帯のみHinemosマネージャを起動させる為に、AWSのサービスを活⽤します。

Hinemosマネージャも止めてしまえHinemosマネージャの起動制御

Hinemos

HinemosManager AMI

DRサイト

SAP

①指定した時刻にHinemosManger

起動

・SAP起動ジョブを実⾏する時間帯のみHinemosマネージャを起動することでよりコスト削減

・トランザクションログダウンロード・ログ適⽤

トランザクションログ

26

Auto ScalingAuto Scaling

②ジョブ実⾏のトリガーは?

①privateIPを指定しての起動ができない。

Page 27: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 28: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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が起動してすぐにジョブが実⾏される

Page 29: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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)

Page 30: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 31: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 32: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 33: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 34: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 35: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 36: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 37: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 38: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

DR環境一発構築

1. 会社紹介

2. ジョブ管理機能とは

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

38

Page 39: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

AWS上で運⽤している本番サイトにて⼤規模障害が発⽣する場合に備え、DRサイトをHinemosジョブより⾃動的に構築します。

DR環境一発構築想定シナリオ

CloudFormation

本番サイト(東京) DRサイト(シンガポール)

Hinemos Hinemos

39

Page 40: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 41: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 42: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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を取得する処理が必要

Page 43: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

まとめ

1. 会社紹介

2. ジョブ管理機能利用のすすめ

3. EC2は止めるだけ?

4.Hinemosマネージャも止めてしまえ

5.DR環境一発構築

6. まとめ

43

Page 44: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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を操作できます。

Page 45: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

付録:クニエの関連ソリューション・サービス

1. Hinemos クラウドサービス運⽤管理ソリューション for Amazon Web Services2. Hinemos SAP連携ソリューション

45

Page 46: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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

Page 47: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 2014 QUNIE CORPORATION. All rights reserved.

Hinemos SAP連携ソリューション

クニエのHinemos SAP連携ソリューションは、監視管理、ジョブ制御の機能を提供します。双⽅の機能を併せ持つ、Hinemosの特徴を⽣かし、運⽤の効率性を⾼めることと、⼤幅なコスト削減の両⽴を実現します。

Hinemos環境への追加構築設定としてご提供いたします。よって、SAPオプションとしての追加ライセンス費⽤は発⽣しません。

47

Page 48: 【HinemosWorld2014】A1-4_クラウドコントロールの最強タッグ Hinemosジョブ管理機能×コマンドラインツール

© 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