AWS

Kotlin REPLからAWS SDK for Javaを使う

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

今回は、個人的でオススメしている Kotlin の紹介です。ちなみに製品内でKotlinは使われておりません。。。

Kotlin とは

Kotlinは、IDEのIntelliJやPyCharmなどを開発しているJetBrains社によって開発されたプログラミング言語です。

Kotlinで書かれたプログラムはJava仮想マシン上で動作するため、主にJavaとつながりが強い言語です。そのため、Scalaと共に語られることが多いです。現在はAndroidの公式サポート言語であるため、最近盛り上がっている言語のひとつです。

そんなKotlinですが、利用事例はいまのところ圧倒的にAndroidが多めです。ですが、Android専用というわけではないので、Javaのアプリケーション開発でも使うことができます。

Kotlin REPL

そんなKotlinですが、スクリプト言語だと大体おなじみの対話型で実行できるREPLが用意されています。
(最近になってJavaにも入った!)REPLの使い方として、数行で完結する処理をさくっと書いて実行したいときにとても便利です。

今回折角なので、Linuxコンソール上のKotlinでも同じことをできないか試してみました。最終的にAWSリソースをライブラリでさくっと操作できるようにするのを目標とします。

課題

いざ、Kotlin REPLでAWS APIにアクセスしようと思ったとき問題になるのはライブラリです。

Kotlinは、Javaのライブラリをそのまま利用できるため、AWS SDK for Javaを使うことになります。ただ、Kotlin REPLには、Pythonのpipのようなライブラリを手軽に管理する方法がありません。そのため、通常のアプリケーション同様にGradle・Mavenなどを使って、ライブラリの依存関係などを解決する必要がありそうです。

解決策

今回は「最小限のGradleを定義しておいてライブラリをjarに固める → Kotlin REPLのクラスパスに指定」する方法にしてみました。

今回はJava・Gradle・Kotlinを使用するので SDKMAN を事前にインストールしておきます。そのうえで、次のコマンドでインストールします。

次に作業用ディレクトリを用意し、Gradleをinitコマンドで設定します。ちなみにディレクトリ名はなんでもOKです。

最後に build.gradle を書き換えます。ここに、Kotlinの初期設定と依存ライブラリを指定します。
下側にある dependencies { compile “com.amazonaws:aws-java-sdk:1.11.+” } の中に、使用したいライブラリを追加していきます。ちなみにここで指定するライブラリの情報は、MVNREPOSITORYですぐに見つかります。

あとは実行するだけです

実際に、REPLからライブラリをimportできるか確認します。下はS3のバケット名一覧を取得するサンプルコードです。

unresolved referenceエラーが表示されなければ OK です。ちなみにスクリプトファイルも同じように起動できます。

まとめ

Kotlinはとても書きやすいです。ただREPLだと、いまのところ補完がきかないため、importがわりと大変です。

是非、この機会にKotlinをお試しください!

Developers Summit 2018に出展します!

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

2018年2月15日(木)、16日(金)の二日間にわたり、Developers Summit 2018に出展いたします。

技術者のコミュニティから生まれたこのイベントをSIOS Coatiは応援します!

今年のテーマは

「変わるもの×変わらないもの」

 

技術の進化が目まぐるしい中で、エンジニアを取り巻く環境及びエンジニアに求められる役割が変化しようとしている中で、変わるものと変わらないものがあると。このような時代にどうエンジニアが立ち向かっていくかを一緒に考えるということがテーマとなっています。

 

確かにAI, Machine Learning, IoTなど新しい技術領域が増えてきて、かつすごいスピードで実用化に向かっています。エンジニアは我々の業界だけかと思っていましたが、すでに業種を超えてエンジニアは増えている。

またエンドユーザ側においてもエンジニアを育成して、自前でクラウド移行を進めている企業もどんどん増えています。

マーケティングの人間から見てもそうなのですから、実情はもっと変化しているのでしょう。

 

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

概要

Developers Summit 2018

日時:2018年2月15日(木)、16日(金) 10:00~ 18:45(16日は18:25まで)
会場:ホテル雅叙園東京
(〒153-0064 東京都目黒区下目黒1-8-1)

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

新年明けましておめでとうございます!

皆様、明けましておめでとうございます!

SIOS Coatiのマーケティング担当をしております吉岡です。

 

皆様は年末年始をいかがお過ごしされましたでしょうか?

 

今年もこちらのBlogではSIOS Coatiの機能、新サービスをはじめとし、

パブリッククラウドでの運用に関連する情報や技術情報を発信していきたいと思います。

 

また今年は昨年以上にイベントやセミナーの開催も行っていく予定ですので、

その辺の情報もこちらでお伝えしてまいります。

 

今年もクラウドはかわらず市場を大きくしていくと思いますので、

その中でSIOS Coatiが皆さんの運用を楽にしていくべく、様々な機能を追加し、ご提供していければと思います。

 

 

AWSの新機能「Inter-Region VPC Peering」でリージョン間VPCピアリングしてみた

国内・海外問わず旅行好きなSIOS Coati開発担当、沼野井です。

 

