AWS Cloud Roadshow大阪出展レポート

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

9/21に開催されましたアマゾンウェブサービスジャパン社が主催する「AWS Cloud Roadshow大阪」に出展しました。

今回もSIOS Coatiを皆様に知っていただくいい機会となり、様々な方々にブースにお越しいただきました。

今回も多くのCoatiグッズを配置し、ブースでお出迎え。

今回のイベントはかなり真剣にAWSの導入を考えている方々が多くいた感じですね。
ブースにはセッションとセッションの合間に予想以上にかなり多くの方が来場され、SIOS Coatiのサービスをご紹介させていただけました!

次回は9/27の名古屋で、こちらもとても楽しみです!
9/27(水)名古屋会場

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

シルバーウィークに遅い夏休みを満喫した沼野井です。

・・・本当はこれ書いてるの9/14なんですが、公開日の調整の結果↑にような挨拶となりました。
こんな笑点みたいな挨拶をする機会があるとは思ってもいませんでした。

 

前回までのあらすじ

 

この構成をansibleで作ろう、と思うCoatiだった・・・

 

というわけで、前回の続きで、ansibleによるEC2・VPC環境構築の、実際のplaybookの内容についてです。

 

Playbookの内容

あ、前回すっかり忘れていたのですが、使用しているansibleのバージョンは 2.3 です。ご承知おきください。

Coatiチームで使用している、環境デプロイ用のPlaybookのディレクトリ構成は以下のようになっています。

なんぞこれ? と目がハテナな方はこちら(英語ですが)
ansibleの標準的なディレクトリ構成と思っていただいてよいと思います。

個々に中身をご紹介していきます。

(1) group_vars/all.yml

全playbookで使う変数を定義しています。以下のような感じです。

冒頭の5行の、

はお客様のお申込み内容に従って入力しています。残りの項目は固定値または、↑の内容から自動的に作成されるという寸法です。

(2) VPC.yml

VPCを作成して、その中にCoati Managerインスタンスを作成するplaybookです。インスタンスも作るのにVPC.ymlってネーミングがイマイチです。すみません。

そのネーミングのイマイチなVPC.ymlの中身はこんな感じです。

こんだけ。

これは、「ロールVPCのタスクを実行しなさいね」と言ってるだけです。
ロールVPCのタスクとは

こいつらです。実際にはmain.ymlがまず呼ばれます。

main.ymlは

これもこんだけで、本体であるsetup_vpc.ymlとsetup_ec2.ymlをincludeしています。

本体の1つ、setup_vpc.ymlの中身を見ていきます。

一転して長くなりましたね。本体ですから、実際いろいろやってます。順にみていきますと、

ec2_factsは(playbookを実行している)ホストの情報を色々集めてくるモジュールです。今回は、パブリックIPアドレスを取得するため(だけ)に使っています。
registerは、集めたネタを変数(この場合 変数名もec2_facts)に格納します。
実際にec2_factsを使っているところは後ほど!

Coati Managerインスタンスを格納するVPCを作成しています。ec2_vpc_netモジュールを使います。

{{ VPC_NAME }} は group_vars/all.ymlで定義してあるものです(ansibleでは、”{{}}”で囲むと変数の値が取り出せます)
同様に{{VPC_CIDR_BLOCK}}, {{ REGION }}もgroup_vars/all.ymlで定義しています。
あと、tags:を利用して、 作成したVPCにRole=CoatiManager というタグをつけています。

ec2_vpc_netモジュールは、作成したVPCのIDなどを実行時の結果として戻しますので、実行結果をregisterで変数vpcに格納しておいて、あとで使うことができます。

作ったVPCにsubnetを作成します。今作ったVPC IDが必要です。ここで、さきほどregisterで保存した変数vpcを使います。VPC IDは、

のようにして参照できます。

同様に、作成したVPCにインターネットゲートウェイを作成しています。ec2_vpc_igwモジュールを使います。

ルートテーブルの作成です。ec2_vpc_route_tableモジュールを使います。ちょっとパラメータが増えましたが、基本は同じです。
なお、ここでは送信先を0.0.0.0/0にしていますが、適切に設定してくださいね!

セキュリティグループの作成です。ec2_groupモジュールを使います。以下のポートに穴をあけています。

ポート番号 ソース 備考
80 0.0.0.0/0(※)
22 手元のPCのIPアドレス 私がオフィスから直接ログインして操作するため
22 オペレーション端末のIPアドレス オペレーション端末からログインして色々設定するため
-1 手元のPCのIPアドレス ICMPです。ping用
-1 オペレーション端末のIPアドレス ICMPです。ping用

※ここでは0.0.0.0/0と書いてありますが、適切に設定してくださいね!

「オペレーション端末の(グローバル)IPアドレス」の指定に、最初の方で取っておいたec2_factsを使っています。
やっと伏線回収できました!

