CloudFront
Route 53
Info prior to 2017
EC2
Route53
AWS Info
web access problem resolved
CloudFront
S3
Perl Installs for S3 Usage
Etc.
CodeDeploy
Using Amazon Web Services
https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/
https://forums.aws.amazon.com/thread.jspa?messageID=470503
Mar 30, 2017 Updates
CloudFront
http://d2sozmwf59ohoz.cloudfront.net
disabled the CloudFront distribution ID E3A66Z9WCFSUK1. not deleted. disabled. i assume that means pages are not cached. nope. still cached. that's because the status is "in progress". it's probably not disabled completely. it takes a while for changes to complete in cloudfront.
origins:
distribution origin had pointed to: ec2-54-211-235-101.compute-1.amazonaws.com
changed it to point to the s3 bucket.
Origin Domain Name: boghop.s3-website-us-east-1.amazonaws.com
behaviors:
prior behavior settings when distribution pointed to ec2 instance:
precedence : path pattern
0 : /api/v1/*
1 : /wren/update/*
2 : /wren/splitscreenedit/*
3 : Default (*)
deleted the first 3, leaving only Default(*)
Then in enabled the distribution again. In theory, cloudfront will point to S3 pages.
but when a page is not cached, it needs to get it from the correct machine. i think that i need to change something within route 53. maybe not. i think that if cloudfront does not have the page cache, then cloudfront "sends the user" to the s3 bucket to get the page, which then cloudfront will cache.
i have caching set only to 5 minutes.
after the distribution re-enabled, http://boghop.com points to S3 and the pages are cached after the first access. Cache last 5 minutes. All is working well. That was easier than I expected.
curl -I http://boghop.com/about.html
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 8876
Connection: keep-alive
Date: Thu, 30 Mar 2017 23:10:45 GMT
Last-Modified: Mon, 27 Mar 2017 01:51:01 GMT
ETag: "50c32da15ee5850d68e682343244e55b"
Server: AmazonS3
Age: 7
Vary: Accept-Encoding
X-Cache: Hit from cloudfront
Via: 1.1 00c7e93925c1f21062f4f49a5c1e8fd3.cloudfront.net (CloudFront)
X-Amz-Cf-Id: jBjHM_cQRCq_lkgGVFR3QXx4-lFLzASkYwWgUuPo8dqnm7Q6Ilh79Q==
Route 53
DNS points to the above cloudfront distribution.
these were and will remain the settings, i think. i'm not making changes.
update: i made no changes. didn't need to.
name: boghop.com.
Type: A - IPv4 address
alias target: d2sozmwf59ohoz.cloudfront.net.
Alias Hosted Zone ID: Z2FDTNDATAQYW2
routing policy: simple
name: boghop.com.
Type: SOA – Start of authority
TTL: 900 seconds
value: ns-1337.awsdns-39.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
name: boghop.com.
Type: NS - name server
TTL: 172800
value: ns-847.awsdns-41.net.
ns-1337.awsdns-39.org.
ns-1608.awsdns-09.co.uk.
ns-11.awsdns-01.com.
name: www.boghop.com.
Type: A - IPv4 address
alias target: d2sozmwf59ohoz.cloudfront.net.
Alias Hosted Zone ID: Z2FDTNDATAQYW2
routing policy: simple
Info prior to 2017
ssl:
https://aws.amazon.com/certificate-manager/
https://brandur.org/aws-intrinsic-static
http://stackoverflow.com/questions/1268158/force-cloudfront-distribution-file-update
"Please note that invalidation will take some time (apparently 5-30 minutes according to some blog posts I've read)."
"Remember this costs $0.005 per file after your first 1,000 invalidation requests per month"
"After making an API createInvalidation request, i'm still seeing the update take 5-10 minutes or so to invalidate. Notice I write this comment 4 years after yours."
http://boghop.com/info.html?timestamp=1234567
[x] http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/API_CreateInvalidation.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html
http://stackoverflow.com/questions/1086240/how-can-i-update-files-on-amazons-cdn-cloudfront
https://wordimpress.com/aws-ec2-rds-s3-cloudfront-nginx-wordpress-tutorial-roundup/
https://forums.aws.amazon.com/thread.jspa?messageID=111790��
https://www.peterbe.com/plog/is-nginx-obsolete-amazon-cloudfront
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html
would this be a possible replacement for MailGun to send the login link for my no-password login functions?
Amazon SES - Bulk and transactional email-sending service.
http://stackshare.io/amazon-ses
Amazon SES eliminates the complexity and expense of building an in-house email solution or licensing, installing, and operating a third-party email service. The service integrates with other AWS services, making it easy to send emails from applications being hosted on services such as Amazon EC2.
good post to read:
https://www.davidbaumgold.com/tutorials/host-static-site-aws-s3-cloudfront/
---
EC2
http://ec2-54-211-235-101.compute-1.amazonaws.com
Logged into aws.amazon.com with my Amazon account, which I then used to create an AWS account.
Created an EC2 instance. I choose Ubuntu 14.04.
Instance is running in the US East (N. Virginia) region.
During the process, I had to create a key pair name. AWS created a private key, which I downloaded. It was a .pem file.
I moved the .pem file to another directory on my local Linux machine at home. From within this directory, I used ssh to connect to my EC2 account, using the command line instructions provided by AWS's web interface.
It's a fairly clean or empty Linux machine, as with my Digital Ocean Droplet account.
I chose to install Nginx first.
at my aws ec2 server:
ls /etc/nginx/sites-available
boghop.com default.19jul2016
not using the default config file. its existence caused issues or conflicts. only have boghop.com config file links to the sites-enabled directory.
http://voidcanvas.com/setup-and-configure-nginx-in-aws-ec2-linuxubuntu-instance/
this starts in the home directory, which is /home/ubuntu
- sudo apt-get update
- sudo apt-get install nginx
- sudo service nginx start
- sudo mkdir www
- cd www
- sudo mkdir mysite
- cd mysite
- sudo vim index.html
- added test content to index.html
- cd
- sudo chmod -R 755 www
- cd /etc/nginx/sites-available
- ls
- sudo cp default mysite
- cd ..
- cd sites-enabled
- sudo ln -s /etc/nginx/sites-available/mysite mysite
- sudo service nginx restart
ec2-54-211-235-101.compute-1.amazonaws.com
Route53
bought: perchwire.com and boghop.com through AWS.
used route53's dns setup to connect the ec2 instance with the domain name.
AWS Info
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html?icmpid=docs_ec2_console
https://aws.amazon.com/start-now/
http://docs.aws.amazon.com/gettingstarted/latest/swh/website-hosting-intro.html
https://aws.amazon.com/route53/
https://forums.aws.amazon.com/thread.jspa?threadID=87279
web access problem resolved
wed, evening, july 27, 2016. i have not looked at this since last week when i initiated this.
http://boghop.com now works, display a hello world type message.
https://forums.aws.amazon.com/message.jspa?messageID=571142
my issue was identical
I have taken a look at your one running instance and I can see you have only allowed access to port 22 in the associated Security Group ("sg-0bbd436e").In order to ping the instance, you will need to allow ICMP traffic. In order to browse to the instance, you will need to typically open port 80/443--this depends on which port you have configured the Web server to listen.
in EC2 management:
- showed instances running, which is only one
- scroll to the right, all the way, to show security groups
- click the link for launch-wizard-1
- only thing permitted was port 22 for ssh
- i added http port 80
- i also added icmp
next, i need to install:
- perl
- fast cgi
- wren
- any modules used by wren
- mailgun
- json
- any modules used by wren
CloudFront
i created one distribution:
http://d2sozmwf59ohoz.cloudfront.net
Distribution ID E3A66Z9WCFSUK1
ARN arn:aws:cloudfront::545494550219:distribution/E3A66Z9WCFSUK1
Log Prefix -
Delivery Method Web
Cookie Logging Off
Distribution Status Deployed
Comment -
Price Class Use All Edge Locations (Best Performance)
AWS WAF Web ACL -
State Enabled
Alternate Domain Names (CNAMEs)
https://aws.amazon.com/blogs/aws/
https://hackernoon.com/how-a-book-store-is-dominating-the-cloud-4ef3a839aaba#.sz2fcsl9w
Certificate Manager ( #ssl )
and CloudFront
https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html
https://docs.aws.amazon.com/acm/latest/userguide/gs-cf.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html
https://console.aws.amazon.com/cloudfront/home?region=us-east-1#
https://aws.amazon.com/cloudfront/pricing/
http://www.slideshare.net/AmazonWebServices/whole-site-delivery-with-amazon-cloudfront
http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html
load balancing info:
https://aws.amazon.com/articles/1636185810492479
https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html
request a certificate:
https://console.aws.amazon.com/acm/home?region=us-east-1#/wizard/?firstrun=true
load balancer
https://docs.aws.amazon.com/acm/latest/userguide/gs-elb.html
cloudfront and s3
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html
etc.
https://wblinks.com/notes/aws-tips-i-wish-id-known-before-i-started/
https://news.ycombinator.com/item?id=7172060
load balancing doc
https://aws.amazon.com/articles/1636185810492479
http://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html
python and aws:
https://aws.amazon.com/sdk-for-python/
Speeding up delivery of web content using Amazon Route 53, Elastic Load Balancer and CloudFront
http://www.slideshare.net/tomlaszewski/web-sitescalingpartnerwebinar
https://aws.amazon.com/cloudfront/
moving files to s3
https://news.ycombinator.com/item?id=7172583
https://www.davidbaumgold.com/tutorials/host-static-site-aws-s3-cloudfront
s3
http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html
http://jothut.com/cgi-bin/junco.pl/replies/77700
https://news.ycombinator.com/item?id=12528070
"You can invalidate cache with fake (ignored) URL parameters (http://foo.html?hello) or HEAD section declarations."
+1 on setting up an s3 bucket, cloudfront distribution, ssl sni, route 53 rules and simple "aws s3 sync" command with some cache-headers
GitHub (source) => TravisCI (deployment) => S3 (hosting).
I have a CloudFront distribution sitting in front of S3, secured with a free SSL certificate powered by Amazon ACM. I like S3 for its flexibility. My site is in both English and Dutch and I want to serve English content on .io and the Dutch content on .nl. With S3 I just create two buckets, associate the bucket with a different domain and welcome page (index_en.html and index_nl.html) and publish the same site to each bucket.
Amazon S3 + CloudFront here, for several websites and it works wonderfully. I recently set up attensee/s3_website as a pipeline on my BitBucket repo, so now when any team member pushes their HTML/CSS updates to BitBucket, it automatically deploys the site to S3 and invalidates the CloudFront caches automatically. Instant website updates using only `git push`.
http://stout.is/
Stout is a deploy tool for static websites. It takes a website and uploads it to S3 in a more reliable way than other tools.
https://tech.flyclops.com/posts/2016-04-27-flyclops-sites-static-ssl.html
https://www.smashingmagazine.com/2015/11/modern-static-website-generators-next-big-thing/
AWS Webcast - Best Practices for Content Delivery using Amazon CloudFront
https://www.youtube.com/watch?v=s9Xt1qzD6SA
Amazon CloudFront to improve delivery of static or dynamic content originating from AWS services such as Amazon S3, Elastic Load Balancing (ELB), or Amazon EC2.
Learning Objectives:
• Best practices for delivering your whole website on Amazon CloudFront
• Best practices to deliver content securely via Amazon CloudFront
• Best practices to deliver content from AWS services such as Amazon S3, Amazon EC2 and Elastic Load Balancing using Amazon CloudFront
Who Should Attend:
• All AWS (S3, EC2, or ELB) customers who have some data transfer to internet
• All Amazon CloudFront customers
https://www.elegantthemes.com/blog/tips-tricks/how-to-use-amazon-s3-and-cloudfront-with-wordpress
ec2 and cloudfront
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CustomOriginBestPractices.html
https://aws.amazon.com/cloudfront/webinars/
https://aws.amazon.com/cloudfront/dynamic-content/
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html
- http://www.slideshare.net/AmazonWebServices/whole-site-delivery-with-amazon-cloudfront
- http://www.slideshare.net/tomlaszewski/web-sitescalingpartnerwebinar
- https://aws.amazon.com/cloudfront/
- http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html
- https://www.davidbaumgold.com/tutorials/host-static-site-aws-s3-cloudfront/
- https://aws.amazon.com/cloudfront/faqs/
- https://www.youtube.com/watch?v=s9Xt1qzD6SA
- https://aws.amazon.com/cloudfront/dynamic-content/
- http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html
- https://aws.amazon.com/cloudfront/webinars/
previous route 53 dns settings:
name = www
type = CNAME
ttl = 300
value = boghop.com.
name=boghop.com.
type = A
ttl = 300
value = 54.211.235.101
d2sozmwf59ohoz.cloudfront.net
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html
https://news.ycombinator.com/item?id=12401849
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
http://www.cdnplanet.com/tools/cloudfront-purge-tool/
http://www.technowise.in/2012/09/clear-cache-from-amazon-cloudfront-aws.html
http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/GetInvalidation.html
https://www.quora.com/How-do-I-flush-a-Amazon-cloudfront-cache
http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html
https://aws.amazon.com/developertools/0756890389303912
http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html
https://aws.amazon.com/code/3143226315989801
[x] https://aws.amazon.com/developertools/0756890389303912
[x] http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/RESTRequests.html
view CloudFront's REST API
- http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/Welcome.html
- http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/RESTRequests.html
S3
on fri, oct 7, 2016, i created an s3 bucket named boghop.
http://boghop.s3-website-us-east-1.amazonaws.com
https://linuxconfig.org/getting-started-with-aws-s3cmd-command-by-examples
http://www.serveridol.com/2013/11/11/amazon-s3-awesome-usage-of-s3cmd-tools/
http://jothut.com/cgi-bin/junco.pl/blogpost/78395/02Oct2016/More-static-site-and-aws-links
http://tmont.com/blargh/2014/1/uploading-to-s3-in-bash
??? https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html
Create a bucket policy with json:
[x] http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html
i copied this json from the above file and modified to use my bucket:
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"PublicReadGetObject",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::example-bucket/*"
]
}
]
}
i also added a permission with grantee Everyone and List access. unsure if this was needed.
- s3cmd --configure
entered the Access Key ID and the Secret Access Key.
s3cmd ls s3://boghop
cd Wren/root
s3cmd put index.html s3://boghop/index.html
WARNING: Module python-magic is not available. Guessing MIME types based on file extensions.
index.html -> s3://boghop/index.html [1 of 1]
4442 of 4442 100% in 0s 121.67 kB/s done
s3cmd ls s3://boghop
2016-10-07 13:16 4442 s3://boghop/index.html
s3cmd put *.html s3://boghop/
*** don't use: s3cmd sync root s3://boghop/
problem is that it creates a root dir at the bucket.
http://boghop.s3-website-us-east-1.amazonaws.com/root/2014/07/19/a-full-rich-day-in-toledo-ohio.html
cd into my Wren root directory and then do:
s3cmd sync . s3://boghop/
now this works:
http://boghop.s3-website-us-east-1.amazonaws.com/2014/07/19/a-full-rich-day-in-toledo-ohio.html
deletes all files and sub-directories under root:
** no it doesn't: s3cmd del s3://boghop/root/*
the above only deletes the files under root. it does not delete sub-dirs.
this will delete files and sub-dirs under root:
s3cmd del s3://boghop/root/ --recursive
deletes the root directory:
s3cmd del s3://boghop/root
to copy over a single file that's located in a subdirectory, it seems that the full name needs to be used:
to delete ALL contents in the bucket including subdirectories:
- s3cmd del -r --force s3://boghop/
the bucket remains though.
(cd into root)
s3cmd put 2016/11/03/facebooks-2016-growth.html s3://boghop/2016/11/03/facebooks-2016-growth.html
http://boghop.s3-website-us-east-1.amazonaws.com/2016/11/03/facebooks-2016-growth.html
If I only do this:
s3cmd put 2016/11/03/facebooks-2016-growth.html s3://boghop/
then that puts the filename in the s3 bucket root like this without the "subdirectories"
http://boghop.s3-website-us-east-1.amazonaws.com/facebooks-2016-growth.html
this works fine too:
s3cmd put /home/ubuntu/Wren/root/2016/11/03/facebooks-2016-growth.html s3://boghop/2016/11/03/facebooks-2016-growth.html
Perl Installs for S3 Usage
http://stackoverflow.com/questions/13986282/xmlparser-refusing-to-install
- apt-cache search expat
(look for package that states "XML parsing C library - development kit")
- sudo apt-get install libexpat1-dev
that should resolve the missing expat.h file and now the install of this module should work:
- sudo perl -MCPAN -e 'install XML::Parser'
then do:
- sudo perl -MCPAN -e 'install XML::Simple'
- sudo perl -MCPAN -e 'install Amazon::S3'
using module:
http://docs.ceph.com/docs/giant/radosgw/s3/perl/
https://metacpan.org/pod/Amazon%3a%3aS3
Etc.
https://linuxconfig.org/getting-started-with-aws-s3cmd-command-by-examples
http://geek.co.il/2014/05/26/script-day-upload-files-to-amazon-s3-using-bash
http://stackoverflow.com/questions/9016881/s3cmd-list-of-contents-only-filenames-perl-one-liner
CodeDeploy
something to try.
http://docs.aws.amazon.com/codedeploy/latest/userguide/github-integ.html
http://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-push-repo-windows.html
http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-deploy-revision.html
http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-new-deployment.html
http://docs.aws.amazon.com/codedeploy/latest/userguide/github-integ-tutorial.html
http://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html
From JR's : articles
1876 words - 21781 chars
- 10 min read
created on
updated on
- #
source
- versions
- backlinks