- AWS
AWS Control Towerとは?マルチアカウント管理を自動化する仕組み
この記事では「AWS Control Towerとは?マルチアカウント管理を自動化する仕組み」をご紹介します
|
|
Index
前回のブログ「AWS Control Towerとは?マルチアカウント管理を自動化する仕組み」では、AWS Control Tower を使ったマルチアカウント環境の管理についてお伝えしました。
今回は、ランディングゾーンのバージョン4.0 展開時にオプションで有効化できる AWS Backup 統合管理 を徹底解説します。
自動作成されるリソースの仕組みや、 Vault ポリシーによるデータ保護に加え、「万が一の際、中央アカウントからどうやってデータを戻すのか」という具体的なリストア手順までお伝えします。
これからマルチアカウントのバックアップ運用を始める方はもちろん、導入後のリカバリプランに不安を感じている方にも最適な内容です。
AWSの利用規模が拡大し、マルチアカウント運用(Landing Zone)が必要になると、バックアップ運用において以下のような課題が浮上します。
2024年末のAWS Control Towerのアップデートにより、これらを AWS Control Tower の標準機能として一元管理できるようになりました。
AWS Control Tower の設定画面からAWS Backup 統合管理機能を有効化すると、Security OU 内に以下の2つの共有アカウントが自動で追加(または指定)され、役割が明確に分離されます。

全体構成:2つの「バックアップ専用アカウント」
Backup administrator では、組織全体の運用監視と監査レポート生成を担当します。主に以下の機能を利用することができます。
Central backupでは、全組織のバックアップデータを集約して保管(二次保管)することができます。主に以下の役割を担っています。
AWS Backup 統合管理機能を有効化すると、あらかじめ定義されたバックアッププランが自動生成されます。利用者は、バックアップしたいリソース(Amazon EC2やAmazon RDSなど)に、以下の特定のタグを付与するだけで、自動的にバックアップを取得できます。
| キー:値 | バックアップ取得頻度 | ローカルバックアップボールト保持期間(※1) | 中央バックアップボールト保持期間(※2) |
|---|---|---|---|
| aws-control-tower-backuphourly:true | 1時間ごと | 2週間 | なし |
| aws-control-tower-backupdaily:true | 毎日 | 2週間 | 1ヶ月 |
| aws-control-tower-backupweekly:true | 毎週 | 1ヶ月 | 3ヶ月 |
| aws-control-tower-backupmonthly:true | 毎月 | 3ヶ月 | 3ヶ月 |
※1 各メンバーアカウント内に作成されるバックアップボールト(バックアップデータ保管庫)でのデータ保持期間のこと
※2 中央バックアップアカウント(Central backup)内に作成されるバックアップボールトでのデータ保持期間のこと
「バックアップが正しく取れているか」の証跡管理も自動化されます。
バックアップ管理者アカウント内に Backup Audit Manager のレポートプランが自動作成され、組織全体の実行履歴が S3 バケットへ定期的に出力されます。

■ 用意される S3 バケットの種類
セキュリティと監査の妥当性を担保するため、2種類のバケットが用意されます。
■ レポート用バケット内のフォルダ構成
レポート用バケットの中には、ジョブの種類に応じて3種類のフォルダが作成されます。

