# Amazon Web Services

# AWS Provider HandBook

##### <span style="color: rgb(53, 152, 219);">Установка AWS CLI</span> 

- [<span style="color: rgb(22, 145, 121);">**AWS Install**</span>](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
- [**Credentials** Setup](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html#getting-started-quickstart-new-file)
- [**CLI Commands**](https://docs.aws.amazon.com/cli/latest/reference/#available-services)

##### <span style="color: rgb(53, 152, 219);">AWS Provider Guide</span>

- [**S3 Buckets** Commands](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-buckets-creating)
- [**<span class="">FUSE </span>**<span class="">Install</span>](https://yandex.cloud/ru/docs/storage/tools/#fuse)

# Change DNS [AWS CLI]

##### <span style="color: rgb(53, 152, 219);">Получение данных DNS записей </span>

**Получаем список всех DNS зон**

```ruby
aws route53 list-hosted-zones-by-name
```

**Получаем список всех DNS записей**

```ruby
aws route53 list-resource-record-sets \
  --hosted-zone-id ZCOKAAJ9UMS0T \
  | jq '.ResourceRecordSets[] | .Name'
```

**Получаем детали нужной DNS записи**

```bash
aws route53 list-resource-record-sets \
  --hosted-zone-id ZCOKAAJ9UMS0T \
  | jq '.ResourceRecordSets[] | select (.Name == "xeonmp22.devops.rebrain.srwx.net.")'
```

```json
{
  "Name": "xeonmp22.devops.rebrain.srwx.net.",
  "Type": "A",
  "TTL": 200,
  "ResourceRecords": [
    {
      "Value": "95.217.219.153"
    }
  ]
}
```

##### <span style="color: rgb(53, 152, 219);">Удаление DNS записи</span>

**Создаём JSON файл, используемый для удаления DNS записи**

```json
sudo tee delete.json << 'EOF'
{
  "Comment": "delete this record",
  "Changes": [
    {
      "Action": "DELETE",
      "ResourceRecordSet": {
        "Name": "xeonmp22.devops.rebrain.srwx.net.",
        "Type": "A",
        "TTL": 200,
        "ResourceRecords": [
          {
            "Value": "95.217.219.153"
          }
        ]
      }
    }
  ]
}
EOF
```

<p class="callout warning">В файлах все значения записей должны строго совпадать ("TTL": 200) и т.п.</p>

**Применение удаления DNS записи**

```ruby
aws --region us-east-2 route53 change-resource-record-sets \
  --hosted-zone-id ZCOKAAJ9UMS0T \
  --change-batch file://delete.json
```

##### <span style="color: rgb(53, 152, 219);">Изменение DNS записи</span>

**Создаём JSON файл, используемый для изменения DNS записи**

```json
sudo tee update.json << 'EOF'
{
  "Comment": "update this record",
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "xeonmp22.devops.rebrain.srwx.net.",
        "Type": "A",
        "TTL": 400,
        "ResourceRecords": [
          {
            "Value": "158.160.49.98"
          }
        ]
      }
    }
  ]
}
EOF
```

<p class="callout warning">В файлах все значения записей должны строго совпадать ("TTL": 400) и т.п.</p>

**Применение изменения в DNS записи**

```ruby
aws --region us-east-2 route53 change-resource-record-sets \
  --hosted-zone-id ZCOKAAJ9UMS0T \
  --change-batch file://update.json
```