読者です 読者をやめる 読者になる 読者になる

(AWS)無料ドメインをRoute53で運用してEC2インスタンスに紐付ける

むかしむかしドットコムブームがありましたよね!
懐かしい・・。
さすがにドットコムは無料で取得できませんが、
"gq"などのドメインは無料で取得できます。

今回は、無料ドメインをEC2インスタンスに紐付けてみたいと思います!

本エントリーの画像にあるElastic IPアドレスなどは削除済みです。

Freenomから無料ドメインを取得

無料ドメインを取得します。今回はFreenomから取得。
Freenom - 誰でも利用できる名前

Route 53に取得したドメインを登録する。

f:id:yasay:20170418150845p:plain
TypeはPublic Hosted Zoneを選択

f:id:yasay:20170418151414p:plain
登録すると、NameServerの項が設定される。

EC2にElastic IPを割り当てる

新しいElastic IPを割り当てる

f:id:yasay:20170418151908p:plain

EC2インスタンスに関連付ける

f:id:yasay:20170418152148p:plain

Route 53でAレコードを作成する

f:id:yasay:20170418152831p:plain
ValueにElastic IPを指定する

f:id:yasay:20170418153012p:plain
Aレコードが作成された

Freenomのネームサーバ設定を変更する

Route 53のNSレコードの内容を設定する。
※設定の完了には時間がかかる模様
f:id:yasay:20170418170729p:plain

アクセスしてみる。

f:id:yasay:20170418170457p:plain
アプリケーションサーバにアクセスできました!

ちなみに、Route 53の
料金がかかりますが、微々たるものです。

無料ドメインを使って簡単にサーバを立てられる
いい時代になりましたね!

以上です♪

VirtualBoxのUbuntuにホストオンリーアダプタを使用して簡単にssh接続する

自分用メモに近いエントリーになります。
Ubuntuを使いたい私は頻繁にVirtualBoxUbuntuを利用しています。
この時、ホストOSと接続できないと何かと不便なので、
ssh接続の設定をさくっとしていきます!

本エントリーは下記の環境で確認しています。

VirtualBox 5.1.12 r112440 (Qt5.6.2)
ゲストOS Ubuntu 16.04 LTS
ホストOS Windows 10 Pro

1.VirtualBoxの環境設定を確認する

ネットワークの設定を確認する

f:id:yasay:20170417100247p:plain
アダプターの設定がされていること

f:id:yasay:20170417100353p:plain
DHCPサーバの設定が有効化されていること

2.Ubuntuの仮想環境の設定を変更

ネットワークの「アダプター2」に、ホストオンリーアダプターを設定する

f:id:yasay:20170417100723p:plain

3.Ubuntuを起動して、ネットワーク設定を確認

f:id:yasay:20170417141844p:plain
enp0s8が設定されていることを確認する

4.Ubuntuにopen sshサーバをセットアップ

下記コマンドを実行して、open sshサーバをインストールする

sudo apt-get install openssh-server

5.sshコマンドを発行して接続確認する

f:id:yasay:20170417102114p:plain
Pingが通ることを確認

次に、sshコマンドをホストOSから叩いてみる。

ssh 192.168.56.101

f:id:yasay:20170417142038p:plain
ssh接続に成功することを確認♪
※文字化けしてるのは多分Git Bashのせい。

以上です!

この3ヶ月間で学んだこと

2017年1月から新しいプロジェクトに参画して以来、怒涛の毎日が過ぎ去りました。
そしていつの間にか3月も最終日です。

この3ヶ月間でやってきたことを書き綴ってみようと思います。

新しいプロジェクトで使った技術要素について

PlayFramework

www.lightbend.com

このフレームワーク、日本で流行ってますか?
少なくとも私が今まで参画したプロジェクトにおいて、
Playを使ったことはありませんでした。

使ってみて分かったのが、"結構生産性が高いんじゃないか"ということ。
Railsライクなフレームワークと紹介されるだけあって、
スピード感を持って開発できるような気がします。
ORマッパー的な代物のEbeanや、Play標準のValidationライブラリなど
標準ライブラリが充実している印象を受けました。
また、組み込みのNettyサーバでアプリケーションが起動する辺り、
Spring Bootに近いものなんじゃないかと印象を受けました。

