teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

206閲覧

AWS IaCジェネレータでの環境構築をしたい

meex

総合スコア83

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2024/05/14 07:35

0

0

実現したいこと

IaC コードでまっさらな環境に、各種リソースを構築をしたい。

テスト環境に生成した各種リソースがあります。
その環境のリソース(EC2やゲートウェイなど)に対して、IaCジェネレータで出力したテンプレートファイルがあります。
これを使い、まっさらな環境で環境構築をしたいです。

発生している問題・分からないこと

当方、IaC の知見に乏しい初心者です。

https://kakakakakku.hatenablog.com/entry/2024/04/09/200212
このサイトを見ながら、AWSが提供している「ワークショップ」を進めました。

→これにより出力されたファイル「json」と「yaml」があります。

その後、IAMユーザーを切り替え、その環境で「IaC ジェネレータ」→「スタックへインポート」をしました。

すると、
⚫︎対象のインスタンスIDがありません。
⚫︎セキュリティグループIDが空です。
というエラーメッセージが出て、インポートできませんでした。

【質問】
https://dev.classmethod.jp/articles/i-tried-importing-existing-resources-cloudformation-japanese/
このサイトに「リソースをインポートするには、既存のリソースが必要」とありました。
ということは、IaCを使った環境構築においては、まっさらな状態から環境構築することはできない(そもそも、IaCはそういう使い方を想定したものではない)のでしょうか?

②もし①のような解釈ではなく、コードを使うことで本当にまっさらな環境に0からリソースを構築することが可能でしたら、どのようにすればいいのでしょうか?
→少なくとも、AWS公式が指南しているワークショップでは、そのようなことを実現するやり方は書かれておりませんでした。

→参考になるサイトなどをご教授いただけますと幸いです。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

上記の通り、「元となるリソースがないので、作れない」旨のエラーになります。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

IaCを使った環境構築においては、まっさらな状態から環境構築することはできない(そもそも、IaCはそういう使い方を想定したものではない)のでしょうか?

そんなことはありません。コードがあればそれだけで構築できます。
参照しているのは、既に手で構築してしまったリソースをコードの管理下に置くための方法です。

IaCジェネレーターは既に存在するAWS上のリソースからCloudFormationのコードを生成するためのサービスなので、当然作成済みのリソースが必要ですが、CloudFormationスタックの実行自体は既存のリソースは必要ありません。

リソースをインポートするには、既存のリソースが必要

同じことを言ってるだけになりますが、やろうとしている操作は既存リソースのインポートなので、当然既存のリソースが必要です。
IaC generator WorkshopはIaC generatorの使い方を学習するためのワークショップであってCloudFormationの使い方を学習するためのワークショップではないので、それはCloudFormationの使い方そのものを学習してください。
このワークショップでやっているのは既存リソースをIaC generatorでCloudFormationスタックにするところまでで、そのテンプレートを使って別環境にリソースを作成するところまではやっていないかと思います。

投稿2024/05/14 07:59

yu_1985

総合スコア7640

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meex

2024/05/15 03:30

ありがとうございます。 そもそもcloudformationには 「①既存リソースをベースとして環境構築をする機能(=Iac)と、②別環境に構築する機能」の2つがあるのですね。私はてっきり「Iac=②」だと勘違いしていました。 ②に絞り探したところ https://business.ntt-east.co.jp/content/cloudsolution/column-try-44.html https://www.aws-room.com/entry/cloudformation-build-infrastructure#google_vignette というサイトを見つけたのでこの記述法を見てみます。
yu_1985

2024/05/15 05:07

IaCが②というのは正しいと思います IaCジェネレーターは既存リソースからそのためのコードを生成するためのサービスというだけの話かと。 なので、タイトルの「AWS IaCジェネレータでの環境構築をしたい」に対して答えるなら「それはIaCジェネレーターの機能ではない」になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問