1.NATゲートウェイを2つ設ける理由を知りたいです。どちらかのAZで障害が起こったときの予防なのでしょうか?
これはその認識で合っているかと思います。一つのAZにしか作っておかないと単一障害点になります。
ただ、NAT Gatewayは決して安くないので、可用性とコストのバランスを見ることはなくもないとは思います。
使う場合は一つのAZのみということは殆どないと思いますが…。
ちょうどそのへんについて議論されたStackOverflowのスレがあります。
Can a single NAT Gateway span across multiple AZ?
2.EC2に関して、複数台設けた際に各EC2にSSHログインして必要なライブラリ等をインストールすると思うのですが、これらをまとめてやる方法はあったりするのでしょうか?
それについては様々な方法があります。いくつか列挙すると…
-
ゴールデンイメージとして最初に必要なライブラリをインストールしたAMIを作り、それを元に構築する
Ansible+Packerがよくある方法ですが、最近はImageBuilderを使う方法もあります。
-
Ansibleを使って複数のホストに対して同じオペレーションを実行する
Ansibleはリモート実行が可能なため、構築後でもまとめて処理することが可能です
-
シェルスクリプト等を使って頑張ってコマンドをリモート実行するなどして複数のホストに対して同じオペレーションを実行する
できるにはできますが、Ansibleを使ったほうが楽です。
-
Systems Managerを使う
Run Commandでシェルコマンドをサーバ上で実行させることができたり、AnsibleのPlaybookを実行させたりすることができます。パッチを当てる機能があったりもします。
詳しくは説明しませんが、Systems Managerというサービス自体にも他に様々な便利な機能があります。
-
userdataを利用して、インスタンス立ち上げ時にコマンド実行させる
起動時に Linux インスタンスでコマンドを実行する
いわゆる「ブートストラップ」です
など…
参考
代表的なツールとしてAnsibleを挙げましたが、他にも同じようなツールはありますし、ここに挙げた方法だけが全てではありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/24 14:26 編集
2021/06/24 15:22
2021/06/29 10:08 編集
2021/06/29 10:18