※Backup Audit Manager のレポートは、仕様としてAWS Backup によるコピー/バックアップ/リストアが実際に動作しなかった場合にも、それぞれ 24 時間ごとに自動的に S3 バケットに保存されます。
■ レポート用バケット/アクセスログ用のライフサイクルルール
「RetentionRule」というライフサイクルルールが適用され、アップロードされたオブジェクトが365日経過した後、削除されます。
また、標準でライフサイクルルール(保存期間)が設定されています。レポート自体は365日、アクセスログは3650日と、一般的なコンプライアンス要件を満たすための設定が最初から組み込まれています。
組織全体のバックアップが集約される本ボールトには、以下のポリシーが適用されています。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCopyFromOrganization",
"Effect": "Allow",
"Principal": "*",
"Action": "backup:CopyIntoBackupVault",
"Resource": "*",
"Condition": { "StringEquals": { "aws:PrincipalOrgID": "<組織 ID>" } }
},
{
"Sid": "DenyDeleteRecoveryPoint",
"Effect": "Deny",
"Principal": "*",
"Action": "backup:DeleteRecoveryPoint",
"Resource": "*"
},
{
"Sid": "DenyBackupVaultPolicyUpdates",
"Effect": "Deny",
"Principal": "*",
"Action": ["backup:UpdateRecoveryPointLifecycle", "backup:PutBackupVaultAccessPolicy"],
"Resource": "*",
"Condition": {
"ArnNotLike": {
"aws:PrincipalARN": [
"arn:*:iam::<Central backup アカウントID>:role/AWSControlTowerExecution",
"arn:*:iam::<Central backup アカウントID>:role/aws-service-role/controltower.amazonaws.com/AWSServiceRoleForAWSControlTower"
]
}
}
}
]
}
中央バックアップボールトと同様に、本ボールトでも管理者を含めたデータの削除/ポリシーの書き換えが禁止されています。また、以下の2点の制御も自動設定されています。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCopyFromCentralBackupVaultForRestores",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<Central backup アカウントID>:root"
},
"Action": "backup:CopyIntoBackupVault",
"Resource": "*"
},
{
"Sid": "AllowCopyToCentralBackupVaultForVaulting",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<Central backup アカウントID>:role/aws-service-role/backup.amazonaws.com/AWSServiceRoleForBackup"
},
"Action": "backup:CopyFromBackupVault",
"Resource": "*"
},
{
"Sid": "DenyDeleteRecoveryPoint",
"Effect": "Deny",
"Principal": "*",
"Action": "backup:DeleteRecoveryPoint",
"Resource": "*"
},
{
"Sid": "DenyBackupVaultPolicyUpdates",
"Effect": "Deny",
"Principal": "*",
"Action": [
"backup:UpdateRecoveryPointLifecycle",
"backup:PutBackupVaultAccessPolicy"
],
"Resource": "*",
"Condition": {
"ArnNotLike": {
"aws:PrincipalARN": [
"arn:*:iam::<ローカル アカウントID>:role/AWSControlTowerExecution",
"arn:*:iam::<ローカル アカウントID>:role/aws-service-role/controltower.amazonaws.com/AWSServiceRoleForAWSControlTower"
]
}
}
}
]
}
ここまで、AWS Backup 統合管理を実装することで自動作成されるリソースについて解説しました。ここからは、Control Tower コンソールから数クリックで実装できるAWS Backup 統合管理の設定方法について解説します。
1.ランディングゾーンの設定を更新するために、管理アカウントのAWS Control Tower コンソールのメニューから、「ランディングゾーン設定」>「設定を変更する」をクリックします。

2.「AWS Backupを有効化にする」を選択した上で、「中央バックアップアカウント」「バックアップ管理者アカウント」「バックアップのKMSキー」を指定します。指定が完了した後、「ランディングゾーンの更新」をクリックすることで設定が完了します。
※各アカウント、リソースをその場で作成することも可能ですし、事前に用意しておき、選択することも可能です。
KMSキーにおいては、Control Tower管理対象の全リージョンに複製されたマルチリージョン KMS キーが必要です。

1.続いて、任意のOUに対してAWS Backupを有効化するために、管理アカウントの Control Tower コンソールから、「組織」>「対象のOU」>「Integrations on this OU - オプション」>「編集」の順に選択します。

2.「有効にする」を選択した上で、「確認」を選択します。

