SIOS Coati

Windows Server 2016に対応しました

SIOS Coati開発チームの清水です。

先日のアップデートで、SIOS Coatiで監視できるOSとして Windows Server 2016 に対応しました!

すでにSIOS Coatiをご利用の方は、特別な対応をしていただく必要はございません。
これまでと同様にセットアップしていただくことで、すぐに監視をはじめることができます。

まだSIOS Coatiを使ったことのないお客様で、Windows Server 2016をご利用の方は、是非この機会に無料トライアルでお試しください。

無料トライアルは こちらの製品ページ から申し込むことができます!

ansibleによるEC2・VPC環境構築(その3)

食欲の秋に(体重的な意味で)危機感を覚える Coati開発チーム 沼野井です。
でも秋の味覚を食べないという選択肢はないですよね!

 

前回までのあらすじ

ansibleで、

 

VPCと、それに紐づく サブネットルートテーブルセキュリティグループを作ったCoatiだった・・・

 

というわけで、前回に続いて、ansibleでEC2・VPC環境を構築していこうと思います。

今回は、

  • 前回作成したSIOS VPC内に EC2インスタンスを作成
  • 前回作成したSIOS VPCとお客様VPCをPeeringで接続

します。

 

Playbookの内容

Coatiチームで使用している、環境デプロイ用のPlaybookのディレクトリ構成と、変数定義をしているall.ymlの内容をもう一回掲載します。

  • ディレクトリ構成

 

group_vars/all.yml

 

 

インスタンス作成

作成したVPC内にEC2インスタンスを作成するplaybook, setup_ec2.ymlの中身を見ていきます。

順にみていきます。

ec2_remote_factsはAWS内の(複数の)インスタンスの情報を集めるモジュールです。
IPアドレス・サブネット名など多種のFilterを設定して検索することができます。
今回は、SUBNET_IDのサブネット、EC2_PRIVATE_IPのIPアドレスのインスタンスが、環境内に既に存在しているかどうかをチェックしています。

続いて、AMIの検索です。
Coati開発チームでは、Coati Manager用のAMIをあらかじめ用意していて、タグ Role=CoatiManager をつけています。ec2_ami_findモジュールを利用して、タグをキーにしてAMIのIDを取得します。

いよいよ、インスタンスの作成です。そのものズバリな ec2モジュールを使います。
パラメータはAWS Management ConsoleでEC2インスタンスを作成する際にお馴染みな面々を指定していきます。imageには、さきほど検索したAMIのIDを指定しています。

instance_tags: で Name=名前, Role=CoatiManager、というタグ付けもしています。

最後の

は、ec2.instancesがある場合にはインスタンスの作成をしない、という条件判定です。
一番最初に ec2_remote_factモジュールで同じIPアドレスとサブネットのインスタンスを検索したときに、もし既に存在している場合には変数ec2.instancesなんらかの値が入っているはずですので、その場合にはインスタンスの作成は行わないようにしています。

 

VPCピアリング接続

VPCピアリングを行うplaybook, vpc_peering.ymlです。

 

ec2_vpc_peerモジュールを使い、接続するVPCをそれぞれ指定して、VPCピアリング接続を行います。
このplaybookを実行したあと、お客様に接続を承認していただくと、晴れて両VPCがピアリング接続されることになります。

ここまでの結果

ついに、Coati環境が完成しました!

いかがでしたでしょうか?
今後も、役に立ちそうなplaybookを紹介していく予定ですので、よろしくお願いします。

 

名古屋に続き「AWS Cloud Roadshow 2017 福岡」にも出展します!

皆様、こんにちは、SIOS Coatiのマーケティング担当をしております吉岡です。

先日ご案内しましたAWS Cloud Roadshow 2017 名古屋はブースに数多くの方にお越しいただき、大盛況のもと終わりました!

さて、ちょっと告知が遅くなってしまいましたが、

2017年10月31日(火)に、アマゾン ウェブ サービス ジャパン株式会社主催の無料クラウドカンファレンスであるAWS Cloud Roadshow 2017 福岡に出展いたします。

このイベントもここで最後となりますが、多くの方にSIOS Coatiを知っていただければと思います。

展示ブースでは、Amazon EC2上で稼働するアプリケーションを自動復旧するクラウドサービスSIOS Coatiをご紹介します。ぜひ、お立ち寄りください。

概要

AWS Cloud Roadshow 2017 福岡

日時:2017年10月27日(水) 10:00~20:00(開場:9:30)
会場:ANA クラウンプラザホテル福岡 
(〒812-0011 福岡県福岡市博多区博多駅前3丁目3−3)

本イベントの詳細、お申込みはこちらのサイトをご覧ください。

シンプルなEC2インスタンスの自動起動・停止について

こんにちは、SIOS Coati開発チームの黒田です。

開発や検証などを目的とした環境では、不要なEC2インスタンスの停止や削除は、
システムのランニングコスト削減に対して小さくない効果があります。
特に前月からはEC2の課金単位が、時間単位から秒単位へ変更となっておりますので、
停止・削除によるコスト削減がより効果的なものとなっています。

