Briswell Tech Blog

ブリスウェルのテックブログです

Elastic Beanstalk触ってみた感想

元々はEC2などは自前で立てて、開発や本番運用を行なっていた。

今回自社のパッケージを作成することになり、ElasticBeanstalkで構築することとした。

感想としては

・作成は全て勝手にやってくれるので、簡単

・環境をスワップできるので、stg prodみたいな環境があれば便利

・RDSは別で立てたほうが良さそう(アプリケーション、環境を削除してしまった場合データベースまで削除されてしまう、リスク排除のため)

・.ebextensions にconfigファイル追加していけば eb create コマンドだけで環境が作れる

・今回言語はnodejsなので、ローカルから eb deploy コマンドやるだけでnpm installとかは勝手にやってくれる

・pemキー発行しなければコンソールに入れない、不要なリスク排除

 

思いついたら追記

 

ただ、過去に全て自前で構築していじいじしていた経験は割と生きてる感じがする。

知ってると知っていない、の差だと思うが。

 

これならサーバ依存というのはなく、簡単にインスタンス入れ替えも可能だなー。

2019年

2019年

あけましておめでとうございます!!

 

このブログも中々更新できていませんが、本年はもう少し頻度と詳細度をあげて更新していきたいと思ってます。

 

今年もよろしくお願いします。

GitLab master Push エラー解決

最近弊社ではソース管理をGitLabに移行してまして。

ちょっと多く悩まされたのが、

"Please make sure you have the correct access rights"

この子。

 

アクセス権限確認してねって言ってるんだが、権限はしっかりある。

プロジェクトオーナーなので問題ないはず。

 

......

 

なんだろう。

 

...

 

とりあえず、protect リポジトリでmaster削除してみる

 

...

 

関係ない。

 

結果の解決策とりあえずKeyファイル作成し直し。

 

ssh-keygen -t rsa -C "GitLabのメアド" -b 4096

 

で、pub コピってGitLabに貼り付け

 

その後ローカルで

ssh-add ~/.ssh/id_rsa

 

ってやってmaster Pushでいけた。

 

無駄に悩まされた!

API Blueprintを使ってみた

基本的受託開発時は設計書類は完全にExcelベースで作成していた。

そろそろExcelから脱却したいなと思い、API 設計書をAPI Blueprintを使って作成してみた。

 

 使い方としては特に問題はなさそう。

下記現在のURL

http://ec2-13-231-41-178.ap-northeast-1.compute.amazonaws.com/

※本件は受託案件ではなく、自社サービス向けのAPIなので公開してます。

 

コマンドから試しにAPIを叩くことも可能。

ただ、弊社は開発拠点がベトナムにあることから、設計書を翻訳、というプロセスが存在する。

そこの管理さえしっかりと行えれば、Excelからの脱却は可能そう。

GitLabとAWS Codecommitの連携

GitLabでソース管理している物を、AWSのCodebuild + CodeDeploy + CodePipeline

でもろもろ自動化がしたかった。

 

GitLabをAWS上からは選べなかったので、GitLab -> Codecommit を自動連携するようにしてみた。

結構簡単で、

Codecommit、GitLabでプロジェクト作成、

AWS IAM ユーザ作成、Codecommit Fullアクセス権限を付与し、作成

 

IAMユーザ画面の認証情報タブ内、一番下の「AWS CodeCommit のHTTPS Git 認証情報」というところの生成ボタンを押してユーザ名、パスワードを取得する

 

GitLab、プロジェクト内設定 -> リポジトリから「Mirroring repositories」を選択

Push設定にして、パスワードを選択、ユーザ名入れるところなかったので、

https://"ユーザ名"@...

という形でセット

 

これでGitLabにPushしたソースは自動でCodeCommitにもあがる

 

AWS ELB スティッキーセッション

仮リリースしてたAPI サーバー冗長化するために、セッション管理をどうしようかなと思った。

CakePHP3 で構築してたので、DB管理にしてもよかったが、AWS ELB置いといたのでスティッキーセッションというのを試してみた。

 

こんな簡単なの?ってほど設定は簡単で、

ターゲットグループの維持設定を有効化するだけ。

 

後はよしなにAWS君がやってくれる。

簡単。

AWS S3 + CloudFront + WAF

f:id:Toshi_bw:20181022111018p:plain

 

株式会社ブリスウェル、Toshiです。

 

とあるAWS上で稼働している業務システムで、写真の表示がとても遅いと大量の声があがってきたため、構成を変えてみた。

 

  •  変更前

AWS EC2 - EBS で、写真をひたすらEBSに置いていた。

EC2が複数構成なので、File ServerとしてEC2をmountしていた。

(ELB スティッキーセッション入れようかな。)

 

  • 変更後

EBS -> S3 に写真ファイルを移行

(既存の置き方がとてもよくなかったため、同時にファイルパス構成も変更)

S3コマンドでひたすら待つ。。。

もっと良い方法がきっとあったはず。一度キリと思い、そのまま実施。

 

EC2からアクセスするのはS3ではなく、CloudFrontに。

結果速度は3倍以上に向上。

S3やCloudFront URL直アクセスを禁止するために、簡易的にWAFのQuery stringを使用。

 

S3 mountと、goofysも試してみたけど、CloudFrontの方が全然早かった。

 

