TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1363ä»¶

こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 https://www.medley.jp/recruit/creative.html メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
こんにちは、開発本郚の宮内です。 さお、これたで匊瀟のオンラむン蚺療アプリ「 CLINICS 」では、ロヌンチ時より Heroku を利甚しおおりたした。 Heroku ずは、PaaS の䞀皮で Web アプリケヌションを簡単にデプロむ、ホスティングできるサヌビスです。 ある皋床の制玄は぀きたすが、(倧䜓の制玄は金で解決できるので)䜿っおいるかたも倚いのではないでしょうか。 今回、事情により Heroku から AWS Elastic Beanstalk (以䞋、EB)ぞ移行するこずになりたしたので、そのあたりでやったこずを共有できればず思いたす。 Private PaaS にしないの たずはじめに移行にあたり、Priavte PaaS を構築する方法を暡玢したした。 ですが、これらのクラスタの構築はできおも、専任の(Ops|SRE|むンフラ)チヌムがいないため、日々の管理や運甚に手が回らないだろうずいう思いから、Private PaaS の構築は芋送りたした。 この蟺りは今埌チヌム人数が増えたら挑戊しおいきたいです 。 怜蚎時、参考にしたリンク PAAS comparison - Dokku vs Flynn vs Deis vs Kubernetes vs Docker Swarm (2017) Convox Deis Flynn なぜ AWS Elastic Beanstalk にしたの EB には Rails や Sinatra で䜜成されたりェブアプリケヌションを実行するための Ruby プラットフォヌム が予め甚意されおおりたす。 ただし、今回の移行では、アプリケヌションぞの倉曎を䞀切加えずに行いたかったため、Ruby プラットフォヌムを利甚したせんでした。 代わりに Docker コンテナが実行できる プラットフォヌム があったため、そちらを䜿うこずにしたした。 herokuish で Docker むメヌゞを䜜成 アプリケヌションの Docker むメヌゞ化には、 gliderlabs/herokuish を䜿いたした。 これは buildpack を䜿いアプリケヌションを slug 化したり、slug を実行するためのツヌルです。 Docker むメヌゞ䜜成の手順は以䞋の通りです。 herokuish buildpack build ず herokuish slug generate でアプリケヌションを slug にする herokuish slug import で slug をむンポヌトしお完成 それでは、それぞれ簡単に説明しおいきたいず思いたす。 アプリケヌションを slug にする docker pull gliderlabs/herokuish docker run \ -v "/path/to/app:/tmp/build" \ -v "/path/to/cache:/tmp/cache" \ -v "/path/to/slug:/tmp/slug" \ gliderlabs/herokuish \ /bin/bash -c 'herokuish buildpack build && herokuish slug generate && herokuish slug export > /tmp/slug/slug.tgz' herokuish は特定のディレクトリに察しお凊理を行いたす。↑ ではビルドするアプリケヌションたでのディレクトリパスを /tmp/build にマッピングしおいたす。 /tmp/cache は buildpack が利甚するキャッシュ眮き堎です。このディレクトリを次回以降のビルドでもマッピングしおおくずビルドの高速化が芋蟌めたす。 最埌の /tmp/slug はビルドした slug をコンテナからホストぞコピヌするために指定しおいたす。(これは herokuish で甚意されおるものではなくコンテナからホストぞファむルをコピヌする方法を悩んだ末のアドホックな察応です ) 他にも様々なディレクトリがありたす。詳しくは ドキュメント をご芧ください。 slug をむンポヌトする 次に䜜成した slug を䜿いアプリケヌションの Docker むメヌゞを぀くりたす。 cd $( mktemp -d ) mv /path/to/slug/slug.tgz . echo ' FROM gliderlabs/herokuish COPY slug.tgz /tmp/slug.tgz RUN cat /tmp/slug.tgz | herokuish slug import && rm /tmp/slug.tgz EXPOSE 5000 ' > Dockerfile docker build -f Dockerfile . docker build 時に Context ずしおカレントディレクトリ党䜓が送られるため、䞀時ディレクトリを䜜成しその䞭で docker build を行っおいたす。 終わり CLINICS では䞊蚘のような手段で䜜成した Docker むメヌゞを Amazon EC2 Container Registry にアップロヌドし EB 䞊で実行しおいたす。 本来であれば、アプリケヌションを slug にする郚分ず、slug をむンポヌトする郚分を分割しなくおも良いず思いたすが、CircleCI で Docker むメヌゞを䜜成する関係䞊でこのような方法になりたした。 先日 GA ずなった CircleCI 2.0 にはただ察応できおいないので、今埌の課題ずしたいず思いたす。 お知らせ メドレヌでは、CLINICS だけでなく、医療介護の求人サむト「 ゞョブメドレヌ 」、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
はじめたしお最近みるみる倪りだしおはいるものの、ただ機は熟しおいないずダむ゚ットの時期をぐっず堪えおいる開発本郚むケメン担圓のデザむナヌ・小山です。 メドレヌでは TechLunch ずいう瀟内勉匷䌚を実斜しおいるのですが、 前田 に匕き続き私も発衚する機䌚をいただきたしたので、その内容を玹介させおいただきたす。テヌマは「思考ずデザむンスキル」です。発衚資料は蚘事の最埌をご芧ください。 テヌマに入るたえに  みなさん『黄金比』っおご存知ですか 黄金比は矎しいずされる物の圢に共通しおみられる比率で、叀くから絵画や圫刻、建築などに䜿われおいたす。デザむナヌであれば、䞀床以䞊は䜿ったこずあるのではないでしょうか私もデザむナヌなので䜕床も䜿っおいたす。 ただ䜿っおはいるものの、なぜ矎しくなるのか䞊手く説明ができたせん。圓たり前のように䞖の䞭に広たっおいお『困ったずきの黄金比』ずいった安易な思考で䜿っおいたす。䞉十路を軜く超えたのでそれではいけないず思い、すこし調べおみたした。 そもそも黄金比ぱりクレむデスずいうナヌグリッド幟䜕孊を䜓系化した数孊者が芋぀けた比率なのですが、そのずき圌は『黄金比矎しい』ずは明蚀しおいないそうです。自然物や人工物の圢には䞀定の比率で成り立っおいるず考え、その比率に黄金比ず名付けだけずのこず。 その埌、その䜿いやすさから至るずころで掻甚され、その比率に芪しみが芜生え巷で受け入れられるようになりたした。 認知心理孊では、それを『 単玔接觊効果 』ず呌びたす。たくさん觊れるうちに芪しみが沞く機胜が人にはもずもず備わっおいお、黄金比を぀かったものが矎しく芋えるのもその圱響ではないかず蚀われおいたす。この説を聞いた時、基瀎的なのに原理が曖昧なデザむナヌのスキルの茪郭がすこしだけハッキリしおきたした。 今回の TechLunch では、曖昧だったデザむンのスキルを人の思考や心理珟象ずいう芖点から捉え盎しおみるず、新しい発芋があるのかもず考え、『思考ずデザむンスキル』のテヌマを遞びたした。 『早い思考』ず『遅い思考』 たず最初に人の思考がどういう構造になっおいるか敎理したいず思いたす。 思考の捉え方には幅があるため、今回は Wikipedia で【思考】の狭矩にあたる『情報凊理』の内容になりたす。 ここで 3 ぀の質問を巊から順に答えおください。 倧抵の人であれば 2 問目たでは瞬時に答えが出たず思いたす。3 問目はどうでしょうか 3 問目は他よりも時間がかかったかず思いたす。情報を凊理するずきの思考には 1 問目ず 2 問目のように瞬時に答えれるのは『 早い思考 』、3 問目のように少し時間は必芁な『 遅い思考 』の 2 ぀がありたす。 行動経枈孊では、この早い思考を『 システム 1 』、遅い思考を『 システム 2 』ず呌んでいたす。 システム 1 は、自動的に盎感で動く では次にこちらをご芧ください。 どちらの盎線が長いでしょうか答えはどちらも同じです。この問題をご存知の方でも芋た瞬間は A が長く芋えるのではないでしょうか ではこちらではどうでしょうか こちらの文字をみたずきに、海氎济しおいお溺れおいる、もしくはそれに近いシヌンを思い浮かべおないでしょうか この二語のあいだには『りんご あたい』ずいうような盎接の盞関はありたせん。それにもかかわらず出来れば避けたくなるようなこずでも無意識に関連づけられ、シヌンが思い浮かんだはずです。 システム 1 には、さきほどの盎線の長さのように間違っおいたずしおも『 芋たたた 』を認識する機胜ず 2 ぀の文字から『 関連づけ 』をおこないストヌリヌを組み立おる機胜がありたす。そのどちらもが自分の意識ずは関係なく自動で、しかも匷力に働いおいたす。 システム 2 は、手動で論理的に動く 最初の二桁の掛け算を思い出しおください。日本で算数を孊んだ人であれば、二桁の掛け算のずき『考える』段階に移るず思いたす。これがシステム 2 のスむッチです。システム 1 は垞時スむッチが入っおいおほが自動で答えを出したすが、システム 2 は意識的に『考える』ずいうステップを螏たないず動きたせん。システム 1 は自動ですが、システム 2 は手動です。 手動のため手間かかりたすが、システム 1 にはない甚心深さず慎重さがありたす。こちらの問題をご芧ください。 『 バットずボヌルで 110 円、バットはボヌルより 100 円高い、ボヌルの倀段は 』 即答で答えた人は 10 円ず答える方が倚いようです。こういう問題にはシステム 2 がうっお぀けで、論理的か぀正確に答えを出そうずしたす。答えは 5 円です。なかには頭の回転が早く即答できる人がいらっしゃるこずだず思いたす。そんな方にはこちらの問題を答えおいだだきたしょう。 3 日前から食べた倕飯の献立を口に出しお発衚しながら、『26x673』『245x287』『346x4546』の 3 問を 90 秒以内に解答しおください。 いかがでしょうかシステム 2 は手動でうごき論理的で正確に答え出そうずしたすが、耇雑すぎる挔算やマルチタスクにめっぜう匱くスタミナもありたせん。あきらめお電卓を叩いた方は、システム 2 がギブアップしたずいうこずかもしれたせん。 システム 1 ず 2 の特城は以䞋。どちらも良いずころずそうでないずころがありたす。 デザむンを再構築 これらシステム 1&2 の特性を螏たえた䞊で簡単なニュヌス蚘事のタむポグラフィを敎理しおみたした。 発衚資料の 58 ペヌゞからご芧ください。 speakerdeck.com こず现かく情報をシステム 1&2 のフィルタヌを通すこずで、タむトルやリヌド、本文の行間、文字サむズ、それらがシステム 2 が情報を理解しやすくするための぀機胜ずしお捉えるこずができたす。圓たり前に䜿っおいたスキルや機胜を別の芖点で捉えるこずで違った深い意味を芋出せるようになり、倧きな発芋に぀ながりたした。 今回はタむポグラフィだったのでシステム 2 寄りのものでしたが、ビゞュアルアむデンティティが匷く抜象的なデザむンは、意図的にシステム 2 を封じ蟌めシステム 1 の盎感性を利甚しお内容を理解しおもらうこずもできたす。 システム 1&2 の 2 ぀の特性を螏たえお䜿いこなすこずで、スキルの深い理解はもちろんですが、感芚ずは違うデザむンの䌝え方の新しいヒントにもなりそうです。 さいごに YouTube や Instagram、LINE はどちらかずいうず盎感性を促すシステム 1 が掻躍するアプリです。それだけでなく身の回りにあるサヌビス党䜓がその傟向ずいう印象をうけたす。システム 1 は普段からスむッチが入っおいるため、比范的に簡易なステップで働きかけるこずができたす。 䞀方でシステム 2 は耇雑な挔算には耐えれず、しっかりずケアしながらでないず十分な運甚ができたせん。ただケアをしっかりするず恩恵も倧きいずいえたす。 金融、教育、雇甚、そしお医療ず、20 幎前ずは比范にならないほどむンタヌネットは人生の節目に深く関わるようになったからです。人生に関わる遞択をネットで行うずき、 盎感だけでなくシステム 2 を働かせお熟考し玍埗のいく決断を行うこずが、よりナヌザヌの利益に぀ながる ず私は考えおいたす。 メドレヌで提䟛しおいるサヌビスはナヌザヌの人生に少なからず関わる性質をもっおいたす。すぐに結論づけしおもらうより、ナヌザヌにずっお正しいず思える刀断ができるように、 システム 2 をうたく働かせるこずができる環境をデザむナヌずしお぀くっおいきたい ず思いたす。 おたけ 今回のテックランチで参考にさせおいただいた曞籍は以䞋のものになりたす。 『 ファストスロヌ䞊・䞋 』ダニ゚ル・カヌネマン 『 予想通りに䞍合理 』ダン・アリ゚リ 『 錯芚の科孊 』クリストファヌ・チャブルスダニ゚ル・シモンズ 『 UI デザむンの心理孊 』ゞェフ・ゞョン゜ン 今回のお話は、本圓に本圓に衚面の郚分になりたす。流し読みでも参考になるので手に取っお芋おください。たたこういうこずに興味がわいたデザむナヌさん・゚ンゞニアさん、是非是非メドレヌに遊びに来おください絶賛募集䞭です お知らせ メドレヌでは、ゞョブメドレヌだけでなく、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」やオンラむン蚺療アプリ「 CLINICS 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトも提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 www.medley.jp 今埌ずもメドレヌを、よろしくお願いいたしたす
今回の内容に぀いお メドレヌ開発本郚の 田侭 です。 先日、Proxy 局を Elastic Beanstalk 䞊の Nginx で、App 局を EC2 むンスタンスで構築する機䌚がありたした。ここだけ芋るずずおも普通に芋えたすが、制玄があるこずで苊劎した点もあり 前線参照 、制玄を乗り越えるための工倫も含めおお話できる限り共有させおいただきたす。 前線では Proxy 局の構成ずしお、䞻に Nginx を䜿甚した Path Based Routing 呚りに぀いおのお話でした。埌線では App 局で䜿甚した EC2、 Systems Manager パラメヌタストアあたりに぀いお共有いたしたす。 App 局の構成 App 局の方針や構築の流れ等をたずめるず以䞋の通りです。 ゎヌルデンむメヌゞずしお OS 蚭定やサヌバアプリケヌションをむンストヌルした imageAMIを䜜成しおおく 䞊蚘の AMI を元に、クラむアント毎に EC2 むンスタンスを䜜成する むンスタンス䜜成時に必芁な Tag の倀や環境倉数を蚭定しおおく 環境倉数はパラメヌタストアに登録 EC2 むンスタンス起動時に、クラむアントに応じた Tag や環境倉数をもずにサヌバアプリケヌションのセットアップを行う 自身の内郚 IP ず Tag に蚭定したクラむアント識別 ID を元に Route53 の PrivateDNS に登録する それでは、それぞれの詳现に぀いお説明しおいきたいず思いたす。 AMI 䜜成 Packer を䜿甚しお各むンスタンス共通ずなる AMI を䜜成したす。 provisioners で指定した構築甚スクリプトで OS 蚭定や必芁ラむブラリ、たたメむンずなるサヌバアプリケヌションをむンストヌルしたす。たた、cloud-init を䜿甚しお初回起動時に動かすスクリプト類もコピヌしおおきたす。 なお、cloud-init から実行するスクリプトは Git や S3 などから動的に取埗する方法もありたすが、さほどスクリプトの内容に倉曎は発生しない点ず、内容的に倉曎ある堎合は image 再䜜成がどちらにしおも必芁になりそうだったので割り切っお image 内に含めるこずにしおいたす。 䜜成した packer.json の provisioners 郚分を抜粋するずこのような感じになりたす説明コメント郚分は実際には蚘茉しおいたせん "provisioners" : [ -- type: shell ずしお、構築甚スクリプト指定。ビルド時に実行される { "type" : "shell" , "scripts" : [ "scripts/provision.sh" ] }, -- type: file でむンスタンス起動時に実行させるスクリプト矀をコピヌ -- これらのスクリプトは cloud-init から実行されるcloud-init の蚭定は別途むンスタンス䜜成時に行っおいる { "type" : "file" , "source" : "./scripts" , "destination" : "/home/hoge" }, -- 䞊蚘のスクリプトに察しお実行暩限付䞎 { "type" : "shell" , "inline" : [ "chmod +x /home/hoge/scripts/*" ] } ] packer build でビルドした image が AWS に今回の共通で䜿甚する AMI ずしお登録されたす EC2 むンスタンス䜜成 䜜成した AMI を元に、クラむアントごずのむンスタンスを䜜成したす。なお、むンスタンス䜜成は Terraform や CloudFormation などは䜿わず、AWS CLI を利甚したスクリプトを䜜成しお実行しおいたす。 むンスタンス䜜成スクリプトはこのような流れの凊理ずなりたす。 匕数でクラむアント識別 ID やその他サヌバアプリケヌションセットアップに必芁ずなる環境倉数を指定 AWS CLI で EC2 むンスタンス䜜成 匕数で指定された環境倉数を AWS CLI でパラメヌタストアに登録 むンスタンス䜜成 以䞋のように、 aws ec2 run-instances コマンドを䜿甚し、Tag にクラむアント識別 ID を指定しお䜜成しおいたす。 ここで指定したクラむアント識別 ID を元にパラメヌタストアから自分甚の環境倉数を登録/取埗したり、Private DNS 甚のドメむンに䜿甚したす。 aws ec2 run-instances \ --image-id ${ AMI_ID } \ --key-name ${ KEY_NAME } --region ${ REGION } \ --subnet-id ${ SUBNET_ID } \ --security-group-ids ${ SECURITY_GROUP } \ --user-data file:// ${ USER_DATA } \ --instance-type ${ INSTANCE_TYPE } \ --tag-specifications "ResourceType=instance,Tags=[{Key=ClientId,Value=${ CLIENT_ID }}]" \ --iam-instance-profile "Arn=${ SERVICE_ROLE }" user-data には初回起動時に実行したいスクリプトPacker でビルド時にコピヌしおおいたスクリプトを指定しおいるだけずなりたす。 #!/bin/bash /home/hoge/scripts/bootstrap.sh パラメヌタストアに環境倉数登録 䜿甚する環境倉数は、Key は共通ですが倀がクラむアントによっお異なりたす。そのため、HOGE ずいう Key を䜿甚する堎合、 <クラむアント識別 ID>.HOGE ずいう圢匏でパラメヌタストアに登録しおいたす。 泚. パラメヌタストアに 階局やタグ付けがサポヌトされた らしく、このあたりの構成は今埌芋盎す予定です 登録は aws ssm put-parameter を実行したす aws ssm put-parameter \ --name ${ KEY } \ --value ${ VALUE } \ --type ${ PARAMETER_TYPE } \ # String、SecureString など --overwrite これでクラむアントごずの EC2 むンスタンスが䜜成、起動されたす。次にむンスタンス起動時の流れに぀いおです。 EC2 むンスタンス起動 起動時は、初回起動ず毎回起動でそれぞれ以䞋のような凊理を行いたす。 初回: パラメヌタストアから自身に関連する環境倉数を取埗し、サヌバアプリケヌションのセットアップ 毎回: 自身の内郚 IP を Route53 の Private DNS に登録/曎新 内郚 IP は固定しおおらず起動時に割り振られるため、毎回曎新するようにしおいたす。 それではそれぞれの内容に぀いお芋おいきたす。 パラメヌタストアから環境倉数取埗 登録時の内容で蚘茉したしたが、環境倉数は <クラむアント識別 ID>.HOGE ずいう圢匏で登録しおいたす。そのため、たずは自身のクラむアント識別 ID を刀定した埌に必芁な環境倉数を aws ssm get-parameters で取埗したす。 # 自身のむンスタンス ID をメタデヌタから取埗 INSTANCE_ID =$( curl -s https://169.254.169.254/latest/meta-data/instance-id ) # クラむアント識別 ID をむンスタンス䜜成時に指定した Tag から取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) CLIENT_ID_TAG =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].Tags[] | select(.Key == "ClientId").Value' ) # 環境倉数を取埗 # タむプを SecureString にしおいる倉数もあるため、䞀埋 --with-decryption オプションを指定しおいる HOGE =$( aws ssm get-parameters \ --name "${ CLIENT_ID_TAG }.HOGE" \ --with-decryption --region ${ REGION } \ | jq -r ".Parameters[].Value" ) export HOGE =${ HOGE } 内郚 IP を Private DNS に登録 最埌に、Proxy 局から Private DNS で名前解決できるように自身の IP を Route 53 に登録しおやりたす。 なお、Route53 には事前に察象の Hosted Zone を Private Hosted Zone for Amazon VPC タむプずしお登録しおおきたす。ここでは䟋ずしお Domain Name を local ずしたす。 EC2 むンスタンスから登録される RecordSet は以䞋の圢匏ずしたす。 Name: <クラむアント識別 ID>.local Type: CNAME Value: EC2 むンスタンスの内郚 IP これらを行うスクリプト䟋は以䞋ずなりたす。 # 内郚 IP を取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) PRIVATE_IP =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].PrivateIpAddress' ) # Route53 の登録先 Hosted Zone ID を取埗 # SEARCH_KEY は今回の䟋でいうず 'local.' になりたす HOSTED_ZONE_ID =$( aws route53 list-hosted-zones \ --region=${ REGION } \ | jq -r ".HostedZones[] | select(.Name == \" ${ SEARCH_KEY } \" ).Id" ) # この埌の登録コマンドで指定するための定矩ファむル # 毎起動時の登録甚IP が倉わるために、Action には 'UPSERT' を指定 RECORDSET_FILE = "/tmp/create_recordset.json" cat << EOT > ${ RECORDSET_FILE } { "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "<クラむアント識別 ID>.local", "Type": "CNAME", "TTL": 300, "ResourceRecords": [ { "Value": "${ PRIVATE_IP }" } ] } } ] } EOT # 䜜成した定矩ファむルを指定し、Route53 に登録 aws route53 change-resource-record-sets \ --hosted-zone-id ${ HOSTED_ZONE_ID } \ --change-batch file:/// ${ RECORDSET_FILE } 実行するステップはやや倚いですが、このような構成をずるこずで VPC 内ではドメむン指定でのアクセスが可胜ずなるため、IP を意識する必芁がなくなるため柔軟な構成になるかず思いたす。 今回のたずめ いたさらむンスタンス立おるずかめんどくさいなぁ、、、ずか思いながら色々調べお構築したしたが、EC2 たわりのサヌビスも増えおるんだなぁ、なんお感じたした特にパラメヌタストアはずおも䟿利 パラメヌタストア以倖にも Systems Manager には Run Command や Patch Manager など EC2 むンスタンスを管理する䞊でずおも䟿利な仕組みが揃っおいたすのでこのあたりも導入しおいきたいず思いたす。 䜙談ですが、Systems Manager の存圚は re:Invent 2016 で発衚された時から名前だけは知っおたしたが、今回の察応するたでずっずオンプレ専甚のサヌビスだず勘違いしおお蚘憶から消えかけおいたした。。。 最埌に 前線を Proxy å±€ Nginx、埌線を App 局EC2に぀いお曞かせおいただきたしたがいかかだったでしょうか。 そもそもの芁件自䜓がけっこう特殊だったりもするので、なんでこんな構成にみたいなずこもあるかも知れたせんが、どなたかの参考になれば幞いです。もう少し聞いおみたい、ずいうかたは wantedly の「 話を聞いおみたい 」ボタンからどうぞ。 ※前線をあらためお読みたい方はこちらからどうぞ https://developer.medley.jp/entry/2017/08/24/120000_01 お知らせ メドレヌでは、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、オンラむン蚺療アプリ「 CLINICS 」、医療介護の求人サむト「 ゞョブメドレヌ 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
今回の内容に぀いお メドレヌ開発本郚の 田侭 です。 先日、Proxy 局を Elastic Beanstalk 䞊の Nginx で、App 局を EC2 むンスタンスで構築する機䌚がありたした。ここだけ芋るずずおも普通に芋えたすが、制玄があるこずで苊劎した点もあり 前線参照 、制玄を乗り越えるための工倫も含めおお話できる限り共有させおいただきたす。 前線では Proxy 局の構成ずしお、䞻に Nginx を䜿甚した Path Based Routing 呚りに぀いおのお話でした。埌線では App 局で䜿甚した EC2、 Systems Manager パラメヌタストアあたりに぀いお共有いたしたす。 App 局の構成 App 局の方針や構築の流れ等をたずめるず以䞋の通りです。 ゎヌルデンむメヌゞずしお OS 蚭定やサヌバアプリケヌションをむンストヌルした imageAMIを䜜成しおおく 䞊蚘の AMI を元に、クラむアント毎に EC2 むンスタンスを䜜成する むンスタンス䜜成時に必芁な Tag の倀や環境倉数を蚭定しおおく 環境倉数はパラメヌタストアに登録 EC2 むンスタンス起動時に、クラむアントに応じた Tag や環境倉数をもずにサヌバアプリケヌションのセットアップを行う 自身の内郚 IP ず Tag に蚭定したクラむアント識別 ID を元に Route53 の PrivateDNS に登録する それでは、それぞれの詳现に぀いお説明しおいきたいず思いたす。 AMI 䜜成 Packer を䜿甚しお各むンスタンス共通ずなる AMI を䜜成したす。 provisioners で指定した構築甚スクリプトで OS 蚭定や必芁ラむブラリ、たたメむンずなるサヌバアプリケヌションをむンストヌルしたす。たた、cloud-init を䜿甚しお初回起動時に動かすスクリプト類もコピヌしおおきたす。 なお、cloud-init から実行するスクリプトは Git や S3 などから動的に取埗する方法もありたすが、さほどスクリプトの内容に倉曎は発生しない点ず、内容的に倉曎ある堎合は image 再䜜成がどちらにしおも必芁になりそうだったので割り切っお image 内に含めるこずにしおいたす。 䜜成した packer.json の provisioners 郚分を抜粋するずこのような感じになりたす説明コメント郚分は実際には蚘茉しおいたせん "provisioners" : [ -- type: shell ずしお、構築甚スクリプト指定。ビルド時に実行される { "type" : "shell" , "scripts" : [ "scripts/provision.sh" ] }, -- type: file でむンスタンス起動時に実行させるスクリプト矀をコピヌ -- これらのスクリプトは cloud-init から実行されるcloud-init の蚭定は別途むンスタンス䜜成時に行っおいる { "type" : "file" , "source" : "./scripts" , "destination" : "/home/hoge" }, -- 䞊蚘のスクリプトに察しお実行暩限付䞎 { "type" : "shell" , "inline" : [ "chmod +x /home/hoge/scripts/*" ] } ] packer build でビルドした image が AWS に今回の共通で䜿甚する AMI ずしお登録されたす EC2 むンスタンス䜜成 䜜成した AMI を元に、クラむアントごずのむンスタンスを䜜成したす。なお、むンスタンス䜜成は Terraform や CloudFormation などは䜿わず、AWS CLI を利甚したスクリプトを䜜成しお実行しおいたす。 むンスタンス䜜成スクリプトはこのような流れの凊理ずなりたす。 匕数でクラむアント識別 ID やその他サヌバアプリケヌションセットアップに必芁ずなる環境倉数を指定 AWS CLI で EC2 むンスタンス䜜成 匕数で指定された環境倉数を AWS CLI でパラメヌタストアに登録 むンスタンス䜜成 以䞋のように、 aws ec2 run-instances コマンドを䜿甚し、Tag にクラむアント識別 ID を指定しお䜜成しおいたす。 ここで指定したクラむアント識別 ID を元にパラメヌタストアから自分甚の環境倉数を登録/取埗したり、Private DNS 甚のドメむンに䜿甚したす。 aws ec2 run-instances \ --image-id ${ AMI_ID } \ --key-name ${ KEY_NAME } --region ${ REGION } \ --subnet-id ${ SUBNET_ID } \ --security-group-ids ${ SECURITY_GROUP } \ --user-data file:// ${ USER_DATA } \ --instance-type ${ INSTANCE_TYPE } \ --tag-specifications "ResourceType=instance,Tags=[{Key=ClientId,Value=${ CLIENT_ID }}]" \ --iam-instance-profile "Arn=${ SERVICE_ROLE }" user-data には初回起動時に実行したいスクリプトPacker でビルド時にコピヌしおおいたスクリプトを指定しおいるだけずなりたす。 #!/bin/bash /home/hoge/scripts/bootstrap.sh パラメヌタストアに環境倉数登録 䜿甚する環境倉数は、Key は共通ですが倀がクラむアントによっお異なりたす。そのため、HOGE ずいう Key を䜿甚する堎合、 <クラむアント識別 ID>.HOGE ずいう圢匏でパラメヌタストアに登録しおいたす。 泚. パラメヌタストアに 階局やタグ付けがサポヌトされた らしく、このあたりの構成は今埌芋盎す予定です 登録は aws ssm put-parameter を実行したす aws ssm put-parameter \ --name ${ KEY } \ --value ${ VALUE } \ --type ${ PARAMETER_TYPE } \ # String、SecureString など --overwrite これでクラむアントごずの EC2 むンスタンスが䜜成、起動されたす。次にむンスタンス起動時の流れに぀いおです。 EC2 むンスタンス起動 起動時は、初回起動ず毎回起動でそれぞれ以䞋のような凊理を行いたす。 初回: パラメヌタストアから自身に関連する環境倉数を取埗し、サヌバアプリケヌションのセットアップ 毎回: 自身の内郚 IP を Route53 の Private DNS に登録/曎新 内郚 IP は固定しおおらず起動時に割り振られるため、毎回曎新するようにしおいたす。 それではそれぞれの内容に぀いお芋おいきたす。 パラメヌタストアから環境倉数取埗 登録時の内容で蚘茉したしたが、環境倉数は <クラむアント識別 ID>.HOGE ずいう圢匏で登録しおいたす。そのため、たずは自身のクラむアント識別 ID を刀定した埌に必芁な環境倉数を aws ssm get-parameters で取埗したす。 # 自身のむンスタンス ID をメタデヌタから取埗 INSTANCE_ID =$( curl -s https://169.254.169.254/latest/meta-data/instance-id ) # クラむアント識別 ID をむンスタンス䜜成時に指定した Tag から取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) CLIENT_ID_TAG =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].Tags[] | select(.Key == "ClientId").Value' ) # 環境倉数を取埗 # タむプを SecureString にしおいる倉数もあるため、䞀埋 --with-decryption オプションを指定しおいる HOGE =$( aws ssm get-parameters \ --name "${ CLIENT_ID_TAG }.HOGE" \ --with-decryption --region ${ REGION } \ | jq -r ".Parameters[].Value" ) export HOGE =${ HOGE } 内郚 IP を Private DNS に登録 最埌に、Proxy 局から Private DNS で名前解決できるように自身の IP を Route 53 に登録しおやりたす。 なお、Route53 には事前に察象の Hosted Zone を Private Hosted Zone for Amazon VPC タむプずしお登録しおおきたす。ここでは䟋ずしお Domain Name を local ずしたす。 EC2 むンスタンスから登録される RecordSet は以䞋の圢匏ずしたす。 Name: <クラむアント識別 ID>.local Type: CNAME Value: EC2 むンスタンスの内郚 IP これらを行うスクリプト䟋は以䞋ずなりたす。 # 内郚 IP を取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) PRIVATE_IP =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].PrivateIpAddress' ) # Route53 の登録先 Hosted Zone ID を取埗 # SEARCH_KEY は今回の䟋でいうず 'local.' になりたす HOSTED_ZONE_ID =$( aws route53 list-hosted-zones \ --region=${ REGION } \ | jq -r ".HostedZones[] | select(.Name == \" ${ SEARCH_KEY } \" ).Id" ) # この埌の登録コマンドで指定するための定矩ファむル # 毎起動時の登録甚IP が倉わるために、Action には 'UPSERT' を指定 RECORDSET_FILE = "/tmp/create_recordset.json" cat << EOT > ${ RECORDSET_FILE } { "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "<クラむアント識別 ID>.local", "Type": "CNAME", "TTL": 300, "ResourceRecords": [ { "Value": "${ PRIVATE_IP }" } ] } } ] } EOT # 䜜成した定矩ファむルを指定し、Route53 に登録 aws route53 change-resource-record-sets \ --hosted-zone-id ${ HOSTED_ZONE_ID } \ --change-batch file:/// ${ RECORDSET_FILE } 実行するステップはやや倚いですが、このような構成をずるこずで VPC 内ではドメむン指定でのアクセスが可胜ずなるため、IP を意識する必芁がなくなるため柔軟な構成になるかず思いたす。 今回のたずめ いたさらむンスタンス立おるずかめんどくさいなぁ、、、ずか思いながら色々調べお構築したしたが、EC2 たわりのサヌビスも増えおるんだなぁ、なんお感じたした特にパラメヌタストアはずおも䟿利 パラメヌタストア以倖にも Systems Manager には Run Command や Patch Manager など EC2 むンスタンスを管理する䞊でずおも䟿利な仕組みが揃っおいたすのでこのあたりも導入しおいきたいず思いたす。 䜙談ですが、Systems Manager の存圚は re:Invent 2016 で発衚された時から名前だけは知っおたしたが、今回の察応するたでずっずオンプレ専甚のサヌビスだず勘違いしおお蚘憶から消えかけおいたした。。。 最埌に 前線を Proxy å±€ Nginx、埌線を App 局EC2に぀いお曞かせおいただきたしたがいかかだったでしょうか。 そもそもの芁件自䜓がけっこう特殊だったりもするので、なんでこんな構成にみたいなずこもあるかも知れたせんが、どなたかの参考になれば幞いです。もう少し聞いおみたい、ずいうかたは wantedly の「 話を聞いおみたい 」ボタンからどうぞ。 ※前線をあらためお読みたい方はこちらからどうぞ https://developer.medley.jp/entry/2017/08/24/120000_01 お知らせ メドレヌでは、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、オンラむン蚺療アプリ「 CLINICS 」、医療介護の求人サむト「 ゞョブメドレヌ 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。 https://www.medley.jp/recruit/creative.html
今回の内容に぀いお メドレヌ開発本郚の 田侭 です。 先日、Proxy 局を Elastic Beanstalk 䞊の Nginx で、App 局を EC2 むンスタンスで構築する機䌚がありたした。ここだけ芋るずずおも普通に芋えたすが、制玄があるこずで苊劎した点もあり 前線参照 、制玄を乗り越えるための工倫も含めおお話できる限り共有させおいただきたす。 前線では Proxy 局の構成ずしお、䞻に Nginx を䜿甚した Path Based Routing 呚りに぀いおのお話でした。埌線では App 局で䜿甚した EC2、 Systems Manager パラメヌタストアあたりに぀いお共有いたしたす。 App 局の構成 App 局の方針や構築の流れ等をたずめるず以䞋の通りです。 ゎヌルデンむメヌゞずしお OS 蚭定やサヌバアプリケヌションをむンストヌルした imageAMIを䜜成しおおく 䞊蚘の AMI を元に、クラむアント毎に EC2 むンスタンスを䜜成する むンスタンス䜜成時に必芁な Tag の倀や環境倉数を蚭定しおおく 環境倉数はパラメヌタストアに登録 EC2 むンスタンス起動時に、クラむアントに応じた Tag や環境倉数をもずにサヌバアプリケヌションのセットアップを行う 自身の内郚 IP ず Tag に蚭定したクラむアント識別 ID を元に Route53 の PrivateDNS に登録する それでは、それぞれの詳现に぀いお説明しおいきたいず思いたす。 AMI 䜜成 Packer を䜿甚しお各むンスタンス共通ずなる AMI を䜜成したす。 provisioners で指定した構築甚スクリプトで OS 蚭定や必芁ラむブラリ、たたメむンずなるサヌバアプリケヌションをむンストヌルしたす。たた、cloud-init を䜿甚しお初回起動時に動かすスクリプト類もコピヌしおおきたす。 なお、cloud-init から実行するスクリプトは Git や S3 などから動的に取埗する方法もありたすが、さほどスクリプトの内容に倉曎は発生しない点ず、内容的に倉曎ある堎合は image 再䜜成がどちらにしおも必芁になりそうだったので割り切っお image 内に含めるこずにしおいたす。 䜜成した packer.json の provisioners 郚分を抜粋するずこのような感じになりたす説明コメント郚分は実際には蚘茉しおいたせん "provisioners" : [ -- type: shell ずしお、構築甚スクリプト指定。ビルド時に実行される { "type" : "shell" , "scripts" : [ "scripts/provision.sh" ] }, -- type: file でむンスタンス起動時に実行させるスクリプト矀をコピヌ -- これらのスクリプトは cloud-init から実行されるcloud-init の蚭定は別途むンスタンス䜜成時に行っおいる { "type" : "file" , "source" : "./scripts" , "destination" : "/home/hoge" }, -- 䞊蚘のスクリプトに察しお実行暩限付䞎 { "type" : "shell" , "inline" : [ "chmod +x /home/hoge/scripts/*" ] } ] packer build でビルドした image が AWS に今回の共通で䜿甚する AMI ずしお登録されたす EC2 むンスタンス䜜成 䜜成した AMI を元に、クラむアントごずのむンスタンスを䜜成したす。なお、むンスタンス䜜成は Terraform や CloudFormation などは䜿わず、AWS CLI を利甚したスクリプトを䜜成しお実行しおいたす。 むンスタンス䜜成スクリプトはこのような流れの凊理ずなりたす。 匕数でクラむアント識別 ID やその他サヌバアプリケヌションセットアップに必芁ずなる環境倉数を指定 AWS CLI で EC2 むンスタンス䜜成 匕数で指定された環境倉数を AWS CLI でパラメヌタストアに登録 むンスタンス䜜成 以䞋のように、 aws ec2 run-instances コマンドを䜿甚し、Tag にクラむアント識別 ID を指定しお䜜成しおいたす。 ここで指定したクラむアント識別 ID を元にパラメヌタストアから自分甚の環境倉数を登録/取埗したり、Private DNS 甚のドメむンに䜿甚したす。 aws ec2 run-instances \ --image-id ${ AMI_ID } \ --key-name ${ KEY_NAME } --region ${ REGION } \ --subnet-id ${ SUBNET_ID } \ --security-group-ids ${ SECURITY_GROUP } \ --user-data file:// ${ USER_DATA } \ --instance-type ${ INSTANCE_TYPE } \ --tag-specifications "ResourceType=instance,Tags=[{Key=ClientId,Value=${ CLIENT_ID }}]" \ --iam-instance-profile "Arn=${ SERVICE_ROLE }" user-data には初回起動時に実行したいスクリプトPacker でビルド時にコピヌしおおいたスクリプトを指定しおいるだけずなりたす。 #!/bin/bash /home/hoge/scripts/bootstrap.sh パラメヌタストアに環境倉数登録 䜿甚する環境倉数は、Key は共通ですが倀がクラむアントによっお異なりたす。そのため、HOGE ずいう Key を䜿甚する堎合、 <クラむアント識別 ID>.HOGE ずいう圢匏でパラメヌタストアに登録しおいたす。 泚. パラメヌタストアに 階局やタグ付けがサポヌトされた らしく、このあたりの構成は今埌芋盎す予定です 登録は aws ssm put-parameter を実行したす aws ssm put-parameter \ --name ${ KEY } \ --value ${ VALUE } \ --type ${ PARAMETER_TYPE } \ # String、SecureString など --overwrite これでクラむアントごずの EC2 むンスタンスが䜜成、起動されたす。次にむンスタンス起動時の流れに぀いおです。 EC2 むンスタンス起動 起動時は、初回起動ず毎回起動でそれぞれ以䞋のような凊理を行いたす。 初回: パラメヌタストアから自身に関連する環境倉数を取埗し、サヌバアプリケヌションのセットアップ 毎回: 自身の内郚 IP を Route53 の Private DNS に登録/曎新 内郚 IP は固定しおおらず起動時に割り振られるため、毎回曎新するようにしおいたす。 それではそれぞれの内容に぀いお芋おいきたす。 パラメヌタストアから環境倉数取埗 登録時の内容で蚘茉したしたが、環境倉数は <クラむアント識別 ID>.HOGE ずいう圢匏で登録しおいたす。そのため、たずは自身のクラむアント識別 ID を刀定した埌に必芁な環境倉数を aws ssm get-parameters で取埗したす。 # 自身のむンスタンス ID をメタデヌタから取埗 INSTANCE_ID =$( curl -s https://169.254.169.254/latest/meta-data/instance-id ) # クラむアント識別 ID をむンスタンス䜜成時に指定した Tag から取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) CLIENT_ID_TAG =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].Tags[] | select(.Key == "ClientId").Value' ) # 環境倉数を取埗 # タむプを SecureString にしおいる倉数もあるため、䞀埋 --with-decryption オプションを指定しおいる HOGE =$( aws ssm get-parameters \ --name "${ CLIENT_ID_TAG }.HOGE" \ --with-decryption --region ${ REGION } \ | jq -r ".Parameters[].Value" ) export HOGE =${ HOGE } 内郚 IP を Private DNS に登録 最埌に、Proxy 局から Private DNS で名前解決できるように自身の IP を Route 53 に登録しおやりたす。 なお、Route53 には事前に察象の Hosted Zone を Private Hosted Zone for Amazon VPC タむプずしお登録しおおきたす。ここでは䟋ずしお Domain Name を local ずしたす。 EC2 むンスタンスから登録される RecordSet は以䞋の圢匏ずしたす。 Name: <クラむアント識別 ID>.local Type: CNAME Value: EC2 むンスタンスの内郚 IP これらを行うスクリプト䟋は以䞋ずなりたす。 # 内郚 IP を取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) PRIVATE_IP =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].PrivateIpAddress' ) # Route53 の登録先 Hosted Zone ID を取埗 # SEARCH_KEY は今回の䟋でいうず 'local.' になりたす HOSTED_ZONE_ID =$( aws route53 list-hosted-zones \ --region=${ REGION } \ | jq -r ".HostedZones[] | select(.Name == \" ${ SEARCH_KEY } \" ).Id" ) # この埌の登録コマンドで指定するための定矩ファむル # 毎起動時の登録甚IP が倉わるために、Action には 'UPSERT' を指定 RECORDSET_FILE = "/tmp/create_recordset.json" cat << EOT > ${ RECORDSET_FILE } { "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "<クラむアント識別 ID>.local", "Type": "CNAME", "TTL": 300, "ResourceRecords": [ { "Value": "${ PRIVATE_IP }" } ] } } ] } EOT # 䜜成した定矩ファむルを指定し、Route53 に登録 aws route53 change-resource-record-sets \ --hosted-zone-id ${ HOSTED_ZONE_ID } \ --change-batch file:/// ${ RECORDSET_FILE } 実行するステップはやや倚いですが、このような構成をずるこずで VPC 内ではドメむン指定でのアクセスが可胜ずなるため、IP を意識する必芁がなくなるため柔軟な構成になるかず思いたす。 今回のたずめ いたさらむンスタンス立おるずかめんどくさいなぁ、、、ずか思いながら色々調べお構築したしたが、EC2 たわりのサヌビスも増えおるんだなぁ、なんお感じたした特にパラメヌタストアはずおも䟿利 パラメヌタストア以倖にも Systems Manager には Run Command や Patch Manager など EC2 むンスタンスを管理する䞊でずおも䟿利な仕組みが揃っおいたすのでこのあたりも導入しおいきたいず思いたす。 䜙談ですが、Systems Manager の存圚は re:Invent 2016 で発衚された時から名前だけは知っおたしたが、今回の察応するたでずっずオンプレ専甚のサヌビスだず勘違いしおお蚘憶から消えかけおいたした。。。 最埌に 前線を Proxy å±€ Nginx、埌線を App 局EC2に぀いお曞かせおいただきたしたがいかかだったでしょうか。 そもそもの芁件自䜓がけっこう特殊だったりもするので、なんでこんな構成にみたいなずこもあるかも知れたせんが、どなたかの参考になれば幞いです。もう少し聞いおみたい、ずいうかたは wantedly の「 話を聞いおみたい 」ボタンからどうぞ。 ※前線をあらためお読みたい方はこちらからどうぞ https://developer.medley.jp/entry/2017/08/24/120000_01 お知らせ メドレヌでは、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、オンラむン蚺療アプリ「 CLINICS 」、医療介護の求人サむト「 ゞョブメドレヌ 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
今回の内容に぀いお メドレヌ開発本郚の 田侭 です。 先日、Proxy 局を Elastic Beanstalk 䞊の Nginx で、App 局を EC2 むンスタンスで構築する機䌚がありたした。ここだけ芋るずずおも普通に芋えたすが、制玄があるこずで苊劎した点もあり 前線参照 、制玄を乗り越えるための工倫も含めおお話できる限り共有させおいただきたす。 前線では Proxy 局の構成ずしお、䞻に Nginx を䜿甚した Path Based Routing 呚りに぀いおのお話でした。埌線では App 局で䜿甚した EC2、 Systems Manager パラメヌタストアあたりに぀いお共有いたしたす。 App 局の構成 App 局の方針や構築の流れ等をたずめるず以䞋の通りです。 ゎヌルデンむメヌゞずしお OS 蚭定やサヌバアプリケヌションをむンストヌルした imageAMIを䜜成しおおく 䞊蚘の AMI を元に、クラむアント毎に EC2 むンスタンスを䜜成する むンスタンス䜜成時に必芁な Tag の倀や環境倉数を蚭定しおおく 環境倉数はパラメヌタストアに登録 EC2 むンスタンス起動時に、クラむアントに応じた Tag や環境倉数をもずにサヌバアプリケヌションのセットアップを行う 自身の内郚 IP ず Tag に蚭定したクラむアント識別 ID を元に Route53 の PrivateDNS に登録する それでは、それぞれの詳现に぀いお説明しおいきたいず思いたす。 AMI 䜜成 Packer を䜿甚しお各むンスタンス共通ずなる AMI を䜜成したす。 provisioners で指定した構築甚スクリプトで OS 蚭定や必芁ラむブラリ、たたメむンずなるサヌバアプリケヌションをむンストヌルしたす。たた、cloud-init を䜿甚しお初回起動時に動かすスクリプト類もコピヌしおおきたす。 なお、cloud-init から実行するスクリプトは Git や S3 などから動的に取埗する方法もありたすが、さほどスクリプトの内容に倉曎は発生しない点ず、内容的に倉曎ある堎合は image 再䜜成がどちらにしおも必芁になりそうだったので割り切っお image 内に含めるこずにしおいたす。 䜜成した packer.json の provisioners 郚分を抜粋するずこのような感じになりたす説明コメント郚分は実際には蚘茉しおいたせん "provisioners" : [ -- type: shell ずしお、構築甚スクリプト指定。ビルド時に実行される { "type" : "shell" , "scripts" : [ "scripts/provision.sh" ] }, -- type: file でむンスタンス起動時に実行させるスクリプト矀をコピヌ -- これらのスクリプトは cloud-init から実行されるcloud-init の蚭定は別途むンスタンス䜜成時に行っおいる { "type" : "file" , "source" : "./scripts" , "destination" : "/home/hoge" }, -- 䞊蚘のスクリプトに察しお実行暩限付䞎 { "type" : "shell" , "inline" : [ "chmod +x /home/hoge/scripts/*" ] } ] packer build でビルドした image が AWS に今回の共通で䜿甚する AMI ずしお登録されたす EC2 むンスタンス䜜成 䜜成した AMI を元に、クラむアントごずのむンスタンスを䜜成したす。なお、むンスタンス䜜成は Terraform や CloudFormation などは䜿わず、AWS CLI を利甚したスクリプトを䜜成しお実行しおいたす。 むンスタンス䜜成スクリプトはこのような流れの凊理ずなりたす。 匕数でクラむアント識別 ID やその他サヌバアプリケヌションセットアップに必芁ずなる環境倉数を指定 AWS CLI で EC2 むンスタンス䜜成 匕数で指定された環境倉数を AWS CLI でパラメヌタストアに登録 むンスタンス䜜成 以䞋のように、 aws ec2 run-instances コマンドを䜿甚し、Tag にクラむアント識別 ID を指定しお䜜成しおいたす。 ここで指定したクラむアント識別 ID を元にパラメヌタストアから自分甚の環境倉数を登録/取埗したり、Private DNS 甚のドメむンに䜿甚したす。 aws ec2 run-instances \ --image-id ${ AMI_ID } \ --key-name ${ KEY_NAME } --region ${ REGION } \ --subnet-id ${ SUBNET_ID } \ --security-group-ids ${ SECURITY_GROUP } \ --user-data file:// ${ USER_DATA } \ --instance-type ${ INSTANCE_TYPE } \ --tag-specifications "ResourceType=instance,Tags=[{Key=ClientId,Value=${ CLIENT_ID }}]" \ --iam-instance-profile "Arn=${ SERVICE_ROLE }" user-data には初回起動時に実行したいスクリプトPacker でビルド時にコピヌしおおいたスクリプトを指定しおいるだけずなりたす。 #!/bin/bash /home/hoge/scripts/bootstrap.sh パラメヌタストアに環境倉数登録 䜿甚する環境倉数は、Key は共通ですが倀がクラむアントによっお異なりたす。そのため、HOGE ずいう Key を䜿甚する堎合、 <クラむアント識別 ID>.HOGE ずいう圢匏でパラメヌタストアに登録しおいたす。 泚. パラメヌタストアに 階局やタグ付けがサポヌトされた らしく、このあたりの構成は今埌芋盎す予定です 登録は aws ssm put-parameter を実行したす aws ssm put-parameter \ --name ${ KEY } \ --value ${ VALUE } \ --type ${ PARAMETER_TYPE } \ # String、SecureString など --overwrite これでクラむアントごずの EC2 むンスタンスが䜜成、起動されたす。次にむンスタンス起動時の流れに぀いおです。 EC2 むンスタンス起動 起動時は、初回起動ず毎回起動でそれぞれ以䞋のような凊理を行いたす。 初回: パラメヌタストアから自身に関連する環境倉数を取埗し、サヌバアプリケヌションのセットアップ 毎回: 自身の内郚 IP を Route53 の Private DNS に登録/曎新 内郚 IP は固定しおおらず起動時に割り振られるため、毎回曎新するようにしおいたす。 それではそれぞれの内容に぀いお芋おいきたす。 パラメヌタストアから環境倉数取埗 登録時の内容で蚘茉したしたが、環境倉数は <クラむアント識別 ID>.HOGE ずいう圢匏で登録しおいたす。そのため、たずは自身のクラむアント識別 ID を刀定した埌に必芁な環境倉数を aws ssm get-parameters で取埗したす。 # 自身のむンスタンス ID をメタデヌタから取埗 INSTANCE_ID =$( curl -s https://169.254.169.254/latest/meta-data/instance-id ) # クラむアント識別 ID をむンスタンス䜜成時に指定した Tag から取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) CLIENT_ID_TAG =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].Tags[] | select(.Key == "ClientId").Value' ) # 環境倉数を取埗 # タむプを SecureString にしおいる倉数もあるため、䞀埋 --with-decryption オプションを指定しおいる HOGE =$( aws ssm get-parameters \ --name "${ CLIENT_ID_TAG }.HOGE" \ --with-decryption --region ${ REGION } \ | jq -r ".Parameters[].Value" ) export HOGE =${ HOGE } 内郚 IP を Private DNS に登録 最埌に、Proxy 局から Private DNS で名前解決できるように自身の IP を Route 53 に登録しおやりたす。 なお、Route53 には事前に察象の Hosted Zone を Private Hosted Zone for Amazon VPC タむプずしお登録しおおきたす。ここでは䟋ずしお Domain Name を local ずしたす。 EC2 むンスタンスから登録される RecordSet は以䞋の圢匏ずしたす。 Name: <クラむアント識別 ID>.local Type: CNAME Value: EC2 むンスタンスの内郚 IP これらを行うスクリプト䟋は以䞋ずなりたす。 # 内郚 IP を取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) PRIVATE_IP =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].PrivateIpAddress' ) # Route53 の登録先 Hosted Zone ID を取埗 # SEARCH_KEY は今回の䟋でいうず 'local.' になりたす HOSTED_ZONE_ID =$( aws route53 list-hosted-zones \ --region=${ REGION } \ | jq -r ".HostedZones[] | select(.Name == \" ${ SEARCH_KEY } \" ).Id" ) # この埌の登録コマンドで指定するための定矩ファむル # 毎起動時の登録甚IP が倉わるために、Action には 'UPSERT' を指定 RECORDSET_FILE = "/tmp/create_recordset.json" cat << EOT > ${ RECORDSET_FILE } { "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "<クラむアント識別 ID>.local", "Type": "CNAME", "TTL": 300, "ResourceRecords": [ { "Value": "${ PRIVATE_IP }" } ] } } ] } EOT # 䜜成した定矩ファむルを指定し、Route53 に登録 aws route53 change-resource-record-sets \ --hosted-zone-id ${ HOSTED_ZONE_ID } \ --change-batch file:/// ${ RECORDSET_FILE } 実行するステップはやや倚いですが、このような構成をずるこずで VPC 内ではドメむン指定でのアクセスが可胜ずなるため、IP を意識する必芁がなくなるため柔軟な構成になるかず思いたす。 今回のたずめ いたさらむンスタンス立おるずかめんどくさいなぁ、、、ずか思いながら色々調べお構築したしたが、EC2 たわりのサヌビスも増えおるんだなぁ、なんお感じたした特にパラメヌタストアはずおも䟿利 パラメヌタストア以倖にも Systems Manager には Run Command や Patch Manager など EC2 むンスタンスを管理する䞊でずおも䟿利な仕組みが揃っおいたすのでこのあたりも導入しおいきたいず思いたす。 䜙談ですが、Systems Manager の存圚は re:Invent 2016 で発衚された時から名前だけは知っおたしたが、今回の察応するたでずっずオンプレ専甚のサヌビスだず勘違いしおお蚘憶から消えかけおいたした。。。 最埌に 前線を Proxy å±€ Nginx、埌線を App 局EC2に぀いお曞かせおいただきたしたがいかかだったでしょうか。 そもそもの芁件自䜓がけっこう特殊だったりもするので、なんでこんな構成にみたいなずこもあるかも知れたせんが、どなたかの参考になれば幞いです。もう少し聞いおみたい、ずいうかたは wantedly の「 話を聞いおみたい 」ボタンからどうぞ。 ※前線をあらためお読みたい方はこちらからどうぞ https://developer.medley.jp/entry/2017/08/24/120000_01 お知らせ メドレヌでは、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、オンラむン蚺療アプリ「 CLINICS 」、医療介護の求人サむト「 ゞョブメドレヌ 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
今回の内容に぀いお メドレヌ開発本郚の 田侭 です。 先日、Proxy 局を Elastic Beanstalk 䞊の Nginx で、App 局を EC2 むンスタンスで構築する機䌚がありたした。ここだけ芋るずずおも普通に芋えたすが、制玄があるこずで苊劎した点もあり 前線参照 、制玄を乗り越えるための工倫も含めおお話できる限り共有させおいただきたす。 前線では Proxy 局の構成ずしお、䞻に Nginx を䜿甚した Path Based Routing 呚りに぀いおのお話でした。埌線では App 局で䜿甚した EC2、 Systems Manager パラメヌタストアあたりに぀いお共有いたしたす。 App 局の構成 App 局の方針や構築の流れ等をたずめるず以䞋の通りです。 ゎヌルデンむメヌゞずしお OS 蚭定やサヌバアプリケヌションをむンストヌルした imageAMIを䜜成しおおく 䞊蚘の AMI を元に、クラむアント毎に EC2 むンスタンスを䜜成する むンスタンス䜜成時に必芁な Tag の倀や環境倉数を蚭定しおおく 環境倉数はパラメヌタストアに登録 EC2 むンスタンス起動時に、クラむアントに応じた Tag や環境倉数をもずにサヌバアプリケヌションのセットアップを行う 自身の内郚 IP ず Tag に蚭定したクラむアント識別 ID を元に Route53 の PrivateDNS に登録する それでは、それぞれの詳现に぀いお説明しおいきたいず思いたす。 AMI 䜜成 Packer を䜿甚しお各むンスタンス共通ずなる AMI を䜜成したす。 provisioners で指定した構築甚スクリプトで OS 蚭定や必芁ラむブラリ、たたメむンずなるサヌバアプリケヌションをむンストヌルしたす。たた、cloud-init を䜿甚しお初回起動時に動かすスクリプト類もコピヌしおおきたす。 なお、cloud-init から実行するスクリプトは Git や S3 などから動的に取埗する方法もありたすが、さほどスクリプトの内容に倉曎は発生しない点ず、内容的に倉曎ある堎合は image 再䜜成がどちらにしおも必芁になりそうだったので割り切っお image 内に含めるこずにしおいたす。 䜜成した packer.json の provisioners 郚分を抜粋するずこのような感じになりたす説明コメント郚分は実際には蚘茉しおいたせん "provisioners" : [ -- type: shell ずしお、構築甚スクリプト指定。ビルド時に実行される { "type" : "shell" , "scripts" : [ "scripts/provision.sh" ] }, -- type: file でむンスタンス起動時に実行させるスクリプト矀をコピヌ -- これらのスクリプトは cloud-init から実行されるcloud-init の蚭定は別途むンスタンス䜜成時に行っおいる { "type" : "file" , "source" : "./scripts" , "destination" : "/home/hoge" }, -- 䞊蚘のスクリプトに察しお実行暩限付䞎 { "type" : "shell" , "inline" : [ "chmod +x /home/hoge/scripts/*" ] } ] packer build でビルドした image が AWS に今回の共通で䜿甚する AMI ずしお登録されたす EC2 むンスタンス䜜成 䜜成した AMI を元に、クラむアントごずのむンスタンスを䜜成したす。なお、むンスタンス䜜成は Terraform や CloudFormation などは䜿わず、AWS CLI を利甚したスクリプトを䜜成しお実行しおいたす。 むンスタンス䜜成スクリプトはこのような流れの凊理ずなりたす。 匕数でクラむアント識別 ID やその他サヌバアプリケヌションセットアップに必芁ずなる環境倉数を指定 AWS CLI で EC2 むンスタンス䜜成 匕数で指定された環境倉数を AWS CLI でパラメヌタストアに登録 むンスタンス䜜成 以䞋のように、 aws ec2 run-instances コマンドを䜿甚し、Tag にクラむアント識別 ID を指定しお䜜成しおいたす。 ここで指定したクラむアント識別 ID を元にパラメヌタストアから自分甚の環境倉数を登録/取埗したり、Private DNS 甚のドメむンに䜿甚したす。 aws ec2 run-instances \ --image-id ${ AMI_ID } \ --key-name ${ KEY_NAME } --region ${ REGION } \ --subnet-id ${ SUBNET_ID } \ --security-group-ids ${ SECURITY_GROUP } \ --user-data file:// ${ USER_DATA } \ --instance-type ${ INSTANCE_TYPE } \ --tag-specifications "ResourceType=instance,Tags=[{Key=ClientId,Value=${ CLIENT_ID }}]" \ --iam-instance-profile "Arn=${ SERVICE_ROLE }" user-data には初回起動時に実行したいスクリプトPacker でビルド時にコピヌしおおいたスクリプトを指定しおいるだけずなりたす。 #!/bin/bash /home/hoge/scripts/bootstrap.sh パラメヌタストアに環境倉数登録 䜿甚する環境倉数は、Key は共通ですが倀がクラむアントによっお異なりたす。そのため、HOGE ずいう Key を䜿甚する堎合、 <クラむアント識別 ID>.HOGE ずいう圢匏でパラメヌタストアに登録しおいたす。 泚. パラメヌタストアに 階局やタグ付けがサポヌトされた らしく、このあたりの構成は今埌芋盎す予定です 登録は aws ssm put-parameter を実行したす aws ssm put-parameter \ --name ${ KEY } \ --value ${ VALUE } \ --type ${ PARAMETER_TYPE } \ # String、SecureString など --overwrite これでクラむアントごずの EC2 むンスタンスが䜜成、起動されたす。次にむンスタンス起動時の流れに぀いおです。 EC2 むンスタンス起動 起動時は、初回起動ず毎回起動でそれぞれ以䞋のような凊理を行いたす。 初回: パラメヌタストアから自身に関連する環境倉数を取埗し、サヌバアプリケヌションのセットアップ 毎回: 自身の内郚 IP を Route53 の Private DNS に登録/曎新 内郚 IP は固定しおおらず起動時に割り振られるため、毎回曎新するようにしおいたす。 それではそれぞれの内容に぀いお芋おいきたす。 パラメヌタストアから環境倉数取埗 登録時の内容で蚘茉したしたが、環境倉数は <クラむアント識別 ID>.HOGE ずいう圢匏で登録しおいたす。そのため、たずは自身のクラむアント識別 ID を刀定した埌に必芁な環境倉数を aws ssm get-parameters で取埗したす。 # 自身のむンスタンス ID をメタデヌタから取埗 INSTANCE_ID =$( curl -s https://169.254.169.254/latest/meta-data/instance-id ) # クラむアント識別 ID をむンスタンス䜜成時に指定した Tag から取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) CLIENT_ID_TAG =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].Tags[] | select(.Key == "ClientId").Value' ) # 環境倉数を取埗 # タむプを SecureString にしおいる倉数もあるため、䞀埋 --with-decryption オプションを指定しおいる HOGE =$( aws ssm get-parameters \ --name "${ CLIENT_ID_TAG }.HOGE" \ --with-decryption --region ${ REGION } \ | jq -r ".Parameters[].Value" ) export HOGE =${ HOGE } 内郚 IP を Private DNS に登録 最埌に、Proxy 局から Private DNS で名前解決できるように自身の IP を Route 53 に登録しおやりたす。 なお、Route53 には事前に察象の Hosted Zone を Private Hosted Zone for Amazon VPC タむプずしお登録しおおきたす。ここでは䟋ずしお Domain Name を local ずしたす。 EC2 むンスタンスから登録される RecordSet は以䞋の圢匏ずしたす。 Name: <クラむアント識別 ID>.local Type: CNAME Value: EC2 むンスタンスの内郚 IP これらを行うスクリプト䟋は以䞋ずなりたす。 # 内郚 IP を取埗 # (describe-instances の filter に自身のむンスタンス ID を指定) PRIVATE_IP =$( aws ec2 describe-instances \ --region=${ REGION } \ --filters "Name=instance-id,Values=${ INSTANCE_ID }" \ | jq -r '.Reservations[].Instances[].PrivateIpAddress' ) # Route53 の登録先 Hosted Zone ID を取埗 # SEARCH_KEY は今回の䟋でいうず 'local.' になりたす HOSTED_ZONE_ID =$( aws route53 list-hosted-zones \ --region=${ REGION } \ | jq -r ".HostedZones[] | select(.Name == \" ${ SEARCH_KEY } \" ).Id" ) # この埌の登録コマンドで指定するための定矩ファむル # 毎起動時の登録甚IP が倉わるために、Action には 'UPSERT' を指定 RECORDSET_FILE = "/tmp/create_recordset.json" cat << EOT > ${ RECORDSET_FILE } { "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "<クラむアント識別 ID>.local", "Type": "CNAME", "TTL": 300, "ResourceRecords": [ { "Value": "${ PRIVATE_IP }" } ] } } ] } EOT # 䜜成した定矩ファむルを指定し、Route53 に登録 aws route53 change-resource-record-sets \ --hosted-zone-id ${ HOSTED_ZONE_ID } \ --change-batch file:/// ${ RECORDSET_FILE } 実行するステップはやや倚いですが、このような構成をずるこずで VPC 内ではドメむン指定でのアクセスが可胜ずなるため、IP を意識する必芁がなくなるため柔軟な構成になるかず思いたす。 今回のたずめ いたさらむンスタンス立おるずかめんどくさいなぁ、、、ずか思いながら色々調べお構築したしたが、EC2 たわりのサヌビスも増えおるんだなぁ、なんお感じたした特にパラメヌタストアはずおも䟿利 パラメヌタストア以倖にも Systems Manager には Run Command や Patch Manager など EC2 むンスタンスを管理する䞊でずおも䟿利な仕組みが揃っおいたすのでこのあたりも導入しおいきたいず思いたす。 䜙談ですが、Systems Manager の存圚は re:Invent 2016 で発衚された時から名前だけは知っおたしたが、今回の察応するたでずっずオンプレ専甚のサヌビスだず勘違いしおお蚘憶から消えかけおいたした。。。 最埌に 前線を Proxy å±€ Nginx、埌線を App 局EC2に぀いお曞かせおいただきたしたがいかかだったでしょうか。 そもそもの芁件自䜓がけっこう特殊だったりもするので、なんでこんな構成にみたいなずこもあるかも知れたせんが、どなたかの参考になれば幞いです。もう少し聞いおみたい、ずいうかたは wantedly の「 話を聞いおみたい 」ボタンからどうぞ。 ※前線をあらためお読みたい方はこちらからどうぞ https://developer.medley.jp/entry/2017/08/24/120000_01 お知らせ メドレヌでは、医垫たちが぀くるオンラむン医療事兞「 MEDLEY 」、オンラむン蚺療アプリ「 CLINICS 」、医療介護の求人サむト「 ゞョブメドレヌ 」、口コミで探せる介護斜蚭の怜玢サむト「 介護のほんね 」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 メドレヌで䞀緒に医療䜓隓を倉えるプロダクト䜜りに関わりたい方のご連絡お埅ちしおおりたす。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp