AWS
Terraformで環境を作成する際のアクセス元IPを設定したい場合に、AWSのwebポータルだと「マイIP」でアクセス元グローバルIPを簡単にセットできるけどTerraformなどは機能として提供されてなさそうだっため、事前にアドレスを取得してそれをセットするという…
VPCの作成を行うコードからそのままデフォルトのルートテーブルを使いたい場合は何も問題ないけど、VPCは作成済みで、そのデフォルトのルートテーブルを使いたい場合にプチはまりしたのでその備忘録。 Resourcesで実装する元のコード Data Sourcesの場合 ass…
AWSのEC2のプライベートIPは、使用するサブネットアドレスから自動で割り当てられるが、複数のEC2間で通信したい場合などであらかじめ固定したIPアドレスを使いたいという場合にTerraformでどう設定するかについて。 固定プライベートIPの設定 通常はaws_ins…
6/23: S3へのエンドポイントも必要なことを追記 概要 webポータルから VPCエンドポイントの作成 S3用ゲートウェイエンドポイントの作成 Terraformで構築 参考 6/23追記 概要 インターネットゲートウェイを設定せずにインターネット接続が制限されたサブネッ…
プライベートではGitHub Actions使ったEEの自動ビルドを1年前に試したけど、業務だとCodeCommit環境を使ってたりするので、せっかくなのでAWSのサービスを使ったビルド環境を試してみた。 初めに軽く検索した感じだと、CodeBuildではコンテナで処理がされる…
TerraformでEC2プロビジョニング時に、ユーザーデータ内でパブリックDNS名を参照しようとしたらすんなり実装できなかったのでメモ。 AWSでEC2をプロビジョニングする際にホスト上の初期処理を投入したい場合は、実行したいコマンドをシェルスクリプトとして…
指定のリージョンにおけるアベイラビリティゾーンは何があるか?のように、自分が実装する内容でなくAWS(プロバイダ)の情報を取得したい場合は、データソースを使うことで情報参照ができる。 developer.hashicorp.com アベイラビリティゾーンを参照するため…
Terraformでインフラをプロビジョニングしたあとに上物に対してAnsibleで何か(アプリをインストールしたりデータを投入したり)処理をするようなことが多いので、AnsibleからTerraformを実行するようにして一発で処理できるようにするにはどうするか実装を確…
EventBridge Schedulerを使ったVMの自動on/off設定をCloudFormationを使って設定するには以下のClassmethodさんの記事を見れば一通り実装できます。 dev.classmethod.jp ここではTerraformを使った実装についてのまとめ。 こうしたらうまくいった、という感…
EC2にEIPを設定したくて以下のようなtfファイルを作成 resource "aws_instance" "sample" { : } resource "aws_eip" "sample-eip" { instance = aws_instance.sample.id domain = "vpc" depends_on = [aws_internet_gateway.igw] tags = { Name = "sample-ei…
本エントリは、Ansible Advent Calendar 2023の8日目の記事です。 昨日のAnsibleアドカレ7日目で id:usagi_automate さんがAWXで作成したテキストファイルをZipに固めて手元に持ってきたい - うさラボという記事で「バイナリデータもBase64でテキスト化して…
Ansibleで(CFnなどのモジュールを使って、も含む)クラウドリソースを作成し、後続のタスクで作成したコンピュートインスタンス(EC2)へ接続して処理を行いたい、みたいなケースで、ダイナミックインベントリを使用することでタグなどを使ってEC2情報を動的に…
Ansibleのダイナミックインベントリを使ったEC2アクセスについて、以前試したような試してないような記憶がおぼろげで、メモも無かったので簡単にまとめてみた。 docs.ansible.com 必要パッケージ クラウド上のEC2状態 アクセスキー設定 インベントリファイ…
結論 VPCでEC2インスタンス作成する定義の場合は、security_groupsでなくvpc_security_group_idsでセキュリティグループを指定しましょう。 該当ドキュメントはこちら 実装例は以下。 github.com 事象 お題は以下のコード zaki-hmkc.hatenablog.com コード r…
countを使うことで簡単に同じリソースを複数作成できる。 learn.hashicorp.com countを使った個数指定 countの指定 インデックス値参照 for_eachを使ったリスト指定 リスト定義 for_eachの指定 残課題 つかいわけ 元ネタは以下で作成した定義ファイル。 zaki…
ハードコーディングしていた変数を別ファイルに定義してみる。 元の定義ファイル variableで変数定義 変数のセット terraform.tfvarsで変数セット コマンドライン引数でセット 環境変数でセット 変数参照の優先順位 環境 サンプルコード 記事中のCIDRが172.2…
Terraformがv0.15にアップデートされたので、手元の環境も更新してみた。 以前お試しで作ったv0.12で動いていたソースでプロバイダ設定を新しい書式に更新すれば動作した。 zaki-hmkc.hatenablog.com qiita.com サンプルレベルだとおそらくv0.14 -> v0.15固…
検証なんかでeksctlでバージョン指定してKubernetesクラスタを作成したいときは、--versionを使用する。 $ time eksctl create cluster \ --name eks-1-15 \ --region ap-northeast-1 \ --nodegroup-name eks-ng-1-15 \ --node-type t3.micro \ --nodes 1 \ …
前回はうっかりオプション何もなしでクラスタ作ってしまったので、eksctlで作成できるEKSクラスタ、オプションを指定してノードの設定などいろいろ初期設定してみる。 新規作成時のオプション デプロイ可能なpod数について ノードにsshしてみる ノードグルー…
EKSのCLIツールであるeksctlを使ってEKSクラスタを作った時のメモ。 必要な操作はすべて公式ドキュメントに載っているので、野良記事を参考にせずに公式ドキュメントを見ること。 docs.aws.amazon.com CLIツールをインストール EKSクラスタの作成 認証情報 v…
LinuxへAWSのCLIツール(version 2)を入れる。 ただそれだけ。 以前はpipで入れてた気がするけど、今はzipでバイナリをダウンロードする方式になっている。 docs.aws.amazon.com インストール 初期設定 お試し インストール [zaki@cloud-dev aws]$ curl "http…
クラウドのリソースで似たものをたくさん作る機会があってその時は温かみのある手作業で対応したんだけど、どう考えてもコード化した方が良かったので、Terraformの使い方についてAWSでVPCからEC2作成までお試し入門してみた。 お題 Terraform CLIツールのイ…