さて、先日のAWS re:invent 2017では例によってたくさんの新機能がお披露目されましたが、その中の1つ、

Inter-Region VPC Peering

で、リージョン間のVPCピアリングが可能になりました。

今のところ、できるリージョンは

  • 米国東部(バージニア北部)
  • 米国東部(オハイオ)
  • 米国西部(オレゴン)
  • 欧州(アイルランド)

の4つです。残念ながら東京は入ってないんですが、AWSのことなのできっとすぐにできるようになるでしょう。

というわけで、今回はこのInter-Region VPC Peeringを試してみました。

 

ピアリング接続を作成してみる

まず、バージニアとオハイオにVPCを作ります。

バージニア

 

 

オハイオ

 

で、バージニアの方からオハイオにピアリング接続を作成してみます。

バージニアの方で、ピアリング接続の作成画面を開きます。

リージョンを選択するカラムが追加されていますね。オハイオを選んで作成!

成功! 

あとは、同一リージョン内のVPCピアリングと同じようにオハイオ側が承諾すれば完了です。

 

 

無事できました。すごいですね。

 

通信してみる

せっかくなんでインスタンス作って通信してみました。

バージニア

 

オハイオ

 

ping飛ばしてみました。

東京リージョン内の2つのVPCピアリングで接続した2つのインスタンスでのping結果を速度比較してみます。

 

おっ意外と差がありますね? 

まあ、条件などを考慮した厳密な測定では全くないのでご参考、ではありますが、シビアに速度を気にするアプリを開発されている方は、計測・検証が必要かもしれません。

 

CLIで作成してみる

さて、GUI(Management Console)では無事作成できたリージョン間ピアリングですが、CLIではできるんでしょうか?

先ほど作成したVPC Peeringをいったん消して、CLIで再度作成してみましょう。

VPCピアリングを作成するコマンドは aws ec2 create-vpc-peering-connection–peer-region ですが、–peering-regionオプションでピアリング先(アクセプタ)のリージョンを指定すればよいようです。

バージニアに作成したインスタンスでCLIを実行してみます。

DEKITA! CLIもばっちりです。

 

Ansibleでできるか調べてみる

ansibleはどうかな? と思って調べましたが、さすがにまだ未対応のようです。

ec2_vpc_peerモジュール

ピアリング先(アクセプタ)のリージョンを指定することができません(注:上記ページ内のExampleのregionは、ピアリング元(リクエスタ)のリージョンの指定です)。

あせらず、でも期待して待ちましょう!

 


リージョン間ピアリングは使い所が多そうです。SIOS Coati世界展開も近いかも知れません(!?)

この調子でリージョン間ピアリングを通して物理的に人間の輸送ができるようになったりしませんかね? 海外旅行が捗るんですが。
ジェフ・ベゾスさんならあと20年くらいでやってくれそうな気もします。

12/8、AWS/ソニー/サイオス共催セミナー報告

皆様、こんにちは、SIOS Coatiのマーケティング担当をしております吉岡です。
12月8日(金)にAmazon Web Services Japan、ソニーネットワークコミュニケーションズ様と共催でのセミナーを開催いたしました。
当日はどんな話をしたのかと言いますと

オンプレミス環境からAWSへの移行の勘所
~プラン策定から移行、稼働までの概観をご紹介~

と題してAWS Japan様からオンプレからAWSに移行する時の手法、ツールについての紹介がありました。

最近はAWS関連のセミナーも基本的な移行方法であったり、移行するにあたって考えるべきことなどは減ってきていますが、ここでは本当に基本的なプランの策定をどうすべきか、移行時に注意すべき点はどこかなどを丁寧に紹介されていました。

こちらは開始前の会場。最終的には満席に。

 

そして次にソニーネットワークコミュニケーションズ様からは

移行して終わり!ではない…運用管理性を高める独自開発ツール“クラウドポータル”活用術

と題して、ソニー様が提供する独自開発のツール「クラウドポータル」のご紹介です。こちらのツールはAWSをはじめての方でも直感的に使える、既に利用されている方はもっと効率よく使えるよう、運用支援ツールです。
サービスの詳細はこちらをご確認ください。
なぜソニーネットワークコミュニケーションズと一緒にセミナーかと言いますと、このクラウドポータルとSIOS Coatiは連携しているのです。
クラウドポータルはAWSの利用状況を簡単に可視化できるサービスなのですが、こちらでSIOS Coatiの利用時間などを見ることができるのです。
なのでクラウドポータルとSIOS Coatiを一緒に使いたいなという方はソニーネットワークコミュニケーションズ様にご相談するとワンストップでサービスを利用することができます。
そして最後に私の方から

移行して終わり!ではない…不安から解放!ローコストな監視&自動復旧サービスとは

と題してSIOS Coatiの紹介をさせていただきました。
名古屋ではこれからAWSを利用という方が多いようで、みなさん移行後の運用について関心が強く、
多くの皆様が関心を持っていただけたみたいでした。
こちらのセミナーは来年また東京、大阪で開催を予定しております。
詳細決まりましたら、またご案内をさせていただきます。