

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Veeam Backup & Replication を使用してデータを Amazon S3 にバックアップおよびアーカイブする
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication"></a>

*Jeanna James、Anthony Fiore (AWS)、William Quigley (Amazon Web Services)*

## 概要
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-summary"></a>

このパターンは、Veeam Backup & Replicationによって作成されたバックアップを、Veeamのスケールアウトバックアップリポジトリ機能を使用して、サポートされている Amazon Simple Storage Service (Amazon S3) のオブジェクトストレージクラスに送信するプロセスを詳しく説明しています。 

Veeam は、お客様固有のニーズに最適な複数の Amazon S3 ストレージクラスをサポートしています。ストレージのタイプは、バックアップまたはアーカイブデータのデータアクセス、耐障害性、コスト要件に基づいて選択できます。たとえば、30 日以上使用する予定のないデータを Amazon S3 の低頻度アクセス (IA) に保存して、コストを抑えることができます。データを 90 日以上アーカイブする場合は、S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive を Veeam のアーカイブ階層で使用できます。S3 Object Lock を使用して、Amazon S3 内に不変のバックアップを作成することもできます。

このパターンでは、 AWS Storage Gatewayのテープゲートウェイを使用して Veeam Backup & Replication をセットアップする方法については説明していません。このトピックについては、Veeamウェブサイトの「[AWS VTL ゲートウェイを使用した Veeam の Backup とレプリケーション-デプロイガイド](https://www.veeam.com/resources/wp-using-aws-vtl-gateway-deployment-guide.html)」 を参照してください。


| 
| 
| 警告: このシナリオでは、プログラムによるアクセスと長期的な認証情報を持つ AWS Identity and Access Management (IAM) ユーザーが必要です。これはセキュリティリスクをもたらします。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーは削除することをお勧めします。アクセスキーは、必要に応じて更新できます。詳細については、「*IAM ユーザーガイド*」の「[アクセスキーの更新](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)」を参照してください。 | 
| --- |

## 前提条件と制限
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-prereqs"></a>

前提条件
+ Veeam Availability SuiteまたはVeeam Backup Essentialsを含むVeeamBackup &レプリケーションがインストールされています（「[無料トライアル](https://www.veeam.com/backup-replication-virtual-physical-cloud.html)」 に登録できます）
+ Veeam ユニバーサルライセンス （VUL） を含む、エンタープライズまたはエンタープライズプラス機能を備えた Veeam Backup &レプリケーションライセンス
+ Amazon S3 バケットにアクセスできるアクティブな IAM ユーザー
+ アーカイブ階層を利用している場合、Amazon Elastic Compute Cloud (Amazon EC2) および Amazon Virtual Private Cloud (Amazon VPC) へのアクセス権を持つアクティブな IAM ユーザー
+ オンプレミスから へのネットワーク接続 AWS のサービス と、パブリックインターネット接続または AWS Direct Connect パブリック仮想インターフェイス (VIF) を介したトラフィックのバックアップと復元に使用できる帯域幅
+ オブジェクトストレージリポジトリと正しく通信できるように、以下のネットワークポートとエンドポイントが開かれました。
  + Amazon S3 ストレージ — TCP — ポート 443: Amazon S3 ストレージとの通信に使用されます。
  + Amazon S3 ストレージ – クラウドエンドポイント – AWS リージョン および `*.amazonaws.com`の場合 AWS GovCloud (US) Regions、または中国リージョン`*.amazonaws.com.rproxy.govskope.us.cn`の場合: Amazon S3 ストレージとの通信に使用されます。接続エンドポイントの完全なリストについては、 AWS ドキュメントの[Amazon S3 エンドポイント](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region)」を参照してください。
  + Amazon S3 ストレージ — TCP HTTP — ポート 80: 証明書のステータスを確認するために使用されます。証明書検証エンドポイント (証明書失効リスト (CRL) の URL と Online Certificate Status Protocol (OCSP) サーバー) は変更される可能性があることを考慮します。実際のアドレス一覧は、証明書自体に記載されています。
  + Amazon S3 ストレージ – 証明書検証エンドポイント – `*.amazontrust.com`: 証明書のステータスを検証するために使用されます。証明書検証エンドポイント (CRL URL と OCSP サーバー) は変更される可能性があることを考慮します。実際のアドレス一覧は、証明書自体に記載されています。

機能制限
+ Veeamは、Veeamオブジェクトストレージリポジトリとして使用されるS3バケットのS3ライフサイクルポリシーをサポートしていません。これには、Amazon S3 ストレージクラスの移行と S3 ライフサイクルの有効期限ルールを含むポリシーが含まれます。これらのオブジェクトを管理するのは Veeam だけで**なければなりません**。S3 ライフサイクルポリシーを有効にすると、データ損失などの予期しない結果が生じる可能性があります。

**製品バージョン**
+ Veeam Backup & Replication v9.5 Update 4 以降（バックアップのみまたは容量階層）
+ Veeam Backup & Replication v10 以降（バックアップ、または容量階層と S3 Object Lock）
+ Veeam Backup & Replication v11 以降（バックアップまたはキャパシティ層、アーカイブまたはアーカイブ層、S3 Object Lock）
+ Veeam Backup & Replication v12 以降 （パフォーマンス階層、バックアップまたはキャパシティ階層、アーカイブまたはアーカイブ層、S3 Object Lock）
+ S3 Standard
+ S3 Standard – IA
+ S3 1 ゾーン - IA
+ S3 Glacier Flexible Retrieval (v11 以降のみ)
+ S3 Glacier Deep Archive (v11 以降のみ)
+ S3 Glacier Instant Retrieval (v12 以降のみ)

## アーキテクチャ
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-architecture"></a>

**ソーステクノロジースタック**
+ VeeamBackup サーバーまたは Veeam ゲートウェイサーバーから Amazon S3 に接続するオンプレミスの Veeam バックアップ&レプリケーションインストール

**ターゲットテクノロジースタック**
+ Amazon S3
+ Amazon VPC と Amazon EC2 (アーカイブ階層を使用する場合)

**ターゲットアーキテクチャ SOBR **

次の図は、スケールアウトバックアップリポジトリ (SOBR) アーキテクチャを示しています。

![\[Veeam から Amazon S3 S3 にデータをバックアップするための SOBR アーキテクチャ\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/7f3a36f7-31dc-45c8-87b2-c5dd37f7a01e/images/b48fd0cd-b66c-4ef7-b6fa-0ed53354e1a2.png)


Veeam Backup and Replication ソフトウェアは、システム障害、アプリケーションエラー、偶発的な削除などの論理的エラーからデータを保護します。この図では、バックアップは最初にオンプレミスで実行され、セカンダリコピーは直接 Amazon S3 に送信されます。バックアップは、データのポイントインタイムコピーです。

このワークフローは、Amazon S3 へのバックアップの階層化またはコピーに必要な 3 つの主要コンポーネントと、1 つのオプションコンポーネントで構成されています。
+ Veeam Backup & Replication (1) — バックアップインフラストラクチャ、設定、ジョブ、リカバリータスク、およびその他のプロセスの調整、制御、管理を行うバックアップサーバー。
+ Veeam ゲートウェイサーバー（図には示されていません）— Veeam バックアップサーバーがAmazon S3 へのアウトバウンド接続を持たない場合に必要な、オプションのオンプレミスゲートウェイサーバー。
+ スケールアウト・バックアップ・リポジトリ (2) — データの多層ストレージ用の水平スケーリングをサポートするリポジトリ・システム。スケールアウトバックアップリポジトリは、データへの高速アクセスを提供する 1 つ以上のバックアップリポジトリで構成され、長期ストレージ (容量階層) とアーカイブ (アーカイブ層) 用に Amazon S3 オブジェクトストレージリポジトリで拡張できます。Veeamはスケールアウトバックアップリポジトリを使用して、ローカル（パフォーマンス階層）とAmazon S3 オブジェクトストレージ（容量層とアーカイブ層）の間でデータを自動的に階層化します。
**注記**  
Veeam Backup & Replication v12.2 以降、Direct to S3 Glacier 機能は S3 容量階層をオプションにします。SOBR は、パフォーマンス階層と S3 Glacier アーカイブ階層で設定できます。この設定は、キャパシティ階層のローカル (オンプレミス) ストレージに多額の投資を行い、クラウドで長期アーカイブ保持のみを必要とするユーザーに役立ちます。詳細については、「[Veeam Backup & Replication のドキュメント](https://helpcenter.veeam.com/docs/backup/vsphere/archive_tier.html?ver=120)」を参照してください。
+ Amazon S3 (3) – スケーラビリティ、データの可用性、セキュリティ、パフォーマンスを提供する AWS オブジェクトストレージサービス。

**ターゲットアーキテクチャ DTO**

次の図は、ダイレクト・トゥ・オブジェクト （DTO） アーキテクチャを示しています。

![\[Veeam から Amazon S3 にデータをバックアップするための DTO アーキテクチャ\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/7f3a36f7-31dc-45c8-87b2-c5dd37f7a01e/images/9debe53a-d70a-43fa-844c-f93fa22124eb.png)


この図では、バックアップデータは最初にオンプレミスに保存されることなく Amazon S3 に直接送信されます。セカンダリコピーは S3 Glacier に保存できます。

**自動化とスケール**

[VeeamHub GitHub リポジトリ](https://github.com/VeeamHub/veeam-aws-cloudformation/tree/master/veeam-backup-and-replication)で提供されている CloudFormation テンプレートを使用して、IAM リソースと S3 バケットの作成を自動化できます。テンプレートには標準オプションと不変オプションの両方が含まれています。

## ツール
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-tools"></a>

**ツールと AWS のサービス**
+ 「[Veeam Backup & Replication](https://www.veeam.com/vm-backup-recovery-replication-software.html)」 は、仮想ワークロードと物理ワークロードを保護、バックアップ、レプリケーション、復元するための Veeam のソリューションです。
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) は、 AWS リソースのモデル化とセットアップ、迅速かつ一貫したプロビジョニング、ライフサイクル全体の管理に役立ちます。リソースを個別に管理する代わりに、テンプレートを使用してリソースとその依存関係を記述し、それらをスタックとしてまとめて起動して設定できます。複数の と にまたがるスタックを管理 AWS アカウント およびプロビジョニングできます AWS リージョン。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。Amazon EC2 を使用して必要な分だけ仮想サーバーを起動できます。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) は、 へのアクセスを安全に制御するためのウェブサービスです AWS のサービス。IAM を使用すると、ユーザー、アクセスキーなどのセキュリティ認証情報、およびユーザーとアプリケーションがアクセスできる AWS リソースを制御するアクセス許可を一元管理できます。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)は、オブジェクトストレージを提供します。Simple Storage Service (Amazon S3) を使用すると、いつでもウェブ上の任意の場所から任意の量のデータを保存および取得できます。
+ 「[Amazon S3 Glacier (S3 Glacier)](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html)」 は、低コストでデータのアーカイブおよび長期バックアップを行うための、安全性と耐久性に優れたサービスです。
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/) は、定義した仮想ネットワークで AWS リソースを起動 AWS クラウド できる の論理的に隔離されたセクションをプロビジョニングします。仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークによく似ていますが、 AWSのスケーラブルなインフラストラクチャを使用できるというメリットがあります。

**コード**

「[VeeamGitHub リポジトリ](https://github.com/VeeamHub/veeam-aws-cloudformation/tree/master/veeam-backup-and-replication)」 で提供されている CloudFormation テンプレートを使用して、このパターンの IAM リソースと S3 バケットを自動的に作成します。これらのリソースを手動で作成したい場合は、エピック セクションの手順に従ってください。

## ベストプラクティス
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-best-practices"></a>

IAMのベストプラクティスに従い、Veeam Backup & Replication のバックアップを Amazon S3 に書き込むために使用するIAMユーザーなど、長期にわたるIAMユーザーの認証情報を定期的にローテーションすることを強くお勧めします。詳細については、IAM ドキュメントの「[セキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)」を参照してください。

## エピック
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-epics"></a>

### Amazon S3 ストレージをアカウントに設定する
<a name="configure-s3-storage-in-your-account"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| IAM ユーザーを作成します。 | 「[IAM ドキュメントの指示](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)」 に従って IAM ユーザーを作成します。このユーザーは AWS コンソールにアクセスできず、このユーザーのアクセスキーを作成する必要があります。Veeam はこのエンティティを使用して で認証 AWS し、S3 バケットの読み取りと書き込みを行います。ユーザーに必要以上の権限が付与されないように、最小特権（つまり、タスクの実行に必要な権限のみを付与）する必要があります。Veeam IAM ユーザーにアタッチする IAM ポリシーの例については、「[追加情報](#back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-additional)」 セクションを参照してください。注:別の方法として、「[VeeamHub GitHub リポジトリ](https://github.com/VeeamHub/veeam-aws-cloudformation/tree/master/veeam-backup-and-replication)」で提供されている CloudFormation テンプレートを使用して、このパターン用の IAM ユーザーと S3 バケットを作成することもできます。 | AWS 管理者 | 
| S3 バケットを作成する | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html)詳細については、Amazon S3 ドキュメントの「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」 を参照してください。 | AWS 管理者 | 

### Amazon S3 および S3 Glacier Flexible Retrieval (または S3 Glacier Deep Archive) を Veeam Backup & Replication に追加する
<a name="add-s3-and-s3-storage-class-glacier-or-s3-storage-class-deep-archive-to-veeam-backup-amp-replication"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 新規オブジェクトリポジトリウィザードを起動します。 | Veeam でオブジェクトストレージとスケールアウトバックアップリポジトリを設定する前に、容量とアーカイブ階層に使用する Amazon S3 および S3 Glacier ストレージリポジトリを追加する必要があります。次のエピックでは、これらのストレージリポジトリをスケールアウトバックアップリポジトリに接続します。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | AWS 管理者、アプリ所有者 | 
| キャパシティティアに Amazon S3 ストレージを追加します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | AWS 管理者、アプリ所有者 | 
| アーカイブ層に S3 Glacier ストレージを追加します。 | アーカイブ階層を作成する場合は、「[追加情報](#back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-additional)」 セクションに詳述されている IAM 権限を使用してください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | AWS 管理者、アプリ所有者 | 

### スケールアウトバックアップリポジトリの追加
<a name="add-scale-out-backup-repositories"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 新規スケールアウトBackup リポジトリ」ウィザードを起動します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | APP オーナー、AWS システム管理者 | 
| スケールアウト型バックアップリポジトリを追加し、容量とアーカイブ階層を設定します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | APP オーナー、AWS システム管理者 | 

## 関連リソース
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-resources"></a>
+ 「[AWS アカウントでの IAM ユーザーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)」 (IAM ドキュメント)
+ 「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」 (Amazon S3 ドキュメント)
+ 「[Amazon S3 ストレージへのパブリックアクセスのブロック](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)」 (Amazon S3 ドキュメント)
+ 「[S3 Object Lock を使用する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html)」 (Amazon S3 ドキュメント)
+ 「[Veeam 技術ドキュメント](https://www.veeam.com/documentation-guides-datasheets.html)」 
+ 「[S3 オブジェクトストレージに接続するためのセキュア IAM ポリシーを作成する方法](https://www.veeam.com/kb3151)」 (Veeam ドキュメント)

## 追加情報
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-additional"></a>

以下のセクションでは、このパターンの 「[エピック](#back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-epics)」 セクションでIAMユーザーを作成するときに使用できるサンプルIAMポリシーを紹介します。

キャパシティ階層の IAM ポリシー

**注記**  
サンプルポリシーの S3 バケットの名前を `<yourbucketname>` から、Veeam の容量階層のバックアップに使用する S3 バケットの名前に変更します。また、ブログ AWS 記事[Amazon S3 オブジェクトの意図しない暗号化の防止](https://aws.amazon.com/blogs/security/preventing-unintended-encryption-of-amazon-s3-objects/)」で説明されているように、ポリシーは Veeam で使用される特定のリソース (次のポリシーの`Resource`仕様で示される) に制限する必要があります。また、ポリシーの最初の部分はクライアント側の暗号化を無効にすることに注意してください。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictSSECObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<your-bucket-name>/*",
            "Condition": {
                "Null": {
                    "s3:x-amz-server-side-encryption-customer-algorithm": "false"
                }
            }
        },
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:GetObjectVersion",
                "s3:ListBucketVersions",
                "s3:ListBucket",
                "s3:PutObjectLegalHold",
                "s3:GetBucketVersioning",
                "s3:GetObjectLegalHold",
                "s3:GetBucketObjectLockConfiguration",
                "s3:PutObject*",
                "s3:GetObject*",
                "s3:GetEncryptionConfiguration",
                "s3:PutObjectRetention",
                "s3:PutBucketObjectLockConfiguration",
                "s3:DeleteObject*",
                "s3:DeleteObjectVersion",
                "s3:GetBucketLocation"

            ],
            "Resource": [
                "arn:aws:s3:::<yourbucketname>",
                "arn:aws:s3:::<yourbucketname>/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::*"
        }
    ]
}
```

アーカイブ階層の IAM ポリシー

**注記**  
 サンプルポリシーの S3 バケットの名前を `<yourbucketname>` から、Veeam アーカイブ階層のバックアップに使用する S3 バケットの名前に変更します。

既存の VPC、サブネット、およびセキュリティグループを使用するには:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:PutObject",
                "s3:GetObject",
                "s3:RestoreObject",
                "s3:ListBucket",
                "s3:AbortMultipartUpload",
                "s3:GetBucketVersioning",
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation",
                "s3:GetBucketObjectLockConfiguration",
                "s3:PutObjectRetention",
                "s3:GetObjectVersion",
                "s3:PutObjectLegalHold",
                "s3:GetObjectRetention",
                "s3:DeleteObjectVersion",
                "s3:ListBucketVersions"
            ],
            "Resource": [
                "arn:aws:s3:::<bucket-name>",
                "arn:aws:s3:::<bucket-name>/*"
            ]
        }
    ]
}

{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EC2Permissions",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:CreateKeyPair",
                "ec2:DescribeKeyPairs",
                "ec2:RunInstances",
                "ec2:DeleteKeyPair",
                "ec2:DescribeVpcAttribute",
                "ec2:CreateTags",
                "ec2:DescribeSubnets",
                "ec2:TerminateInstances",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeImages",
                "ec2:DescribeVpcs"
            ],
            "Resource": "arn:aws:ec2:<region>:<account-id>:*"
        }
    ]
}
```

新しい VPC、サブネット、およびセキュリティグループを作成するには

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:PutObject",
                "s3:GetObject",
                "s3:RestoreObject",
                "s3:ListBucket",
                "s3:AbortMultipartUpload",
                "s3:GetBucketVersioning",
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation",
                "s3:GetBucketObjectLockConfiguration",
                "s3:PutObjectRetention",
                "s3:GetObjectVersion",
                "s3:PutObjectLegalHold",
                "s3:GetObjectRetention",
                "s3:DeleteObjectVersion",
                "s3:ListBucketVersions"
            ],
            "Resource": [
                "arn:aws:s3:::<bucket-name>",
                "arn:aws:s3:::<bucket-name>/*"
            ]
        }
    ]
}

{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EC2Permissions",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:CreateKeyPair",
                "ec2:DescribeKeyPairs",
                "ec2:RunInstances",
                "ec2:DeleteKeyPair",
                "ec2:DescribeVpcAttribute",
                "ec2:CreateTags",
                "ec2:DescribeSubnets",
                "ec2:TerminateInstances",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeImages",
                "ec2:DescribeVpcs",
                "ec2:CreateVpc",
                "ec2:CreateSubnet",
                "ec2:DescribeAvailabilityZones",
                "ec2:CreateRoute",
                "ec2:CreateInternetGateway",
                "ec2:AttachInternetGateway",
                "ec2:ModifyVpcAttribute",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:DescribeRouteTables",
                "ec2:DescribeInstanceTypes"
            ],
            "Resource": "*"
        }
    ]
}
```