@@ -118,8 +118,16 @@ While this will work fine, it might give slower serving then if you would route
118
118
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockTitle_Ktv7">./Dockerrun.aws.json</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">{</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "AWSEBDockerrunVersion": "1",</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "Image": {</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "Name": "my-ai-blog",</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "Update": "true"</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> },</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "Ports": [</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "ContainerPort": 3500,</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "HostPort": 80</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> ],</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "Volumes": [</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> {</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "HostDirectory": "/dbData",</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> "ContainerDirectory": "/app/db"</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> }</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain"> ]</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
119
119
<p>Now deploy your app to Elastic Beanstalk:</p>
120
120
<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">eb create live --envvars $(cat .env | tr '\n' ',' | sed 's/,$//') --single --instance-types t4g.nano</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
121
- <p>To terminate environment and stop billing:</p>
122
- <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">eb terminate </span><span class="token parameter variable" style="color:#f8f8f2">--force</span><span class="token plain"> live</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>]]></content>
121
+ <p>During deployment notice IP address of your instance. It will be shown in line:</p>
122
+ <div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">Created EIP: x.y.z.w</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
123
+ <blockquote>
124
+ <p>👆 In future, if you wish to terminate environment and stop billing:</p>
125
+ <div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">eb terminate </span><span class="token parameter variable" style="color:#f8f8f2">--force</span><span class="token plain"> live</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
126
+ </blockquote>
127
+ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="add-https-and-cdn">Add HTTPs and CDN<a class="hash-link" aria-label="Direct link to Add HTTPs and CDN" title="Direct link to Add HTTPs and CDN" href="https://adminforth.dev/blog/ai-blog/#add-https-and-cdn"></a></h3>
128
+ <p>For adding HTTPS and CDN you will use free Cloudflare service (though you can use paid AWS Cloudfront or any different way e.g. add Traefik and Let's Encrypt). Go to <a href="https://cloudflare.com/" target="_blank" rel="noopener noreferrer">https://cloudflare.com</a> and create an account. Add your domain and follow instructions to change your domain nameservers to Cloudflare ones.</p>
129
+ <p>Go to your domain settings and add A record with your Elastic Beanstalk IP address, e.g.</p>
130
+ <div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#f8f8f2;--prism-background-color:#272822"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#f8f8f2;background-color:#272822"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#f8f8f2"><span class="token plain">Type: A</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">Name: blog</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">Value: x.y.z.w</span><br></span><span class="token-line" style="color:#f8f8f2"><span class="token plain">Cloudflare proxy: orange (enabled)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>]]></content>
123
131
<author>
124
132
<name>Ivan Borshcho</name>
125
133
<uri>https://github.com/ivictbor</uri>
0 commit comments