セキュリティグループ構築その2、です。同じセキュリティグループに割り当てられたインスタンスからのトラフィックを許可しています。

 

ここまでの結果

・・・いかがでしたでしょうか。ここまでで、

 

の構成ができました。

 

少し長くなってしまったので、Coati Managerインスタンスの作成とVPC Peeringの設定は次回にしようと思います!

ソニー様の「マネージドクラウド with AWS」のソリューションメニューとして提供が開始されます!

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

この度SIOS Coatiはソニーネットワークコミュニケーションズ社が提供する「マネージドクラウド with AWS」のソリューションパッケージとして
販売を開始していただくこととなりました!

詳細はこちらからご覧ください!

こちらのソリューションはAWS Roadshowでご覧いただけますので、ぜひお立ち寄りください!

9/21(木)大阪会場
9/27(水)名古屋会場

Amazon Linuxに対応しました

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

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

Amazon Linuxとは、EC2 Management Console上からインスタンスを作るとき一番上に表示されるAMIです。

AWSが公式で提供しているAMIということもあり、使用している方も多いのではないかと思われます。

このAmazon Linuxのインスタンスも、これまでサポートしていたRHELやCentOSと同様の手順ですぐに使い始めることができます。

もし「使ってみたいけどAmazon Linuxを使ってるんだよなあ…」と思っていた方は、是非この機会に無料トライアルでお試しください。こちらの製品ページから申し込むことができます!

SIOS Coatiのオンラインマニュアルの作成方法(後編)

始めに

SIOS Coatiのチームにいる高正(たかしょう)です。
みなさまいかがお過ごしでしょうか。私は先日、夏休みをとって、家族で山梨県に旅行に行ってきました。
昨年も山梨県で今年も山梨県です。特に山梨に所縁はありませんが、去年旅行に行って気に入ったので今年も山梨に赴いた感じです。山梨のおすすめスポット色々あると思いますが、私のおすすめスポットは、ほったらかし温泉です。なんでほったらかし温泉という名前であるかは公式のホームページにお任せしましょう。

私がおすすめする理由はただ一つ、景色が良いからです。ここの温泉はあっちの湯、こっちの湯と2つの温泉があります。去年はこっちの湯に入り、今年はあっちの湯に入りました。それぞれ微妙に違いがあって良いです。どのように違うかは実際に行って体験してみてください。ちなみに、天気がよければ富士山がとーってもきれいにみれるビュースポットなのですが、実は私、去年も今年も富士山を拝むことはできていません。いつの日か素敵な富士山を見たいものです。

オンラインマニュアルをデプロイするまでの流れ

前回の記事ではマニュアルの作成はSphinxを使って、マニュアルのデプロイにはBitbucket Pipelinesを使っていると説明しましたが、これらについて具体的などのようなプロセスを経てデプロイされるか説明をしたいと思います。

ざっくりとうちの開発チームにおけるデプロイまでの流れを書くと以下のようになります。

1.reStructuredText(reST)*1で書いたマニュアル用のソースコードを開発用ブランチにコミットする

2.開発用ブランチへのソースコードのコミットを契機にステージング用のS3バケットのマニュアルをデプロイ*2する

3.2のレビューで問題がなければ、本番用ブランチにソースコードをマージしてプロダクション用のS3バケットにマニュアルをデプロイ*2する

*1.reStructuredText(reST)はSphinxで採用されているマークアップ言語です。Markdown記法と似ています。Markdownを理解している方であれば、比較的簡単にreSTを書けると思います。

*2.Bitbucket Pipelinesはざっくりといえば、リポジトリへのコミットを契機に、環境をデプロイするサービスです。現在、SIOS CoatiではBitbucket PipelinesをオンラインマニュアルをS3にデプロイするために利用しています。

利点

ちょいとわかりづらいと思いますが、この流れに共通している名詞にお気づきでしょうか。はい、ソースコードです。この方式の良い点はreSTの書き方さえ抑えてしまえば、製品コードを書くのと同じ感覚でオンラインマニュアルの作成が行える点です。ちなみに、BitbucketがreSTに対応しているのでマニュアルの大まかな確認はBitbucket上で行えます。オンラインマニュアルの構造など、全体の見た目の部分はS3にデプロイされたhtmlファイルを見れば確認できます。

今後の展望

デプロイ作業は今回の記事で説明している方式によりとても簡単になりました。しかし、マニュアルの中身という点では表記揺れがあったり、冗長な表現があったりと改善したい箇所があります。SIOS Coatiでは文章校正は現在、人力でやっています。できれば、これは人力ではなく、ツールで解消したいところです。文章校正のツールとしては、RedPentextlintがあります。今後はこれらのツールを使って、文章校正の手間を極力軽減して、マニュアル作成を楽しく行える環境にしていきたいと思います。