<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AWS on 小惡魔 - AppleBOY</title><link>https://blog.wu-boy.com/tags/aws/</link><description>Recent content in AWS on 小惡魔 - AppleBOY</description><generator>Hugo</generator><language>en-us</language><managingEditor>appleboy.tw@gmail.com (Appleboy)</managingEditor><webMaster>appleboy.tw@gmail.com (Appleboy)</webMaster><lastBuildDate>Sun, 27 Jun 2021 11:35:53 +0800</lastBuildDate><atom:link href="https://blog.wu-boy.com/tags/aws/feed.xml" rel="self" type="application/rss+xml"/><item><title>AI 團隊整合導入 AWS SageMaker 流程</title><link>https://blog.wu-boy.com/2021/06/integratate-sagemaker-workflow-using-golang-api/</link><pubDate>Sun, 27 Jun 2021 11:35:53 +0800</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2021/06/integratate-sagemaker-workflow-using-golang-api/</guid><description>&lt;p&gt;&lt;img src="https://i.imgur.com/REuJgTP.png" alt="Flow"&gt;&lt;/p&gt;
&lt;h2 id="團隊困境"&gt;團隊困境&lt;/h2&gt;
&lt;p&gt;如果團隊未來想把&lt;a href="https://medium.com/@troy801125/machine-learning-%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7%E5%92%8C%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92%E6%98%AF%E4%BB%80%E9%BA%BC-49a6ba41ab3e"&gt;機器學習&lt;/a&gt;推廣成一個服務，可以讓開發者帶入不同的參數進行客製化的學習，最終拿到學習過的 Model。或是團隊資源不夠，想要使用大量的 GPU 資源來加速 AI Model Training，這時就是要朝向使用第三方資源像是 &lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html"&gt;AWS SageMaker&lt;/a&gt; 來進行整合。而在團隊內會分成機器學習團隊，及後端團隊，前者是專門進行資料分析及 AI Model 演算法及程式碼開發，後者則是專攻全部工作流程，從產生測試資料，前置準備，到 Training Model，及將產生的結果發送給開法者，這整段流程會由後端團隊進行串接。所以當我們要用第三方服務時 AWS SageMaker，對於機器學習團隊來說，要將整個環境打包成容器模式，並且符合 SageMaker 所規定的格式，&lt;strong&gt;過程相當複雜&lt;/strong&gt;，而為了讓開發環境統一，我們使用了&lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers.html"&gt;容器技術&lt;/a&gt; (Docker Container) 來進行 SageMaker 串接，本篇會教大家如何整合 SageMaker 流程，讓機器學習團隊可以專注於 Model 流程開發，而不需要花時間在整合容器技術並符合 SageMaker 格式。&lt;/p&gt;</description></item><item><title>用 GitHub Actions 上傳 Docker Image 到 AWS ECR</title><link>https://blog.wu-boy.com/2020/04/upload-docker-image-to-aws-ecr-using-github-actions/</link><pubDate>Mon, 06 Apr 2020 05:39:21 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2020/04/upload-docker-image-to-aws-ecr-using-github-actions/</guid><description>&lt;p&gt;&lt;img src="https://lh3.googleusercontent.com/t5MID_dNklCmkU2VFrKkhHV89tta8i-9GMebbSyfd_uvvdyQlo6Q4JbhRkA0jCO84vcSLW8zbn4Nqvzm1PYmAgrBQ4e2J1aZiUOZ7p_NGNinNF7Svsld_JRBv5rwCouNEJ_oBxk-Vqs=w1920-h1080" alt=""&gt;&lt;/p&gt;
&lt;p&gt;最近正打算使用 &lt;a href="https://github.com/features/actions"&gt;GitHub Actions&lt;/a&gt; 來串接 &lt;a href="https://aws.amazon.com"&gt;AWS&lt;/a&gt; 服務 (&lt;a href="https://aws.amazon.com/tw/ecr/"&gt;ECR&lt;/a&gt; + &lt;a href="https://aws.amazon.com/tw/ecs/"&gt;ECS&lt;/a&gt;)，上網找了一堆 &lt;a href="https://github.com/marketplace?type=actions&amp;amp;query=ECR"&gt;ECR 套件&lt;/a&gt;，發現就連 &lt;a href="https://github.com/aws-actions/amazon-ecr-login"&gt;AWS 官方&lt;/a&gt;都只有實作 Login 進 ECR，後面編譯跟上傳動作就需要自己寫，可以看看底下是 AWS 官方套件的範例:&lt;/p&gt;</description></item><item><title>高雄 Mopcon 濁水溪以南最大研討會 – Drone CI/CD 介紹</title><link>https://blog.wu-boy.com/2018/11/drone-ci-cd-platform-in-mopconf/</link><pubDate>Tue, 06 Nov 2018 05:28:08 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2018/11/drone-ci-cd-platform-in-mopconf/</guid><description>&lt;p&gt;&lt;a href="https://www.flickr.com/photos/appleboy/45693842842/in/dateposted-public/" title="Screen Shot 2018-11-06 at 1.16.22 PM"&gt;&lt;img src="https://i1.wp.com/farm2.staticflickr.com/1948/45693842842_d5fb6105b5_z.jpg?w=840&amp;#038;ssl=1" alt="Screen Shot 2018-11-06 at 1.16.22 PM" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今年又以講者身份參加 &lt;a href="https://mopcon.org"&gt;Mopcon&lt;/a&gt; 南區最大研討會，此次回高雄最主要推廣 &lt;a href="https://github.com/drone/drone"&gt;Drone&lt;/a&gt; 這套 CI/CD 平台。大家可以從過去的 Blog 或影片可以知道我在北部推廣了很多次 Drone 開源軟體，唯獨南台灣還沒講過，所以透過 Mopcon 研討會終於有機會可以來推廣了。本次把 Drone 的架構圖畫出來，如何架設在 &lt;a href="https://kubernetes.io/"&gt;Kubernetes&lt;/a&gt; 上以及該如何擴展 drone agent，有興趣的可以參考底下投影片:&lt;/p&gt;</description></item><item><title>用 10 分鐘部署專案到 AWS Lambda</title><link>https://blog.wu-boy.com/2018/10/deploy-app-to-aws-lambda-using-up-tool-in-ten-minutes/</link><pubDate>Thu, 25 Oct 2018 03:10:18 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2018/10/deploy-app-to-aws-lambda-using-up-tool-in-ten-minutes/</guid><description>&lt;p&gt;&lt;a href="https://www.flickr.com/photos/appleboy/43711539730/in/dateposted-public/" title="Screen Shot 2018-10-24 at 9.37.49 AM"&gt;&lt;img src="https://i1.wp.com/farm2.staticflickr.com/1956/43711539730_7bd9f610c3_z.jpg?w=840&amp;#038;ssl=1" alt="Screen Shot 2018-10-24 at 9.37.49 AM" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;看到這標題也許非常聳動，也可能覺得不可思議，今天來探討如何將專案直接部署到 &lt;a href="https://aws.amazon.com/tw/lambda/"&gt;AWS Lambda&lt;/a&gt; 並且自動化將 &lt;a href="https://aws.amazon.com/tw/api-gateway/"&gt;API Gateway&lt;/a&gt; 設定完成。當然要做到完全自動化，必須要使用一些工具才能完成，本篇將介紹由 &lt;a href="https://github.com/tj"&gt;TJ&lt;/a&gt; 所開發的 &lt;a href="https://github.com/apex/up"&gt;apex/up&lt;/a&gt; 工具，如果您不熟悉 EC2 也不太懂 Command line 操作，本文非常適合您，不需要管理任何 EC2 機器，也不需要在熟悉任何 Linux Command 就可以完成簡單的專案部署。首先為什麼我選擇 apex/up 而不是選擇 &lt;a href="https://github.com/apex/apex"&gt;apex/apex&lt;/a&gt;，原因是使用 up 工具，您的專案是不用更動任何程式碼，就可以將專案直接執行在 AWS Lambda，那 API Gateway 部分也會一並設定完成，將所有 Request 直接 Proxy 到該 Lambda function。如果您希望對於 AWS Lambda 有更多進階操作，我會建議您用 &lt;a href="https://github.com/apex/apex"&gt;apex/apex&lt;/a&gt; 或 &lt;a href="https://serverless.com/"&gt;Serverless&lt;/a&gt;。您可以想像使用 up 就可以將 AWS Lambda 當作小型的 EC2 服務，但是不用自己管理 EC2，現在 up 支援 &lt;a href="https://golang.org"&gt;Golang&lt;/a&gt;, &lt;a href="https://nodejs.org/en/"&gt;Node.js&lt;/a&gt;, &lt;a href="https://www.python.org/"&gt;Python&lt;/a&gt; 或 Java 程式語言，用一行 command 就可以將專案部署到雲端了。&lt;/p&gt;</description></item><item><title>在 AWS Lambda 上寫 Go 語言搭配 API Gateway</title><link>https://blog.wu-boy.com/2018/01/write-golang-in-aws-lambda/</link><pubDate>Wed, 24 Jan 2018 02:43:43 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2018/01/write-golang-in-aws-lambda/</guid><description>&lt;p&gt;&lt;a href="https://www.flickr.com/photos/appleboy/39154963694/in/dateposted-public/" title="Snip20180124_2"&gt;&lt;img src="https://i2.wp.com/farm5.staticflickr.com/4655/39154963694_d53bc2a73e_z.jpg?w=840&amp;#038;ssl=1" alt="Snip20180124_2" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;這應該不是什麼新消息了，就是 &lt;a href="https://aws.amazon.com/lambda/"&gt;AWS Lambda&lt;/a&gt; 正式&lt;a href="https://aws.amazon.com/blogs/compute/announcing-go-support-for-aws-lambda/"&gt;支援 Go 語言&lt;/a&gt;，也就是可以將 &lt;a href="https://golang.org"&gt;Go 語言&lt;/a&gt;編譯出來的二進制檔案直接放進去 Lambda Function 內，前面可以搭配 &lt;a href="https://aws.amazon.com/api-gateway/"&gt;API Gateway&lt;/a&gt;，後面可以搭配 &lt;a href="https://aws.amazon.com/cloudwatch/"&gt;CloudWatch&lt;/a&gt; 或 &lt;a href="https://aws.amazon.com/s3/"&gt;S3&lt;/a&gt;，本文章會教大家如何將 &lt;a href="https://github.com/gin-gonic/gin"&gt;Gin&lt;/a&gt; 打包編譯進 Lambda，官網其實也有提供 &lt;a href="https://github.com/aws/aws-lambda-go"&gt;Library 或範例&lt;/a&gt;方便大家實作，大家可以參考看看。&lt;/p&gt;</description></item><item><title>申請 Let’s Encrypt 免費憑證讓網站支援 HTTP2</title><link>https://blog.wu-boy.com/2016/10/website-support-http2-using-letsencrypt/</link><pubDate>Sun, 09 Oct 2016 08:23:00 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2016/10/website-support-http2-using-letsencrypt/</guid><description>&lt;p&gt;&lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/appleboy/23840721545/in/dateposted-public/" title="Letsencrypt"&gt;&lt;img src="https://i1.wp.com/farm6.staticflickr.com/5803/23840721545_e0350b687f.jpg?w=300&amp;#038;ssl=1" alt="Letsencrypt" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;寫這篇最主要推廣讓網站都支援 &lt;a href="https://en.wikipedia.org/wiki/HTTPS"&gt;HTTPS 加密連線&lt;/a&gt;及 &lt;a href="https://en.wikipedia.org/wiki/HTTP/2"&gt;HTTP2 協定&lt;/a&gt;，對於網站為什麼要支援 HTTP2，可以直接參考 ihower 寫的&lt;a href="https://ihower.tw/blog/archives/8489"&gt;說明文章&lt;/a&gt;，最近在玩 Facebook, Line, Telegram Bot 時，填寫 Webhook URL，都強制要填寫 https:// 開頭，所以更不能忽略 HTTPS 了。，去年底寫了一篇 &lt;a href="https://blog.wu-boy.com/2015/12/letsencrypt-entering-public-beta-free-ssl/"&gt;Let&amp;rsquo;s Encrypt 開放申請免費 SSL 憑證&lt;/a&gt; 推廣 Let&amp;rsquo;s Encrypt 的貢獻，讓買不起憑證，又想玩看看 HTTP2 的開發者可以用很簡單的方式來安裝及自動更新憑證，而 &lt;a href="https://blog.gslin.org/"&gt;gslin&lt;/a&gt; 大為了推廣 HTTPS 也做了一個&lt;a href="https://letsencrypt.tw/"&gt;網站教學&lt;/a&gt;，文章寫得相當清楚，支援 &lt;a href="https://httpd.apache.org/"&gt;Apache&lt;/a&gt; 及 &lt;a href="https://nginx.org/"&gt;Nginx&lt;/a&gt; 設定。&lt;/p&gt;</description></item><item><title>SSH agent forwarding 教學</title><link>https://blog.wu-boy.com/2016/10/ssh-agent-forwarding-proxycommand-tutorial/</link><pubDate>Wed, 05 Oct 2016 02:09:41 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2016/10/ssh-agent-forwarding-proxycommand-tutorial/</guid><description>&lt;p&gt;&lt;strong&gt;2016.11.13 Update: SSH Agent Forwarding 有安全性問題，請用 &lt;code&gt;ProxyCommand&lt;/code&gt; 取代，請參考 &lt;a href="https://heipei.github.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/"&gt;SSH Agent Forwarding considered harmful&lt;/a&gt;&lt;/strong&gt; &lt;a data-flickr-embed="true" href="https://www.flickr.com/photos/appleboy/30008040142/in/dateposted-public/" title="Screen Shot 2016-10-05 at 9.26.13 AM"&gt;&lt;img src="https://i0.wp.com/c7.staticflickr.com/6/5219/30008040142_9d50881bba_z.jpg?resize=640%2C371&amp;#038;ssl=1" alt="Screen Shot 2016-10-05 at 9.26.13 AM" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.github.com/guides/using-ssh-agent-forwarding/"&gt;SSH agent forwarding&lt;/a&gt; 可以讓開發者將 Local 端的 SSH Key Pair 帶到另外一台機器進行傳送，也就是說你不用將 SSH Key 複製到遠端 Server 再進行跳板動作，原本在 AWS 維護多台 EC2 主機，都會固定有一台跳板機，大家都把自己需要登入遠端機器的 SSH Key 複製到跳板機，這做法其實沒有很安全，又需要多下一個指令進行跳板。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;個人電腦 -&amp;mdash;&amp;gt; EC2 跳板機 -&amp;mdash;&amp;gt; EC2 Server&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;大家都會把 Key Pair 存放到跳板機，安全性堪憂，只要這台主機被 Hack，或者是內部員工登入，拿別人的 Key Pair 登入其它主機，不就可以搞破壞？所以此篇教學主要教大家如何設定 SSH agent forwarding，讓憑證只存放在自己電腦，而不需上傳到 &lt;code&gt;EC2 跳板機&lt;/code&gt;。這樣跳板機就真的只是跳板機，不需要存放任何憑證資料，每小時設定清空 Ubuntu User 家目錄，避免內部員工放個人資料或憑證，提升主機安全性。&lt;/p&gt;</description></item><item><title>在 Fedora 或 Amazon Linux AMI 架設 Nginx + PHP FastCGI</title><link>https://blog.wu-boy.com/2012/05/install-nginx-php-fastcgi-on-amazon-linux/</link><pubDate>Mon, 28 May 2012 11:34:32 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2012/05/install-nginx-php-fastcgi-on-amazon-linux/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/7285947094/" title="799px-Amazon.com-Logo.svg by appleboy46, on Flickr"&gt;&lt;img src="https://i0.wp.com/farm8.staticflickr.com/7221/7285947094_9e34eeb903.jpg?resize=500%2C101&amp;#038;ssl=1" alt="799px-Amazon.com-Logo.svg" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt; 上一篇介紹
&lt;p&gt;&lt;a href="http://blog.wu-boy.com/2012/05/php-fastcgi-with-nginx-on-ubuntu-10-10-maverick/" target="_blank"&gt;如何在 Ubuntu 底下安裝 Nginx + PHP FastCGI&lt;/a&gt;，這次來紀錄如何安裝在 Fedora 系統，目前環境是使用 &lt;a href="http://aws.amazon.com/amazon-linux-ami/" target="_blank"&gt;Amazon Linux AMI&lt;/a&gt;，如果有在玩 &lt;a href="http://aws.amazon.com/ec2/" target="_blank"&gt;AWS EC2&lt;/a&gt; 或是 &lt;a href="http://fedoraproject.org/" target="_blank"&gt;Fedora Linux&lt;/a&gt; 的話，對這 OS 就不會很陌生了。&lt;/p&gt;</description></item><item><title>AWS 機器上 duplicated RPM 問題</title><link>https://blog.wu-boy.com/2011/10/how-to-remove-duplicated-rpm-package/</link><pubDate>Fri, 07 Oct 2011 05:28:45 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2011/10/how-to-remove-duplicated-rpm-package/</guid><description>&lt;div style="margin:0 auto; text-align:center"&gt;
 &lt;a href="https://www.flickr.com/photos/appleboy/6219253012/" title="AWS-logo by appleboy46, on Flickr"&gt;&lt;img src="https://i2.wp.com/farm7.static.flickr.com/6174/6219253012_f5f9a7ed0c.jpg?resize=270%2C110&amp;#038;ssl=1" alt="AWS-logo" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/div&gt; 昨天幫忙升級全部 