生産性を意識したアーキテクチャの選定というのは
既に大切な要素になっていると思います。

Play + ScalaRailsによる開発も個人で試してみて、
生産性を比較してみたいですね。早く仕事が終わるにこしたこたぁないw

あとはApache Wicketも試してみたいなぁ。

Amazon Web Service

aws.amazon.com

正直去年まで参画していた案件には大きな不満がありました。
それは、Iaasを活用した案件の経験が積めなかったことです。
それが今回、AWSの様々な機能を活用することができたので大満足です。
あまり細かく書くと秘守義務的な意味で怒られそうなので控えます。

これで私の経歴にもIaasを活用したシステムを開発した実績を残せます。

もちろん、AWSが柔軟にスケール可能であり、
手軽に強力な機能を活用し、更に連携させることができることも
身に染みて分かりました。

個人でもAWSは使っています。
従量課金制なので、まるでその手に
最強の開発環境を手に入れたような気持ちになりますね。
エンジニアだし使いたい時にだけ、お金を払えばいいと
思うんですよ。

IntelliJ IDEA

この3ヶ月間みっちりIntelliJ IDEAを使って開発したことは
とても良い経験になりました。なぜなら新しいIDEを使えるようになったから。
ただ、IntelliJ IDEAとPlayFramework(厳密に言うとSBT)の連携が
充実しているわけではないので、よりIntelliJ IDEAを活用するなら
Springを使ってみないとその真価は分からない気がします。

Ultimateの大きなメリットとして、
「Chronon Debugger」が使えることがあると思うんです。
これは、アプリケーションが実行した情報を丸々保存しておいて、
後でデバック情報として参照できるんです。
うまく活用すれば、デバックが変わると思います。
ですが、SBTによる実行はChronon Debuggerを使えなかったんですよ。
残念無念。

そして、新バージョン「2017.1」がリリースされています。
www.jetbrains.com

私はこのバージョンを購入しようと思います。

勉強会

残念ながら予定していたJAWS DAYS 2017は参加できませんでした。

その他

iPhone6 Plusがお亡くなりになった。

2年半も使ってきた私のiPhone6 Plusがお亡くなりになりました。
洗濯機でゴゥンゴゥンと回ってた。取り出したら曲がってた。
SIMフリー機だったので軽いショックを受けながらも、
メモリ1GBしかなくて使いづらかったので、まぁしょうがないと受け止める。

1週間程脱水して充電してみても電源が入らず、
完全に逝ってしまったことが分かる。
ナムナム・・。

今は以前購入したZenfone3にSIMを2枚挿して使ってます。
xblood.hatenablog.com
写真の画質以外は不満がありません。
まさかDSDSのAndroidスマホiPhoneがお亡くなりなったことがきっかけで
使うことになろうとは・・・数奇な運命ですね。

4月は仕事に余裕ができると思うので、英語の学習時間も増やしたいと思います!
3月もお疲れ様でした!

2月に参加した勉強会の所感を書いていく

2月は勉強会のエントリーを一度も投稿していませんでした。
サボっていたわけではありません。もちろん勉強会には行きました。
ですが、個別にエントリーするほど大規模な勉強会は行かなかったので、
まとめて所感を書いていきたいと思います。

BigData-JAWS 勉強会#5

jawsug-bigdata.connpass.com
AWSのBigDataを扱う勉強会に参加しました。
場所はAmazonの日本オフィスでした。
今回はAthena押しで、Athenaは実質S3ビューアという話を
聞けただけでもよかったです。
S3は頻繁に活用するので、Athenaを使ってS3の内容を
クエリーで取得してみたいと思います。
これは業務でも役に立つでしょう。
また、3月1日にオンラインセミナーでAthenaを取り扱うので、
参加したいと思います。


以下はオンラインセミナーになります。
最近業務でAWSを扱う機会が多く、
個人的には大好きな領域ではあります。1日中AWSで遊んでいたい(ぉぃ)。
Black Beltのオンラインセミナーをいくつか受けました。

AWS Black Belt Online Seminar 2017 AWS Batch