次回はEC2 - CloudFront - WAF - S3の設定、実際のスピード変化の値について載せます! 

 

 

 

アプリ指紋認証のメッセージについて

f:id:yukitakai:20181015235343p:plain

 

briswellのtakaiです。

弊社でも開発者ブログを始めることになりました。

よろしくお願いします。 

開発者ブログといいつつ、僕は開発者ではないので、まずは簡単に弊社の紹介から。

 

株式会社ブリスウェルです。

プリスウェルでも、ブリスエルでもないです(よく間違われます...)。

 

由来ですが、

 

活き活き、元気にという意味の"brisk"

健康にという意味の”wellness

 を掛け合わせた造語で"briswell"です。

 

東京都 渋谷区 港区に本社を置き、ベトナムホーチミンにソフトウェア開発拠点を有するグローバルIT企業です。

大手企業からスタートアップまで幅広い顧客に対して、コンサルティング・ソフトウェア開発支援サービス、人材支援サービスを提供しています。

 

 詳しくはこちら

 

弊社の紹介ははこの辺にしておきます。

 

 

最初に述べたように、僕自身はプログラマではなく、SEですので、

プログラムレベルの話ではなく、軽めの話を書けたらと思います。

というわけで、今回は

「アプリ指紋認証のメッセージについて」

です。

 

【背景】

とある案件にて、アプリの指紋認証を使ったログイン機能を実装しました。

指紋認証って便利ですよね(僕のiPhoneはなぜか認識してくれませんが)。その指紋認証で使われるメッセージは何種類か存在します。

 

もちろんメッセージのデフォルトは英語です。

日本人向けのアプリであれば翻訳する必要がありますね。

 

よし、「指紋認証 メッセージ 日本語翻訳」でググれば解決だ!

 

 

・・・あれ

 

 

・・・・・・出ない

 

 

・・・・・・・・・!? 

f:id:yukitakai:20181015235755j:plain

 

・・・・・・

 

・・・

 

というわけで、指紋認証にて使われるメッセージと日本語翻訳をまとめました。

(Fingerprint authentication messageでググれば出るのかもしれないですが)

 

【対応内容】

 

iOS

 

「"アプリ名"でtouchIDを使用」(Touch ID for "app name")

表示方法:指紋認証を実装する画面に遷移すると表示、指紋認証ログインと指紋認証登録が行える

 

「やり直す」(Try again)

指紋認証を一度以上失敗すると表示

 

「パスコードを入力」(Enter Security Code)

指紋認証を一度以上失敗すると表示

 

「リトライ回数制限を越えました」(Application retry limit exceeded)

規定数(累計3回)以上指紋認証を失敗で表示

 

指紋認証ロックされました」(Biometry is locked out)

上記に加えてさらに規定数(累計5回)以上指紋認証を失敗で表示、ロック画面にてパスコードを入力するまで再度使用不可

 

「この機能はご利用いただけません」(Fallback authentication mechanism selected.)

端末側で指紋認証失敗時に表示される「パスコードを入力」押下時に表示

 

「パスコードが設定されていません」(Passcode not set.)

パスコードをオフにした状態で、「指紋認証」画面に遷移した場合に表示

 

「指紋が登録されていません」(No identities are enrolled.)

パスコードはオンにした状態で、指紋を1つも登録していない状態で、「指紋認証」画面に遷移した場合に表示

 

指紋認証がキャンセルされました」(UI canceled by system.)

指紋認証画面にて電源ボタン押下(スリープ状態)後、再度画面を開いた場合の表示メッセージ

 

「キャンセルしました」(Finger authentication canceled)

指紋認証キャンセル時

 

 

android

 

「この端末は指紋認証に対応していません」(Your Device does not have a Fingerprint Sensor)

指紋認証機能がない端末の場合

 

「この端末は指紋認証に対応していません」(Your Device does not have a Fingerprint Sensor)

指紋認証機能がない端末の場合

 

指紋認証登録を行ってください」(Register at least one fingerprint in Settings)

指紋が登録されていない場合

 

「指紋が登録されていません」(Fingerprint Authentication failed)

指紋が正しくない(指紋が登録されていない)場合

※上記メッセージとの差分は不明

 

「この端末は指紋認証登録されていません」(Lock screen security not enabled in Settings)

ロック画面のセキュリティが有効になっていない場合

 

「正しく認識できませんでした」(Wipe Home key and try again)

指紋認証エリアに正しくタッチしなかった場合

 

「正しく認識できませんでした」(Make sure that your finger covers the entire Home key)

タッチしたが、半分の指ぐらいがHomeキーに付けた場合

※上記メッセージとの境目はわからなかったです

 

「リトライ回数制限を超えました」(Too many attempts. Try again later.)

正しく3回以上連続入力しない場合

※機能そのものがロックされることはなく以下の流れ (登録画面遷移->指紋認証->失敗を繰り返す->リトライ回数制限エラー->再度登録画面に遷移する->指紋認証->失敗を繰り返す->リトライ回数制限エラー->再度登録画面に遷移する…)

 

 

各OSのバージョンによってはメッセージの増減はあるかと思いますので、その点だけご了承ください。

 

よし、指紋認証のメッセージはこれでOK!

 

 

 

え、時代は顔認証・・・?

 

 

 

「顔認証 メッセージ 日本語翻訳」でググれば解決だ!