このような停止・削除といった操作は、EC2インスタンスの数が少ないうちは手動で
行われても良いかも知れませんが、実は地味に面倒な作業でもあります。
うっかり止め忘れたために想定以上の費用がかかってしまうケースも…?

そこで今回は、AWS Lambdaのスケジュール機能を利用した、
シンプルなEC2インスタンスの自動起動・停止方法を紹介したいと思います。

基本動作としては、全てのリージョンで、以下の特定タグが設定されているEC2インスタンスを
スケジュールされた時間に自動起動・停止します。

EC2インスタンスタグの動作一覧

key value 動作
Ec2StartStop Auto 起動・停止を実行
Ec2StartStop Start 起動のみ実行
Ec2StartStop Stop 停止のみ実行

※タグのkeyやvalue名は、環境にあわせて設定してください。

設定するAWSサービス

  • Lambda
  • IAM Role
  • CloudWatch Event

設定方法

Lambda

1.AWS マネージドコンソールへログインしてからAWS Lamdbaサービスを選択し、関数の作成を選択します。


 

2.トリガーの設定をスキップし、次へを選択します。


 

3.Lamdba関数の「名前」を入力し、ランタイムは「Python3.6」を選択します。


 

4.コードをインラインで編集します。

コードのサンプルは、以下になります。

※必要に応じてコードを変更してください。

IAM Role

5.「Lambda 関数ハンドラおよびロール」の「ロール」で、「カスタムロールの作成」を選択します。


 

6.「ロール名」と「ポリシードキュメント」を入力してください。

ポリシードキュメントは、以下になります。


 

7.「詳細設定」の「タイムアウト」値の変更

デフォルト3秒から30秒へ
※タイムアウト値は、環境にあわせて変更してください。

CloudWatch Event

 

8.まずは、起動のスケジュール設定をします。AWS CloudWatchサービス画面に移動し、「イベント」->「ルール作成」を選択してください。


 

9.「イベントソース」のスケジュールを選択し、「Cron式」を選択して、起動時間のcron式を入力してください。

cron式(UTC)

※環境にあわせて起動時間を変更してください。


 

10.「ターゲットの追加」を選択し、作成したLambda関数(Ec2StartStop)を選択します。「入力の設定」の「定数(JSONテキスト)」を選択し、以下を入力してください。

定数(JSONテキスト)


 

11.「名前」を入力と「状態」の「有効」をチェックし、「ルールの作成」を選択します。


 

12.停止スケジュールの設定をします。以下のようにcron式と定数(JSONテキスト)を入れ替え、8~11の手順を繰り返してください。

cron式(UTC)

※環境にあわせて停止時間を変更してください。

定数(JSONテキスト)


 

13.動作確認を行います。EC2インスタンスにタグを設定し、スケジュールされた時間にEC2インスタンスが起動・停止されているかを確認してください。

以上、AWS Lambdaのスケジュール機能を利用したシンプルなEC2インスタンスの自動起動・停止方法の紹介でした。

EC2のRHEL6にgit-lfsをインストールする

SIOS Coati開発チームの清水です。

今回はSIOS Coatiのサービスとは関係なく、開発メンバーがハマった技術TIPSを共有したいと思います。


SIOS Coatiチームではコードの管理にgitを利用しており、そのgitのエクステンションに、サイズが大きいファイルも扱いやすくする git-lfs があります。

今回は git-lfs を EC2 の Red Hat Enterprise Linux 6.7_HVM_20160219 AMI から作成したインスタンスにインストールします。
公式の インストール手順 をみると

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
sudo yum install git-lfs

を実行すれば良さそうです。いざやってみると…

だめでした。どうやらいくつかのパッケージがみつからないようです。

解決策

結論から書くと、yumで「rhui-REGION-rhel-server-releases-optional」リポジトリを有効にすると、git-lfsに必要なパッケージがインストールできるようになります。
これは git-lfs に必要な perl-Git がRHEL6のデフォルトのリポジトリには入っていないためで、別途、他のリポジトリからインストールできるように設定を変更してあげる必要があります。

リポジトリを有効にするには /etc/yum.repos.d/redhat-rhui.repo をルート権限で編集します。

sudo vim /etc/yum.repos.d/redhat-rhui.repo

その中にある [rhui-REGION-rhel-server-releases-optional]セクション の 「enabled=0」を「enabled=1」に変更して保存します。

[rhui-REGION-rhel-server-releases-optional]
name=Red Hat Enterprise Linux Server 6 Optional (RPMs)
mirrorlist=https://rhui2-cds01.REGION.aws.ce.redhat.com/pulp/mirror/content/dist/rhel/rhui/server/6/$releasever/$basearch/optional/os
enabled=1 ← 0 から 1 に変更する
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify=1
sslclientkey=/etc/pki/rhui/content-rhel6.key
sslclientcert=/etc/pki/rhui/product/content-rhel6.crt
sslcacert=/etc/pki/rhui/cdn.redhat.com-chain.crt

以上です!

修正後

無事インストールできました。