www.slideshare.net
AWS Batchを使う機会が業務であるかというと、
まだかなり先の話と言わざるを得ません。
ひとまず、JP1のようなジョブ型の機能ではなく
キュー型ということが分かっただけでも
よしとしたいと思います。
柔軟にスケール可能なバッチ処理を行いたい場合は、
EMRなども候補に入るのではないでしょうか。

AWS Black Belt Online Seminar 2017 Docker on AWS

www.slideshare.net
まずは、Dockerに最適化するため12の要素を実践することが大切。
このことを知っただけでも、収穫がありました。
興味がある方は、日本語のページがあるので読んでみてください。
The Twelve-Factor App (日本語訳)
12の要素を踏まえて、AWSのEC2 Container Serviceを扱うことで、
AWSを扱うというよりPasSを扱うように使えるとのことですが、
実践するにはまだまだ学習が必要だと実感しました。

AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager

www.slideshare.net
EC2 Systems Managerは、
EC2インスタンスを大量に抱える必要があるシステムで適用すべき
機能だと思いました。なぜなら、一つや二つのEC2インスタンスなら
手作業で構成を管理したほうが楽だと思えるからです。
例えば、100や200ものEC2インスタンスの構成管理を
行うなら、費用対効果があるでしょうね。と勝手に思いました。

AWS Black Belt Online Seminar 2017 AWS上でのIoTデザインパターン

https://publish.awswebcasts.com/content/connect/c1/7/en/events/event/shared/4312879/event_landing.html?connect-session=graysonbreez2g7oor4sb9ehz32b&sco-id=58647084&campaign-id=AWS_WWP&_charset_=utf-8
エントリーを書いている本日、受講しました。
私が注目したのはやはりAWS Greengrassでしょうか。
IoTは既に多くの製造業で適用されているので、
AWS Greengrassを用いたノウハウ
持っておけば、案件の拡大も見込めると思います。
勉強したいことは山積みですね。

以上、2月の勉強会の所感でした。
3月はAWS JAWSや、AWSome Dayに参加する予定です。
jawsdays2017.jaws-ug.jp
aws.amazon.com

2月もお疲れ様でした!

「Web API: The Good Parts」を読了しました。

2月は仕事が忙しくて21時過ぎまで残っている毎日でした。
3月も忙しい日々が続きそうです。

今月読んだ本の所感を書いていきます。今月は1冊のみでした。

Web API: The Good Parts

www.oreilly.co.jp
最近Web APIの開発を担当していることもあり、
Web API開発のノウハウを一から学びなおすため、読みました。

無料で読める有名な電子書籍に「Web API Design」があります。
apigee.com

Web API Designも参考になりますが、
Web API The Good Partsは
Facebook, Twitterなど有名どころのAPIの事例を交えて解説していることや、
OAuth2による認証の仕組みや、より堅牢なWeb APIを作るための
セキュリティのトピックなどがありました。

設計変更しやすいAPIの項についても参考にはなりましたが、
クラス構成まで踏まえた設計変更についてまでは記述されていなかったように
見受けられ、結局その辺りはそれっぽいクラス構成になりましたが、
保守性の高いクラス構成については開発を進めながら引き続き
検討していく必要があります。

そして、自分が違うプロジェクトで作ったWeb APIが、
まだまだ考慮不足の点が多すぎたことがよく分かりました。
その反省点も活かしながら、今のプロジェクトでよりよいWeb APIを開発していきたいと思います。

今回は、オライリーの書籍を初めて電子書籍で購入しましたが、
DRMフリーとはいいものですね。iPhoneでも、iPadでも、PCでも見れます。
見たいときに見れるのは素晴らしい。

来月はWEB DB PRESSともう1冊くらい読みたいと思っています。
gihyo.jp

忙しい時こそ、帰る努力を。そして自分磨きの努力を。

ZenFone3を購入しました!

Androidの端末が数年前のXperia rayしか持っていなかったので、
開発にも使う端末として、ZenFone3を購入しました。

MotorolaのMoto G4 Plusと比較して
どちらを購入するか心底迷いましたが、
ZenFone3を購入することに決めました。
決め手は・・

  • Moto G4 Plusは電子コンパスがない。
  • ZenFone3が台湾版なら3万3千円くらいで買える。

に尽きます。

外箱。少し高級感がある。

f:id:yasay:20170129235753j:plain

初期セットアップ完了