上記のステップで設定は完了です。
これにより、各メンバーアカウントには「Amazon EC2やAmazon RDSといったリソースに対して、タグを貼るだけで機能するバックアッププラン」が配布され、同時に「管理者が一元監視できる設定」と「イミュータブルなバックアップボールト」が自動的に整います。
本来であれば、監査レポート用のS3バケット準備や、クロスアカウントコピーのための複雑な権限設定には工数がかかります。しかし、この統合管理ならそれらすべてが自動で行われるため、設定ミスによる「バックアップ漏れ」の心配もありません。
ここまで、AWS Backup 統合管理について自動で設定されるリソースの解説から設定手順まで解説しました。
ただ、バックアップデータは取得するだけでなく、有事の際に復旧(リストア)できるよう手順を確立しておくことが重要です。ここからは、各アカウントに作成されるローカルバックアップボールトのデータが消失したことを想定して、中央バックアップアカウント (Central backup)に二次保管として保持しておいたデータからAmazon EC2をリストアする手順について解説します。
1.中央バックアップアカウント (Central backup)にログインし、「AWS Backup」>「ボールト」>「中央バックアップボールト」>「復旧ポイント」>「対象のバックアップを選択」>「アクション」>「コピー」の順にクリックします。

2.画面が遷移したら、「リージョン」、「別のアカウントのボールトにコピー」にチェック>「外部ボールト ARN」にメンバーアカウントのローカルバックアップボールトのARN を入力>「コピー」をクリックします。

3.実施したコピージョブについては、ジョブメニューから現在のステータス状況などを確認できます。

1.コピージョブが完了になったら、メンバーアカウントにログインし、「AWS Backup」>「ボールト」>「ローカルバックアップボールト」>「復旧ポイント」>「対象のバックアップを選択」>「復元」>の順にクリックします。

2.「バックアップを復元」という画面が表示されます。この画面からリストアすることもできますが、NWの設定など詳細なパラメータを指定することができません。詳細な設定を実施するために「インスタンス起動ウィザード」をクリックします。

3.画面が遷移したら、「名前」「インスタンスタイプ」「キーペア」「VPC」「サブネット」「セキュリティグループ」をそれぞれ指定し、「インスタンスを起動」をクリックします。
※「高度なネットワーク設定」にてIPアドレスの指定や、「ストレージを設定」にてボリュームの追加などより詳細な設定を実施することも可能です。

4.緑色のバナーで「成功」と表示されれば、リストアの完了です。適宜Amazon EC2に接続していただくと、バックアップから正常に復旧されていることを確認いただけます。

本記事では、AWS Control Tower と AWS Backup の統合による一元管理のメリットと、有事を見据えた具体的なリストア方法まで解説しました。
「タグベース」の自動化で設定漏れを防ぎ、「イミュータブル」な保護でデータの不変性を担保する仕組みを導入することで、運用の手間を最小限に抑えつつ、組織全体のデータ保護を実現することができます。
ぜひAWSのバックアップ運用に活用してみてください。
|
|---|
2023年に新卒入社し、現在はAWSのフィールド業務を担当。得意分野であるAWSアカウント管理をはじめ、ネットワークやEC2など、インフラ全般の構築を手掛ける。また、アシストオリジナルのAmazon Redshift研修講師も担当している。 趣味はYouTube鑑賞。最近はワイシャツのアイロンがけにもハマっており、シワのないシャツと同様に、無駄のない綺麗なクラウド環境を構築することに並々ならぬ情熱を注いでいる。...show more
■本記事の内容について
本記事に記載されている製品およびサービス、定義及び条件は、特段の記載のない限り本記事執筆時点のものであり、予告なく変更になる可能性があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java及びMySQLは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
この記事では「AWS Control Towerとは?マルチアカウント管理を自動化する仕組み」をご紹介します
この記事ではAmazon QuickのチャットエージェントでMySQLなどのデータベースを検索・分析する方法を解説します。
この記事では、Amazon Bedrockを使って問い合わせメールを解析・JSON形式に構造化し、S3×Lambda×Google Chat連携で自動通知する「生成AIによる業務効率化・自動化」の実践方法を解説します。