AWS’de CDK ve TypeScript ile Basit Statik Web Sitesi Yayınlama
Merhaba! Bu makalede, AWS Cloud Development Kit (CDK) ve TypeScript kullanarak basit bir statik web sitesini nasıl kolayca Amazon S3 ve Amazon CloudFront kullanarak yayınlayacağınızı adım adım anlatacağım. Bu yöntem, geleneksel yöntemlere göre daha otomatik ve yönetilebilir bir süreç sunar. Öncelikle, gerekli olan AWS hesap bilgilerinizin ve Node.js ile npm’nin kurulu olduğundan emin olmalısınız. Başlayalım!
Gerekli Hazırlıklar
Öncelikle, bir AWS hesabınız olmalı ve AWS CLI’nızı yapılandırmış olmalısınız. Ayrıca, Node.js ve npm’nin sisteminizde kurulu olduğundan emin olun. CDK’yı global olarak kurmak için aşağıdaki komutu kullanabilirsiniz:
npm install -g aws-cdk
Sonrasında, yeni bir proje oluşturalım. Proje dizinine geçtikten sonra aşağıdaki komutu çalıştırın:
cdk init app --language typescript
Projenin Yapılandırılması
Oluşturulan proje içinde, lib/ dizininde bulunan stack.ts dosyasını açın. Bu dosya, AWS kaynaklarınızı tanımlayacağınız yerdir. Aşağıdaki kod, bir S3 bucket’ı ve bir CloudFront dağıtımını tanımlar. Bu kod, statik web sitenizi barındıracak ve hızlı bir şekilde sunacaktır.
import * as cdk from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
import * as origins from 'aws-cdk-lib/aws-cloudfront-origins';
import { Construct } from 'constructs';
export class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const bucket = new s3.Bucket(this, 'MyWebsiteBucket', {
websiteIndexDocument: 'index.html',
publicReadAccess: true,
});
new cloudfront.Distribution(this, 'MyWebsiteDistribution', {
defaultBehavior: {
origin: new origins.S3Origin(bucket),
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
},
});
}
}
Bu kodda, s3.Bucket ile bir S3 bucket’ı oluşturuyoruz. websiteIndexDocument özelliği, ana sayfanın adını belirler. publicReadAccess ise, herkesin erişebilmesini sağlar. Ardından, cloudfront.Distribution ile bir CloudFront dağıtımı oluşturarak S3 bucket’ını CDN olarak kullanıyoruz. Bu, içeriğin daha hızlı bir şekilde sunulmasını sağlar.
Kodun Yayınlanması
Kodunuz hazır olduktan sonra, aşağıdaki komut ile AWS’ye yayınlayabilirsiniz:
cdk deploy
Bu komut, CDK tarafından tanımlanan kaynakları AWS hesabınıza dağıtır. Dağıtım tamamlandıktan sonra, CloudFront dağıtımının URL’sini alabilirsiniz. Bu URL, statik web sitenizin erişim adresidir. Bu adres, hızlı ve güvenli bir şekilde web sitenize erişmenizi sağlayacaktır.
Sonuç
Bu makalede, CDK ve TypeScript kullanarak basit bir statik web sitesini AWS’ye nasıl yayınlayacağınızı gösterdim. Bu yöntem, kod tabanlı altyapı yönetimi sağladığı için daha otomatik ve ölçeklenebilir bir çözüm sunar. Daha karmaşık projeler için bu temel yapı üzerine ek özellikler ekleyebilirsiniz. Umarım bu makale faydalı olmuştur! Daha fazla AWS ve CDK eğitimi için fatihsoysal.com adresini ziyaret edebilirsiniz.
Faydalı Kaynaklar:
#Etiketler: AWS, CDK, TypeScript, Statik Web Sitesi, Yayınlama, S3, CloudFront, Hosting, Bulut Bilişim, Fatih Soysal, Amazon Web Services, Web Geliştirme