f:id:yasay:20170130000017j:plain
Xperia rayしか持ってなかった当方にとっては
ヌルサクに動作する本機が十分な性能を持っているように
見えます。

iPhone 5sとの大きさ比較

f:id:yasay:20170130000530j:plain
iPhone 5sよりは大きく、iPhone6 Plusよりは小さい感じでした。

欠点は指紋がつきやすいことか。

鏡面仕上げなので、指紋跡がめちゃくちゃ残ります。
このままでは使えないと思い、下記のアクセサリを購入。
f:id:yasay:20170130001054p:plain

そして、今はこんな感じで使ってます。
f:id:yasay:20170130000644j:plain
f:id:yasay:20170130001307j:plain

実はまだSIMを刺していないので、DSDSを試せていない。

ZenFone3はとても良い機種だと思うのですが、
普段持ち歩く端末はカメラ性能の高いものになってしまいがち。
なので、2台持ちながらDSDSの性能を試せていないです。
(LINEの機種変とかめんどうだし!)

Pure Android信仰は消え失せました。

個人的にはPixelやNexusシリーズなど、
Pure Androidに対する憧れがとても強かったです。
なので、Moto G4 Plusに魅力を持っていました。
が、その信仰心は消え失せましたw
Zenfone3に標準で入っているアプリや機能はとても使いやすいです。
特に片手モードが素晴らしい。

のんびり使いこなしていきたいと思います!

「【eLV勉強会】 Dockerを触ってみよう ~初心者向けDockerハンズオン~」に参加しました!

Dockerを触ってみよう ~初心者向けDockerハンズオン~」に参加してきました。
learningvesper.doorkeeper.jp
最近では当たり前のように使われているような印象を受けるDocker。
しかしながら、業務ではなかなか触る機会がないということもあると思います。

そんな方におすすめな勉強会だと思いました。
ハンズオンは実際に手を動かしながら学べるので楽しいですね!

「BUILD, SHIP, RUN」の考え方を理解した気がした。

コンテナを構築、そして出荷、起動する。
気楽にコンテナイメージをダウンロードして、試す。
コンテナなので、環境を汚すこともないし、
コンテナ上でWebアプリケーションを起動し、管理することも可能。
うん、楽しいですね。Lightsailで開発環境構築に使いたいかなー。

ハンズオンやっていく

さくらのクラウドを使ってハンズオンを行いました。

f:id:yasay:20170129230326p:plain
画像はインスタンス作成中の画面。
今回、講師の方が「さくらのクラウド」のエヴァンジェリストでしたので、
ハンズオンはさくらのクラウド上で行いました。
正直、機能面的にはAWSでよくねと思うこともありましたが、
VPCなどネットワーク周りを意識せずにすぐに始められるのは
初心者の方には優しいのかなと思いました

ハンズオンのコマンド文はQiitaに公開されています。

もくもくやっていくことで、一通りのDockerコマンドの実行を学びました。
ハンズオンの内容は大ボリュームなので、Qiitaの記事を参考してください。
qiita.com

Docker Hubへのアップロードも行いました。

f:id:yasay:20170129233007p:plain
Docker Hubワクワクするね。

Arukasも使いました。

f:id:yasay:20170129233226p:plain
Arukasはさくらインターネットβテストを実施中のDockerホスティングです。
Docker Hubのパブリックコンテナに対応しており、
Arukasを使うだけで簡単にWebアプリケーションが運用できます。

さくらのクラウドの2万円クーポンを頂きました!

f:id:yasay:20170130185915j:plain
ハンズオン参加者全員もらっていました。
まさかもらえるとは思っていなかったので嬉しかったです。
一番小さなインスタンスなら10ヶ月は無料で使えるとのことです!

今後やってみたいこと。気になること。

  • プライベートコンテナの管理
  • Ghostのバックグラウンド起動。
  • 複数のWebアプリケーションのコンテナを、Portを分けて運用してみたい。

スライドが公開されています。

https://speakerdeck.com/masatoshi/dockernihong-tutemiyou

今回は、とても濃い内容のハンズオンで、
Dockerの基本コマンドを一通り学べたと思います。
学んだ量が多すぎて、一つ一つをBlogに書き記すの大変なのでやめておきますw