Merhabalar,
Yazımıza dünkü kaldığımız yerden devam ediyoruz. Bugünkü yazımızda private subnette olup, gerçek ip adresleri olmayan sunucuların yani elastic ip tahsis etmediğimiz sunucuların internete çıkması için NAT sunucusu kuracağız.
Birazdan yapacağımız çalışma hakkında aşağıdaki bilgileri bilmenizde fayda var.
İlk olarak EC2 bölümünden Launch Instance bölümüne giriyoruz. AMI bölümü açılıyor.
Buradan Community AMIs kısmını seçiyoruz.
Arama kısmına amzn-ami-vpc-nat yazıp aratıyoruz.
Karşımıza çıkan seçeneklerden en üstte yer alan ve aşağıdaki görselde gördüğünüz AMI’yi seçiyoruz.
Karşımıza çıkan seçeneklerden sadece subnet kısmını Public Subnet’i seçiyoruz.
Disk bilgisi aynı kalabilir.
Alias olarak NAT tanımlıyoruz.
Security Group olarak daha önceki yazımızda tanımladığımız NAT Security Group’u seçiyoruz.
Bize bu sunucu için SSH 22 portunun açık olmadığını ve bu yüzden bağlanamayacağımız ile ilgili bir uyarı veriyor. Bu ayarı birazdan yapacağımız için Continue düğmesine basıp bir sonraki adıma geçiyoruz.
SSD kullanmamızı tavsiye eder nitelikte bir uyarı çıkıyor. Magnetic disk ile devam et seçeneğini seçip Next diyoruz.
Diğer sunucularda olduğu gibi bu sunucu için de bir Key Pair tanımlamızı istiyor. İsterseniz yeni key pair oluşturabilir veya benim gibi daha önce oluşturduğumuz key pair ilee devam et diyebiliriz.
Launch instance deyip işlemimize devam ediyoruz.
Sunucu kurulumu tamamlandıktan sonra Elastic IP kısmından yeni kurduğumuz NAT sunucusu için bir Public IP tahsis ediyoruz.
Instances kısmına girdiğimiz zaman status check’in tamamlandığını ve Public IP adresimizin tahsis edildiğini görüyoruz.
NAT sunucumuzun nat görevini yerine getirebilmesi için bir ayar yapmamız gerekiyor. Sunucumuzun ismi üzerinde sağ tıklayıp Networking kısmından Change Source/Destination Check’i tıklıyoruz.
Varsayılan olarak sunucularda bu özellik aktif halde geliyor. NAT işlemini gerçekleştirmesi için Disable ediyoruz (Enable ve Disable’ın tam türkçe karşılığını bulamadım).
Bu sunucuya bağlı olan Security Group’ta bazı değişiklikler yapmamız gerekiyor. Gelen ve giden kurallara bazı ek kurallar ekleyeceğiz.
Gelen kuralları aşağıdaki gibi değiştiriyoruz. Buradaki kuralların anlamı şu: bu sunucuya gelen 80 ve 443 isteklerini kabul et. Ben şimdilik Anywhere seçtim. Ama güvenlik amacı ile oraya kendi Private Subnet’inizi girebilirsiniz. SSH portu kısmına güvenlik için varsa sabit IP adresiniz onu girin. Mesela 84.105.16.218/32 şeklinde girebilirsiniz.
Giden kurallar kısmına HTTP ve HTTPS’i ekliyoruz. Bu sunucunun internete çıkabilmesi için.
Bu işlemlerden sonra Route Table’larımızda bazı değişiklikler yapacağız. Public Subnetimizdeki makineler internete daha önce tanımladığımız Internet Gateway üzerinden çıkacaklar. Private Subnet içerisindeki makineler NAT üzerinden çıkacaklar. Yani Private Subnet içerisindeki bir makine 0.0.0.0/0 ‘a giderken (Kendi Route Tablosunda yer almayan bütün IP adresleri için) NAT üzerinden geçsinler diyeceğiz.
NAT sunucumuzun dışarıya ping atabilmesi için ICMP’ye giden kurallardan izin veriyoruz.
Test işlemlerimiz için Private Subnette bir sunucuya ihtiyacımız var. Hızlı ve kolay olması için bir adet linux sunucu kuruyorum.
Sunucumuzun kurulumu sonrasında Private Security group’a içeriden SSH ile bağlanılabilmesi için VPC miz için ayırdığımız IP bloğunu giriyorum. Bu sayede sadece kendi VPC’em içerisindeki sunucular SSH isteği gönderebilecekler.
Sunucularımız hazır olduğuna göre artık testimize başlayabiliriz. Sunucularımız linux tabanlı olduğu için bazı basit yazılımlara ihtiyacımız var. Bu yazılımları http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html adresinden indirmemiz gerekiyor. Bizlere SSH bağlantısı yapabilmemiz için PuTTY, pem uzantılı Key Pair dosyamızın PuTTY tarafından anlaşılması için pem dosyasını ppk dosyasına dönüştüren PuTTYgen ve PPK dosyasını kullanabilmek için Pageant programlarına ihtiyacımız var. Bu programları ve pem dosyasını bir klasörde toplayabilirsiniz.
pem dosyamızı ppk’ya dönüştürmek için PuTTYgen programını açıyoruz. File menüsünden Load private key’i seçip pem dosyamızı gösteriyoruz.
Bu işlemden sonra Save Private Key düğmesine basıyoruz ve çıkan uyarıya Yes deyip işlemimizi tamamlıyoruz.
ppk dosyamızı oluşturduktan sonra Pageant programını açıyoruz ve Add Key deyip oluşturduğumuz ppk dosyasını seçiyoruz.
Bu işlemden sonra PuTTY programını açıyoruz. ve Soldaki ağaç menüden Connection\SSH\Auth kısmına geliyoruz ve oradan Allow agent forwarding’i seçiyoruz.
PuTTY ilk defa bağlandığı sistemler için çıkardığı uyarıyı gösteriyor. Bu ekranda Yes deyip işlemimize devam ediyoruz.
Açılan pencerede login-as kısmında ec2-user yazıyoruz ve enter’a basıyoruz.
Ve NAT sunucumuza bağlanıyoruz. Internete çıkabildiğini test etmek için bir adrese ping atıyoruz.
NAT sunucumuzun internete çıkabildiğini test ettikten sonra private subnet içerisinde oluşturduğumuz sunucunun internete çıkışını test etmemiz gerekiyor. Bu işlem için bulunduğumuz terminal içerisinden ssh ile test sunucumuza bağlanmamız gerekiyor. EC2 bölümündeki Instance kısmında yer alan test sunucumuzun özelliklerinde Private IP adresini alıyoruz.
Açık olan NAT sunucusuna bağlı terminalimizden shh ile test sunucusuna bağlanmamız gerekiyor. Bu işlem için ssh ec2-user@10.0.1.208 komutunu giriyoruz.
Başarı ile bağlandıktan sonra test sunucumuz üzerinden yine bir adrese ping atmamız yeterli olacaktır.
Bu işlemlerden sonra NAT Security Group içerisindeki geçici portları silebilirsiniz.
Peki şu soruyu kendimize sormamız gerekiyor. NAT sunucusu ile işimiz bittikten sonra Dışarıdan gelen SSH isteklerini kapatacağız. Bu sefer Private Subnetteki sunucularımıza nasıl ulaşacağız? Her ulaşmak istediğimizde Security Grouplar içerisinden port açıp işimiz bitince tekrar kapatacak mıyız? Belli bir süre sonra bu işlem işkenceye dönüşebilir. Peki nasıl yapacağız? Cevabımız bir sonraki yazımızda.
Görüşmek üzere.
Konunun ana başlığı için: Sharepoint 2013 Yazı Dizisi – 01 – Giriş
Kaynaklar:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html
https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html
Microsoft SharePoint Technet ve MSDN forumları yerini Microsoft Q&A tartışma panolarına yerini bırakıyor. 10 Ağustos…
Biliyorum, başlık çok garip, ilk bakışta anlaşılması zor. Ama şöyle tarif etmeye çalışayım. Bildiğiniz üzere…
Merhaba Arkadaşlar, Bu yazımızda sizlere TypeScript geliştirme ortamının (TypeScript Development Environment) nasıl hazırlanacağından bahsedeceğim. Öncelikle…
Merhabalar, bu yazımızda sizlere bir TypeScript projesinde farklı ts dosyaları içerisindeki function, class veya interface'lerin,…
Merhaba arkadaşlar, Yakın zamanda TypeScript öğrenmeye başladım. Hem öğrendiklerimi pekiştirmek hem de sizlerle paylaşmak adına…
Merhaba Arkadaşlar, Bu yazımızda sizlere mevcut SharePoint portalimizin, tablet, cep telefonu gibi farklı çözünürlükteki cihazlarda…