概要
永久会員入会特典の紹介ページです。
特典の概要について説明します。
CloudTechの永久会員入会時にに下記クーポンを使用することで、
割引と記載の特典を受け取ることができます。
クーポン:kyoukara2306
CloudTechリンク
受け取り方法はCloudTech入会後に案内されるSlackにて、
クーポンを使用したことがわかるスクショを添付の上、ご連絡ください。
Slack名は「まー(kyoukara_infra)」という名前です。Xのアイコンと同じです。
X:https://x.com/kyoukara_infra
下記特典の詳細になります。
全部で6点あります。
1.学習相談権(先着5名)
2.AWSサービスパラメータシート
3.AWS基本構成パラメータシート(ハンズオン形式)
4.Terraformコード1 (モノリス)
5.Terraformコード2(Module)
6.Terraformコード3(改良importブロック)
1.学習相談権(先着5名)
CloudTechのSlackコミュニティのDMにて、
勉強方法や資格取得の順番など相談に乗ります。
実務的な内容や転職相談も自分のわかる範囲であれば答えます。
会話してモチベーション上げたいとかでも全然OKです!
※できるだけ丁寧に対応したいので、先着5名とさせてください。
→2025年に入会された方は現状受付可能です。
2.AWSサービスパラメータシート
対象のサービスは、CFn、IAM、VPC、ELB、EC2、RDS、ElastiCache、ECS、ECR、EFS、Route53、ACM、Secrets Manager、Parameter Store、S3、CloudFront、VPN、Transit Gatewayです。
自己学習が進めば、対象リソースも増やすかもしれません。
あくまでフォーマットなので、パラメータは記載しません。
2023年12月時点のマネジメントコンソールの表示順に基づいて作成しています。
自己学習に最適化しており、使用頻度が低いと判断したリソース・項目は、削除しています。
ハンズオン学習で使用した構成をまとめておくのにも便利です。
構成を体系的に理解する上でも役立つと思います。
また、パラメータシートは英語で作成しております。
AWSのGUI操作は英語環境に慣れることを推奨します。
その理由は、下記の動画を参照してください。
3.AWS基本構成パラメータシート(ハンズオン形式)
サンプルとして、インフラ基本構成記載のパラメータシートもお渡しします。
目的は特典②のパラメータシートの使い方を身につけるためのものです。
ALB、EC2、RDSの構成で構成図をつけています。
全リソース作成&削除スクリーンショット付きです。
発生費用についても参考情報として記載しております。
ハンズオンとして一度マネジメントコンソールで構築していただけたらと思います。
以下、疎通確認をそれぞれ実施していただくことで、
正しく作成されていることを確認可能です。
スクリーンショット付きの手順解説があります。
①EC2 InstanceにSSMセッションマネージャでログイン成功を確認
②ALBのDNS nameをアドレスバーにコピペして、Test Pageが表示されることを確認
③EC2Instanceにログインし、設定パスワードとコマンドを入力してDBへログイン成功を確認
4.Terraformコード1 (モノリス)
ルートに全てtfファイルを置くモノリス構造です。
applyすれば構築完了です。
Terraformの基礎知識や事前準備は、
CloudTech内の講座を取り組めば、問題ないはずです。
下記2点の意図で作成しています。
・Terraform初心者に手っ取り早く良さを知ってもらう
・サクッと検証したいときにVPC周りだけでもIaC活用して時短してもらいたい
2種類のコードを用意しています。
①VPC周り
VPC、Subnet、Route Table、Internet Gateway、VPC Endpoint)を作成します。
サクッと検証したい時にVPC周りのテンプレとしてご使用ください。
下記、variable.tfのパラメータを true に変更することで、
Nat Gateway とProtected Subnetを合わせて作成可能できるように指定います。
(関連するRoute Table、Elasitic IPを含む)
Nat Gatewayは個人学習には高額(0.062USD/Hour)なので、
サクッと作成・削除できる仕組みがあると便利だと思います。
# Nat Gatewayの有無を設定
variable "create_nat_gateway" {
type = bool
default = false
}
②基本構成(ALB、ECS、RDS)
「3.AWS基本構成パラメータシート」のEC2をECSで置き換えて構成しています。
デプロイ方法は、ブルーグリーンデプロイメントを採用しています。
コンソールで作成したことがある方はわかると思いますが、
ECSは1から作成すると時間がかかります。
なお、CloudTech内の講座に取り組めば、
各種リソースや構成の理解、コンソール上での構築は十分取得できると思います。
特にブルーグリーンデプロイの場合は多くのリソースが関連します。
ECSクラスター、ECSサービス、ECSタスク定義の他、
ALB、ALBリスナー、ALBリスナールール、ターゲットグループの調整も必要です。
なお、デプロイ制御のためCode Deployの構築も含めております。
コンソールで構築時と比較することで、
コード化のメリットを感じてもらえたらと思います。
5.Terraformコード2(Module)
前提としてModuleの使い方、ディレクトリ構成については様々な意見があり、
現場によってより良いものを選択していくべきだと考えています。
1つの例として実務経験を踏まえてコード化しました。
Moduleを使った構築とはどんなものなのか、
何が嬉しいのかを感覚で掴んでほしいという意図で作成しました。
比較のため、4.Terraformコード1 (モノリス)②基本構成(ALB、ECS、RDS)と同様の構成としています。
構築手順解説付きです。初心者でも問題ありません。
6.Terraformコード3(改良importブロック)
リソースごとのimportブロックのリストを配布します。
主要なリソースで30種類ほど用意しています。(今後増えるかもしれません)
リソースによってインポート時に指定する値が異なります。
各リソースの公式ドキュメントを参照して確認しにいく必要があります。
ただし、IDだったり名前だったりとリソースごとに癖があります。
そこで効率の良い方法を考案しました。
ID指定の場合は、dataブロックで情報を拾って、importブロックでdataブロックを参照する方法です。
Nameタグなどで指定することで、どのリソースか瞬時にわかるためミスも減らせます。
EC2インスタンスの例を見てみましょう。
Terraform公式
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance
import {
to = aws_instance.web
id = "i-12345678"
}
上記、改良後のコードは下記の通りです。
data "aws_instance" "this" {
filter {
name = "tag:Name"
values = ["sample-dev-instance"]
}
}
import {
to = data.aws_instance.this
id = data.aws_instance.this.id
}
importブロックで参照することにより、
Nameタグで指定することが可能となります。
実務上、id指定のままでは下記3点のデメリットがありました。
特にid指定を間違えたまま進めると影響が大きいです。
・id指定を間違えたの影響
・idを参照する手間
・チェックの手間
リソースによっては参照できないものもありますが、
その場合はCLIで効率的にID参照できるようコメントしています。
手順解説付きです。初心者でも問題ありません。
importブロックは、IaC未経験だった自分が、
現場にTerraformを導入する上で重要な鍵でした。
ぜひ活用していただければと思います。
特典は以上となります。
クーポン:kyoukara2306
CloudTechリンク