# 1 — AWS Sunucu Kurulumu

Bu bölümde Hermes Agent'ın 7/24 çalışacağı EC2 sunucusunu açıyoruz. Buradaki adımların hepsi AWS konsolundan, tarayıcı üzerinden yapılıyor — terminal işleri [2. dosyada](02-terminal-ve-hermes-kurulumu.md).

> Videoda bu bölüm: **05:37 – 07:55** ve bütçe alarmı **16:27**

---

## 1.1 — Bölgeyi seç (Frankfurt)

Konsola girdikten sonra **sağ üstten bölge seçicisine** tıkla ve `Europe` altından **Europe (Frankfurt) `eu-central-1`** bölgesini seç.

Neden Frankfurt: EC2'yu destekliyor ve Türkiye'den en düşük gecikmeli bölge burası.

> **Bunu atlama.** Yanlış bölgedeysen açtığın sunucuyu ve Elastic IP'yi sonradan listede bulamazsın — her bölgenin kaynak listesi ayrıdır.

---

## 1.2 — EC2 instance oluştur

Üstteki arama kutusuna `EC2` yaz, çıkan servise tıkla → **Launch instance**.

| Alan | Değer |
|---|---|
| **Name** | `Hermes-Agent` |
| **Application and OS Images** | Ubuntu |
| **Sürüm** | Ubuntu Server **24.04 LTS** (seçtikten sonra *Confirm*) |
| **Instance type** | **t3.small** |
| **Key pair** | Yeni oluştur → `hermes-key` (aşağıya bak) |

**Neden `t3.micro` değil `t3.small`:** t3.small 2 GB bellek veriyor. Hermes'i rahat çalıştırmak için buna ihtiyacımız var.

---

## 1.3 — Key pair (SSH anahtarı)

Key pair bölümünde **Create new key pair** de:

| Alan                        | Değer        |
| --------------------------- | ------------ |
| **Name**                    | `hermes-key` |
| **Key pair type**           | ED25519      |
| **Private key file format** | **`.pem`**   |

**Create key pair** dediğin anda `hermes-key.pem` dosyası bilgisayarına inecek.

> **Bu dosyayı silme, kaybetme, kimseyle paylaşma.** Sunucuya girmenin tek yolu bu. AWS bunu bir daha vermiyor — kaybedersen sunucuya bir daha SSH ile bağlanamazsın.

---

## 1.4 — Network settings

**Network settings** bölümünde sağdaki **Edit**'e tıkla ve şu satırın böyle olduğundan emin ol:

| Alan | Değer |
|---|---|
| **Type** | SSH |
| **Port** | 22 |
| **Source type** | **My IP** |

`My IP`, sunucuya sadece senin şu anki internet bağlantından girilebilmesini sağlıyor.

> **Not:** Ev/mobil internetinin IP'si zamanla değişirse SSH bağlantın kesilir. Böyle bir durumda EC2 → *Security Groups* → ilgili grup → *Edit inbound rules* → Source type'ı tekrar `My IP` yapıp kaydetmen yeterli.

---

## 1.5 — Depolama

**Configure storage** bölümünde:

| Alan | Değer |
|---|---|
| **Boyut** | **30 GiB** |
| **Tip** | **gp3** |

30 GB, Free Tier kapsamında zaten veriliyor.

---

## 1.6 — Başlat

Başka bir şey değiştirmiyoruz. Sağdaki **Launch instance** butonuna bas.

Oluşturulduktan sonra **Instances** listesine dön ve yenile — durumun **Running** olduğunu göreceksin.

---

## 1.7 — Elastic IP (sabit IP) tanımla

Varsayılan olarak makineyi her yeniden başlattığında **public IP değişir**. Bu da SSH oturumunun ve Hermes Desktop bağlantısının kopmasına yol açar. O yüzden sabit bir IP tanımlıyoruz.

1. Sol menüde **Network & Security** → **Elastic IPs**
2. Sağ üstten **Allocate Elastic IP address**
3. Açılan sayfada tekrar sağ alttan **Allocate**
4. IP geldi. Şimdi bu IP'yi makineye bağlayacağız:
   - Listeden yeni IP'yi seç → **Actions** → **Associate Elastic IP address**
   - **Instance** olarak `Hermes-Agent`'ı seç
   - **Associate**

**Bu IP'yi bir yere not et.** Bundan sonraki bütün adımlarda `<EIP>` yazan yere bunu yazacaksın.

---

## 1.8 — Bütçe alarmı kur (zero spend)

Yeni AWS hesaplarında 6 ay geçerli **200 dolarlık kredi** veriliyor ve bu videoda kurduğumuz hizmetler onun içinde kalıyor. Kredi bittiğinde para harcamaya başlarsın — o yüzden hesap **ilk kuruş harcadığı anda** sana mail atacak bir alarm kuruyoruz.

1. Üstteki arama kutusuna `budget` yaz → **Billing and Cost Management → Budgets**
2. **Create a budget**
3. **Zero spend budget** şablonunu seç (hiç para harcamak istemediğimiz için)
4. **Email recipients** alanına kendi e-posta adresini yaz
5. **Create budget**

> Alternatif: "Aylık 10 doların üzerine çıkmayayım" demek istiyorsan **Zero spend** yerine **Monthly cost budget** seçip limiti kendin girebilirsin.

---

## Kontrol listesi

Bir sonraki dosyaya geçmeden önce elinde şunlar olmalı:

- [ ] Frankfurt bölgesinde **Running** durumda bir `Hermes-Agent` instance'ı
- [ ] İndirilenler klasöründe `hermes-key.pem` dosyası
- [ ] Instance'a **associate** edilmiş bir Elastic IP (`<EIP>`)
- [ ] Security group'ta SSH / port 22 / **My IP** kuralı
- [ ] Kurulmuş bütçe alarmı

Hepsi tamamsa → **[2 — Terminal Kodları ve Hermes Kurulumu](02-terminal-ve-hermes-kurulumu.md)**

---

## Videoyu sildikten sonra: her şeyi kapatmak

Denemeyi bitirdiysen ve ücret ödemek istemiyorsan şu üçünü **sırayla** temizle:

1. **EC2 → Instances** → `Hermes-Agent` → *Instance state* → **Terminate instance**
2. **Elastic IPs** → IP'yi seç → *Actions* → **Release Elastic IP address**
3. **Volumes** → varsa "available" durumda kalan 30 GB diski sil

> Boşta duran (hiçbir makineye bağlı olmayan) Elastic IP **saatlik ücretlendirilir**. Instance'ı silip IP'yi release etmeyi unutursan fatura oradan gelir.
