コードとしてのインフラストラクチャまたはIaCは、コーディングを使用してインフラストラクチャをセットアップする新しいアプローチです。 つまり、VM、ネットワーク、およびネットワークの他のコンポーネントを手動で設定する代わりに、インフラストラクチャを説明するコードを記述し、そのコードを実行して目的の状態を取得します。 Terraformは、IaCアプローチを使用する優れたツールとして登場しました。
他の多くのタスクと同様に、Terraformを使用してAWSS3バケットを作成および管理できます。 バージョニングとは、複数のバージョンを保持することを意味します。または、単にファイルのバリアントと呼ぶこともできます。 AWS S3のバージョン管理を使用して、その中に保存されているオブジェクトのさまざまなバリアントを維持および復元できます。 これには多くの利点があります。 たとえば、誤って削除したアイテムを復元できます。
何をカバーしますか?
このガイドでは、Terraformを使用してS3バケットでバージョニングを有効にする方法を説明します。 このチュートリアルでは、Ubuntu20.04システムに取り組んでいます。 さあ始めましょう。
何が必要ですか?
- テラフォームの基礎
- インターネットへのアクセス
- システムにTerraformがインストールされています。 Terraformバージョンを実行して確認します。
Terraformを使用したAWSS3バケットの作成
Terraformについて少し見てきましたが、ローカルマシンにインストールしていただければ、S3での作業を続けることができます。 前述のように、Terraformはリソースのプロビジョニングに複数の構成ファイルを使用し、これらの各ファイルはそれぞれの作業フォルダー/ディレクトリに存在する必要があります。 この目的のためにディレクトリを作成しましょう。
手順1.すべての構成ファイルを含むフォルダーを作成することから始めて、ターミナルディレクトリを次のように変更します。
$ mkdir linuxhint-terraform && CD linuxhint-terraform
ステップ2.最初の構成ファイルを作成しましょう。 「variables.tf」、 これには、AWSリージョンと使用するインスタンスのタイプに関する情報が含まれます。
次に、その中に次のテキストを入れて、ファイルを保存します。
説明= 「S3バケットを作成するAWSリージョン。」
デフォルト= 「us-east-1」
}
変数「bucket_name」 {{
description=”一意の名前 為に バケツ”
デフォルト=「tecofers-4」
}
「tecofers-4」はバケットの名前であり、ここで独自の名前を使用できます。
ステップ3.を作成します 「main.tf」 インフラストラクチャの定義を含むファイル。
次に、その中に次の構成を配置します。
required_providers {{
aws = {{
ソース= 「hashicorp/aws」
バージョン= “〜> 3.27”
}
}
required_version = “> = 0.14.9”
}
プロバイダー 「aws」 {{
リージョン=var.aws_region
shared_credentials_file = “/home/Your_User_Name/.aws/credentials”
プロファイル= 「profile1」
}
資源 「aws_s3_bucket」 「バケット1」 {{
バケット=var.bucket_name
タグ= {{
名前= 「ExampleS3Bucket」
}
}
資源 “aws_s3_bucket_acl” 「バケット1」 {{
バケット=var.bucket_name
acl = “プライベート”
}
資源 「aws_s3_bucket_versioning」 「bucket_versioning」 {{
バケット=var.bucket_name
versioning_configuration {{
ステータス= 「有効」
}
}
変更 “あなたのユーザーネーム” システムのユーザー名に。 前のファイルで使用されたパラメーターを見てみましょう。
バケツ: 指定すると、新しいバケットが作成されるオプションのパラメーターです。 この引数が存在しない場合、Terraformはバケットにランダムで一意の名前を付けます。 バケットの名前は小文字で、長さが63文字を超えないようにする必要があります。
Shared_credentials_file: これは、AWSユーザーのクレデンシャルを含むファイルのパスです。
プロフィール: S3バケットを作成するためのユーザーのプロファイルを指定します。
リソース 「aws_s3_bucket」 と 「aws_s3_bucket_acl」 バケットとバケットのACLリソース(acl構成)を提供します。 The 「acl」 引数はオプションであり、Amazonが設計した事前定義された付与のセットを提供します。
同様に、リソース 「aws_s3_bucket_versioning」 S3バケットのバージョン管理用のリソースを提供します。 このブロックで定義されているversioning_configurationブロックには、この目的に必要な構成が含まれています。 status引数は必須であり、Enabled、Disabled、およびSuspendedの中から1つの値を含めることができます。
Terraformディレクトリの初期化
プロバイダーをダウンロードしてインストールするには、構成ファイルとその他のファイルで定義しました。 このファイルを含むディレクトリを初期化する必要があります。
インフラストラクチャの構築
構成ファイルを準備したので、次のコマンドを使用して変更を適用できます。
入る “はい” プロンプトが表示されたら、ターミナルで。 Terraformが作業を終了すると、次のメッセージが表示されます。
手順の確認
次に、目的のS3バケットが作成されているかどうかを確認しましょう。 S3コンソールに移動し、使用可能なバケットを確認します。
バケットが正常に作成されたので、ここにファイルをアップロードして新しいフォルダーを作成できます。
作成したリソースが不要な場合は削除してください。 これにより、AWSでの不要な請求からあなたを救うことができます:
結論
このガイドでは、Terraformを使用してS3バケットでバージョニングを有効にする方法について学習しました。 バケットを作成し、それにバージョン管理を適用しました。 Terraformを使用してインフラストラクチャの展開を簡素化するためにできることはたくさんあります。
The post Terraformを使用してS3バケットでバージョニングを有効にする方法 appeared first on Gamingsym Japan.