Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ããã«ã¡ã¯ãã¤ã³ãã©é¨ã® id:sue445 ã§ããç§äºã§ããå æ¥GCPã® Professional Cloud Architect ãåå¾ãã¾ããã ããããããã§ä»æ¥ã¯GCPã§ã¯ãªãAWSã®è©±ããã¾ãã tl;dr; åçããã©ã¼ã¢ãã¿ã¼ æ§æ ç§»è¡ã®ã¢ããã¼ã·ã§ã³ ããã©ã¼ãã³ã¹åä¸ ã³ã¹ãå§ç¸® ã¢ã¼ããã¯ãã£ã®æ¡æçç± ãã£ãã㨠1. DB使 2. MySQL 5.7 -> 8.0 MySQL 8.0ã§ããã£ãã㨠MySQL 8.0ããããã©ã«ãã®èªè¨¼ãcaching_sha2_passwordã«ãªã£ã RDSã®MySQL 8.0ããMariaDB ç£æ»ãã©ã°ã¤ã³ããªããªã£ã 3. æ¬çªç¨ã®Dockerã¤ã¡ã¼ã¸ã使 å°ã£ããã¨ï¼CodeIgniterããã°ã®æ¨æºåºåã«å¯¾å¿ãã¦ããªãã£ã 4. ECS + Fargate + CodePipelineæ§ç¯ 5. CDN使 6
ã©ãã@kimihom ã§ãã å æ¥ãHeroku Postgres ã® Hobby ãã©ã³ã使ã£ã¦ããããæ¥ã« DB ã¸ã®ã¢ã¯ã»ã¹ãé ããªã£ãäºè±¡ãçºçããããã®åå ã¨å¯¾å¿ã«ã¤ãã¦è¨ãã¦ããã åé¡ã®åå ã¾ããã©ããªã¨ãã«é ããªã£ãã®ãã¨ããã¨ã1ã¤ã®ã¬ã³ã¼ãã«å¤§éã®ãã¼ã¿ãå ¥ã£ãã¨ãã ã£ãããã以éãHeroku Addnons ã® NewRelic ã Scout APM ãªã©ã®ã¢ããªã³ã§éããåå ã¨ãªã£ã¦ããé¨åã調ã¹ãã¨ãããActive Record(DBã¢ã¯ã»ã¹) ã§ 90% 以ä¸ã®æéãè²»ããã¦ãããã¨ãããã£ãã Postgres ã®ã¬ã³ã¼ãã®ã«ã©ã ã text åã§ä¿åãããã®ã«ã©ã ã«å¤§éã®æåããã¹ãã§å ¥ãã¦ä¿åãã¦ãããæ¥ã«ãã¼ã¿ã¢ã¯ã»ã¹ãé ããªã£ã¦ãã¾ã£ãã®ã ã£ãããã®ãã¼ã¿ã¯ããã¼ã¸ãã¼ãæã«èªã¿è¾¼ã¾ãããã¼ã¿ã§ãããã¨ããã Heroku Dyno ãåèµ·å
ã¯ããã« ããã«ã¡ã¯ãinductorã§ãã GCPã®Cloud Runã¯ãåç¥ã§ãããããä¸çä¸ç°¡åã«åä¸ã®ã³ã³ããããããã¤ã§ãããµã¼ãã¹ã ã¨ç§ã¯èãã¦ãã¾ãã ãã¦ã以ä¸ã®ãããªãªãªã¼ã¹ãã¼ãã®éç¥ããã£ã¦ãCloud RunãGitã¨é£æºãã¦æ´æ°ã¾ã§èªåã§ã§ããããã«ãªã£ãã¿ããã§ãã Continuous deployment from Git using Cloud Build ã¾ã¨ããã¨ãããªæãã®ãã¨ãæ¸ãã¦ããã¾ã Cloud Buildã®ããªã¬ã¼ã使ç¨ãã¦æ°ããã³ããããGitãªãã¸ããªã®ç¹å®ã®ãã©ã³ãã«ããã·ã¥ããããã³ã«ã³ã¼ããèªåçã«ãã«ããã¦ãããã¤ãããã¨ã§ããã«ãã¨Cloud Runã¸ã®ãããã¤ãèªååã§ãã¾ãã Cloud Buildããªã¬ã¼ã使ç¨ãã¦ã³ã³ããããã«ãããã¨ãCloud Runã«ãããã¤ããå¾ãã½ã¼ã¹ãªãã¸ããªæ å ±ããµã¼ãã¹ã®Cloud C
â»ãã®è¨äºã¯2018å¹´9æã«å ¬éå¾ãherokuã®ãã¼ã¸ã§ã³ã¢ãããåãã¦ã®å¤æ´ç¹ãåæ ãããå 容ã«ãªãã¾ããï¼2018å¹´10æ31æ¥æç¹ï¼ ç¬èªãã¡ã¤ã³ã§å ¬éããã æè¿herokuã使ã£ã¦ç¬èªãã¡ã¤ã³ãå ¬éããã¨ãããã¨ããããå°ã調ã¹ã¦ãã¾ãããããã¾ãã¡ã¾ã¨ã¾ã£ããã®ããªããã¨ã¨ããã¾ãææ°ã®ãã®ããªãã£ãã®ã§æ¹ãã¦æ¸ãã¦ã¿ããã¨æãã¾ããã ãã®è¨äºã§æ¸ããã¨ã¨æ¸ããªãã㨠ãã®è¨äºã§ã¯åãã¦ç¬èªãã¡ã¤ã³ãå ¬éãããããï¼ã¨ãã人ã«åãã¦ã ç°¡æã«ç¬èªãã¡ã¤ã³ãå ¬éããã¾ã§ã®æçã®ããã»ã¹ãè¨ããã¨æãã®ã§ã herokuã§ãããããããµããã¡ã¤ã³ï¼wwwãã¤ãã¦ããã®ï¼ã®å ¬éã®ä»æ¹ãæ¸ããã¨æãã¾ãã ã«ã¼ããã¡ã¤ã³ã®å ¬éã®ä»æ¹ã«é¢ãã¦ã¯æ¬¡åã®è¨äºã§æ¸ããã¨æãã¾ãã åæ ãã§ã«ãã¡ã¤ã³ã¯ããªã¥ã¼ãã¡ã¤ã³ããåå.comã使ã£ã¦åå¾ãã¦ãããã®ã¨ãã herokuã¯hobby
Heroku ã§æ¢åã¢ããªãæ±ã $ heroku create ããã¦ãã®æµãã®ä¸ã§ã¢ããªãæ±ã説æã¯ããè¦ãããã®ã§ããããã§ã«åå¨ãã¦ããã¢ããªãã¾ã£ãããªç°å¢ã«ãã£ã¦ããå ´åã¯ãã¾ãè¦ãããªãã£ãã®ã§æ¸ãã¦ããã¾ãããªãã Heroku CLI ã®æºåã¯ã§ãã¦ãããã®ã¨ãã¾ãã heroku apps ã§ã¢ããªä¸è¦§ã®æ å ±ãå¾ã $ heroku apps ã§ç¾å¨åå¨ããã¢ããªã®ä¸è¦§ãå¾ããã¾ãã $ heroku apps === your@mail.address Apps foo-bar-12345 hoge-fuga-98765 foobar-hogefuga-54321 heroku git:clone --app ã¢ããªå ãããã¨ãã¢ããªåãã®ãã¡ã¤ã«ããã¦ã³ãã¼ãã§ãã åé ã®çµæã«ããã¢ããªåãåããã°ã$ heroku git:clone --app ã¢ããªå ã¨
ããã¾ã§ä½ã£ã¦ãã麻éã²ã¼ã ãã¹ãã¼ãã¬ã¹ã«ãªãããã« æ¹è¯ã§ããã®ã§æ©éWebä¸ã«ã¢ããããããªãã¨æã£ã¦ããããããã¾ããã ä¸å¿å ¬éã¾ã§åºæ¥ãã®ã§URLãç½®ãã¨ãã¾ãã è¯ããã°è§¦ã£ã¦ã¿ã¦ãã ããï¼ï¼ https://lonlymahjong.herokuapp.com/ âãããªæãã®ãä½ãã¾ãããã ã¢ããªã±ã¼ã·ã§ã³ãã©ãããã©ã¼ã ï¼ãµã¼ãã¼ï¼ã¯Herokuãå©ç¨ãã¾ããã AWSãªãç¾è·ã§ãä½¿ãæ©ä¼ããã£ã¦ããããªã¼ã¨ãæã£ããã§ããã ãéãããããè¾ãã¾ãããï¼ãã®ãããæããã£ã¦è©±ã§ããâ¦ï¼ ãã£ãããªã®ã§ALLï¼åã§ããã¾ãï¼ ä½¿ç¨æè¡ ä¸æ¦éçºã«ããã使ç¨ããæè¡ãæ´çãã¾ãã âéçºè¨èª Python3 âãµã¼ãã¼ãµã¤ããã¬ã¼ã ã¯ã¼ã¯ Flask âããã³ãã¨ã³ããã¬ã¼ã ã¯ã¼ã¯ ãªã âéçºOS mac âIDE pycharm âã½ã¼ã¹ç®¡ç GitHub âã¢ããª
æè¿ãDjangoã§ä½ã£ãããã¸ã§ã¯ãã¸ã®æ©è½è¿½å ãã³ã¼ãã®ãªãã¡ã¯ã¿ãªã³ã°ããã¦ãã¦ããããæ©ã«CircleCIãå§ããã¹ããver.2.1ã§herokuã¸ã®ãããã¤ãèªååãã¦ã¿ãã ã½ã¼ã¹ã®git管çã¨Bitbucketã¸ã®pushã¯çµãã£ã¦ããã®ã§ãCircleCIã®ãµã¤ãã§ãªãã¸ããªã®é£æºãæ¸ã¾ãã辺ãã¯å²æã CircleCIã®CLIãã¼ã«ãå ¥ãã å¾ã ãç¥ãã¾ãããCircleCIã«ã¯CLIãã¼ã«ããã£ãããã¼ã«ã«ã§ä¸æãå®è¡ã§ãããã試ããã(å ¥ããCLIã®ãã¼ã¸ã§ã³ã§ã¯ã2.1ã®configãã¡ã¤ã«ã§å®è¡ããã®ã¯é対å¿)configãã¡ã¤ã«ã«ããªãã¼ã·ã§ã³ããããããã pushããªãã¦ãã¾ãæ¸ãæ¹ããã£ã¦ããã試ããã®ã§çµæ§ãããããã 仿´CLIãã¼ã«ããã£ã¦ããã¼ã«ã«ã§ããªãã¼ã·ã§ã³ããããã®ç¥ã£ãã â ãã«ãã (@skd_nw) January 16, 201
2012å¹´04æ17æ¥ heroku ã³ãã³ãã«ç´ä»ããã¢ã«ã¦ã³ãã夿´ãã heroku ã³ãã³ãã«ç´ã¥ãã¦ããã¢ã«ã¦ã³ãã¯æåã®å®è¡æã«åçãããã®ããã£ã¨ä½¿ãããã ç§ã¯ãã¾ãã¾æåã¯ä¼ç¤¾ã¢ãã¬ã¹ã§ã¢ã«ã¦ã³ãç»é²ããã¦ãå¾ããèªåã®gmailã¢ãã¬ã¹ã®ã¢ã«ã¦ã³ããä½ã£ãã®ã ãã©ãã³ãã³ãå®è¡ã®å¯¾è±¡ã¢ã«ã¦ã³ããgmailã¢ãã¬ã¹ã®æ¹ã«å¤æ´ãããã¨ãã¦ããªãã¯ã¾ã£ãã ã¾ããherokuã³ãã³ãã«ã¯è¨å®ãã¡ã¤ã«ããããã®ãè¦å½ãããªããheroku helpã§è¨å®ç»é¢ãå¼ã³åºãããã¨æããããããããªãããã ã ããã§æ¤ç´¢ãã¦ã¿ãã¨ããããã®ãã®ãã°ãã®æ¹æ³ãæ¸ãã¦ä¸ãã£ã¦ããæ¹ãããã Better Than Nothingï¼Heroku ã§ä½¿ãã¢ã«ã¦ã³ãã夿´ããæ¹æ³ æ¸ãã¦ããéãã«ãheroku keys:clearããå®è¡ãã¦ãã ~/.heroku/credentials ã
ã¾ã骨åã¨ãªã WEB ãã¬ã¼ã ã¯ã¼ã¯ WEB ãµã¼ãã¹ãä½ããã¨ããã®ã§ããã WEB ãã¬ã¼ã ã¯ã¼ã¯ãé¸ã¶ã®ãã¾ãæåã§ããããã§ãããå人㧠WEB éçºãããéã«ã¯çµå±èªåãä¸çªæ £ã親ããã§ããè¨èªã®ããã¡ã¯ãã® WEB ãã¬ã¼ã ã¯ã¼ã¯ã使ããããªãã§ããããããã驿驿ã§é¸ã¹ãããã«ãªãã«ã¯ä¸ç´è ã«ãªããªãã¨ãããªãã¨æãã¾ãã ã¨ã¯è¨ã£ã¦ããNode.js ã§ã® WEB éçºãä»ã®è¨èªã¨æ¯ã¹ã¦ãã¡ããã¡ãéå¹çãªå¯è½æ§ãæãã¦ä»ã®è¨èªã®ãã¬ã¼ã ã¯ã¼ã¯ãããã¤ã触ã£ã¦ã¯ã¿ã¾ãããçµæ JavaScript ã®ç´°ããé¨åãçµã¿åããã¦ããã«æ¨ã¦ããå¤ãããã§ããè¯ããçºè¦ããJavaScript ã¸ã®æãæ·±ã¾ããã¨ã«ãªãã¾ããã ã¾ããNode.js ã® WEB ãã¬ã¼ã ã¯ã¼ã¯ã Express.js ã®æ¬¡ä¸ä»£ã§ãã Koa.js ã使ãããã£ãã®ã§ããæ¥æ¬èªã®æ å ±éãæ¢åã®ãã¦
Standard 1xã¾ã§ã¯ã1 Dynoã«å²ãå½ã¦ãããã¡ã¢ãªã¯512MB ç¡ææ ã¯å ¨ã¢ããªã±ã¼ã·ã§ã³åè¨ã§æ1000æéã¾ã§ ç¾å¨(2016/06/01-)ã®æéä½ç³»ã§ã¯ãFreeãã©ã³ã ã¨1ã¢ã«ã¦ã³ãããããã¹ã¦ã®ã¢ããªã±ã¼ã·ã§ã³ãã¢ããªã³ãå«ãã¦1000æéã¾ã§ãç¡ææ ã¨ãªãã¾ã(ref)ããªã®ã§ãä¾ãã°éçºç°å¢ç¨ã¨æ¬çªç°å¢ç¨ã§2ã¤Dynoã稼åãã¦ãã¦ãããã«newrelicã®ã¢ããªã³ã使ç¨ãã¦ããã¨ããã®3ã¤ã®ä½¿ç¨æéã®åè¨ã1000æéã«ãªãã¾ã§ãç¡æã¨ãªãã¾ãããã£ã¦ãä¾ãã°webã¢ããªã±ã¼ã·ã§ã³ãéç¨ãã¦ãã¦ã²ã¨æå¸¸æç¨¼åããããã¨ããã¨ãã¾ãæ¬çªç°å¢ç¨ã®Dynoã ãã§ 24æé x 30(æ¥) = 720æé ã¶ããæ¶è²»ãã¾ããã¾ãFreeãã©ã³ã§å¸¸æç¨¼åããããã«ã¯ä¸è¨ã®è¡¨ã«ãã30åsleepå¶éãåé¿ããã¹ã¯ãªãããªã©ãå«ããå¿ è¦ãããã®ã§ããããHerokuã§è¨
æ¦è¦ herokuãDjangoã®å ¬å¼ã®ãã¥ã¼ããªã¢ã«ããã£ããã©ãèªåã§ä¸ããä½ãã¨ãªãã¨è²ã ããããªãã£ãã®ã§çè§£ããªããä½ã è³æå ¨ä½ã®æ§æã¯ããã«è¨è¼ï¼ GoogleHomeã«è©±ãããã¦ã¡ã¢ãè¨é²ãããã¡ã¢ãèªã¿ä¸ãã¦ããã ãã®è³æã¯GoogleHomeç¨ã®ã¢ããªã¨ã¯ç´æ¥é¢ä¿ãªãã®ã§ã»ã¨ãã©é£ã°ãã¦ãããã¨ããæ¸ãã¦ããªã Djangoã®ãã¥ã¼ããªã¢ã« https://docs.djangoproject.com/ja/2.0/intro/tutorial01/#writing-your-first-django-app-part-1 herokuã®ãã¥ã¼ããªã¢ã« https://devcenter.heroku.com/articles/getting-started-with-python#introduction ãªãã¸ã㪠https://github.com/herok
Vagrantã®ä¸ã«æ§ç¯ããDjangoããã¸ã§ã¯ãã«ãã¢ããªã±ã¼ã·ã§ã³ã¨ã¢ãã«ã使ãã¾ãã Djangoã®ã¢ãã«ã¨ã¯ï¼ Djangoã§è¨ããã¢ãã«ãã¨ã¯ããµã¤ããæ§æãããã¼ã¿ã®å¯ä¸çµ¶å¯¾çãªãã¼ã¿ã½ã¼ã¹ã§ããã¢ãã«ã«ã¯ãä¿åããããã¼ã¿ã表ããã¼ã¿ãã£ã¼ã«ãã¨ããã¼ã¿ã®ããã¤ãã¢ï¼åä½ï¼ãå®ç¾©ãã¾ããé常ãä¸ã¤ã®ã¢ãã«ã¯ä¸ã¤ã®ãã¼ã¿ãã¼ã¹ãã¼ãã«ã«å¯¾å¿ãã¾ãã ã¢ãã«ã®åºæ¬ ã¢ãã«ã®åºæ¬ã¨ãã¦ã以ä¸ã®ãããªç¹å¾´ãããã¾ãã åã¢ãã«ã¯Pythonã®ã¯ã©ã¹ã åã¢ãã«ã¯django.db.models.Modelã®ãµãã¯ã©ã¹ã ã¢ãã«ã®åã¢ããªãã¥ã¼ãï¼å±æ§ï¼ã®å¤ã¯ããã¼ã¿ãã¼ã¹ä¸ã®ãããã£ã¼ã«ãã表ç¾ããã ã¢ãã«ã®æ å ±ããã¨ã«ã Djangoã¯ãã¼ã¿ãã¼ã¹APIãèªåçæããã 使¥ã®æµã åå使ããããã¸ã§ã¯ãã«ãstartappã³ãã³ãã§Djangoã¢ããªã±ã¼ã·ã§ã³ãçæãã¾ã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}