AWS 發(fā)布React + Python項(xiàng)目 + Godaddy域名

項(xiàng)目簡介

前端使用React,將使用S3托管靜態(tài)網(wǎng)站,使用cloudfront代理

后端使用Python,將使用ECS發(fā)布項(xiàng)目

域名在Godaddy購買,現(xiàn)托管到Route53

1. 域名托管

在Route53創(chuàng)建Hosted Zone,創(chuàng)建成功后,會(huì)有NS records,將這些NS records更新到godaddy的Domain DNS manage里。

注意:如果godaddy之前有CNAME,MX這些記錄,一定要先備份,右上角有導(dǎo)出,可以先導(dǎo)出,之后修改了DNS manage之后,再將這些記錄添加到Route53里,否則會(huì)影響郵件等功能(如果有的話)!


image.png

2. HTTPS訪問

在ACW里require certifier,填寫你要用的域名或者子域名,之后會(huì)有對應(yīng)的CNAME,可以點(diǎn)擊右上的按鈕,自動(dòng)添加到Route53.


image.png

3. 前端靜態(tài)文件發(fā)布

創(chuàng)建S3 bucket,由于cloudfront不允許代理public的bucket,所以在設(shè)置S3 bucket權(quán)限的時(shí)候不能設(shè)置為public。


image.png

創(chuàng)建后添加如下權(quán)限

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "AllowCloudFrontServiceOnlyPrincipal",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudfront.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mysonsgroup-website/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudfront::296855284431:distribution/E175Y2EONAZ9G1"
                }
            }
        }
    ]
}

4.創(chuàng)建Cloudfront代理前端頁面

在Cloudfront里Create Distributions,Origin domain選擇第三步創(chuàng)建的S3 bucket


image.png

Domain name填寫第二部ACM里用到的域名,Custom SSL certificate就選擇第二部創(chuàng)建的ACM


image.png
5.ECS發(fā)布后端API

由于我開發(fā)中使用了docker,所以計(jì)劃發(fā)布用ECR。先用docker build image將后端代碼打包成docker image,然后在ECS里點(diǎn)擊左側(cè)Amazon ECR -> Repositories -> Create Repositories


image.png

ECS Task definitions創(chuàng)建 task, image選擇上面的image
在ECS Clusters創(chuàng)建service, container選擇上面創(chuàng)建的task, image選擇上面創(chuàng)建的image, Load balancer type選擇 ALB。
最后在router53添加接口子域名的 A record 到上面創(chuàng)建的ALB

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容