&lt;p&gt;&lt;a href="http://aws.amazon.com/" target="_blank"&gt;AWS&lt;/a&gt; RPM 套件，升級過程本來很順利，不過不知道哪一個 RPM 造成 SSH 全面斷線，接著我直接到 &lt;a href="http://aws.amazon.com/console/" target="_blank"&gt;AWS Management Console&lt;/a&gt; 把機器 restart，登入系統之後下 yum update，直接給我噴出底下錯誤訊息&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate" title=""&gt;---&gt; Package zlib.i686 0:1.2.3-24.7.amzn1 will be updated
---&gt; Package zlib.i686 0:1.2.3-25.8.amzn1 will be an update
--&gt; Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
** Found 155 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-libs-2.1-5.15.amzn1.x86_64 is a duplicate with audit-libs-2.0.4-1.14.amzn1.x86_64
authconfig-6.1.12-5.14.amzn1.x86_64 is a duplicate with authconfig-6.1.4-6.13.amzn1.x86_64
basesystem-10.0-4.9.amzn1.noarch is a duplicate with basesystem-10.0-4.8.amzn1.noarch
bash-4.1.2-8.14.amzn1.x86_64 is a duplicate with bash-4.1.2-3.13.amzn1.x86_64
binutils-2.20.51.0.2-5.20.17.amzn1.x86_64 is a duplicate with binutils-2.20.51.0.2-5.12.15.amzn1.x86_64
cloud-init-0.5.15-16.amzn1.noarch is a duplicate with cloud-init-0.5.15-8.amzn1.noarch
coreutils-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-8.4-9.12.amzn1.x86_64
coreutils-libs-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-libs-8.4-9.12.amzn1.x86_64
cpp-4.4.5-6.35.amzn1.x86_64 is a duplicate with cpp-4.4.4-13.33.amzn1.x86_64
&lt;/pre&gt;</description></item></channel></rss>