コンテンツにスキップ

AWS Resource Access Manager (AWS RAM)

1. サービス概要

AWS Resource Access Manager (AWS RAM)は、複数の AWS アカウント間でリソースを安全に共有するためのサービスである。
AWS Organizations を用いたマルチアカウント構成や、外部アカウントとの共有においても、RAM を使うことで信頼できる方法でリソースをシームレスに共有できる。

主なユースケースとして、

  • VPC サブネットや Transit Gateway の共有
  • License Manager で管理するソフトウェアライセンスの共同利用
  • ロードバランサや Route 53 のホストゾーン
  • さまざまなサービスのリソースを組織全体で効率的に利用するケース

などが挙げられます。

2. 主な特徴と機能

2.1 中央集約的なリソース共有

RAM を利用すると、メインとなるアカウントが VPC やサブネットといったリソースを「リソース共有」として定義し、他のアカウントがそれを使えるようにする仕組みを提供する。

  • 一元管理: リソース共有を一括で設定し、組織全体に波及
  • 重複コストの削減: リソースを使い回すことで、同等機能を再作成する必要性を低減

2.2 AWS Organizations とのシームレス連携

AWS Organizations を用いたマルチアカウント構成では、組織単位(OU)や特定のメンバーアカウントを選択し、その範囲で RAM の共有設定を容易に行える。
これにより、大規模環境でもスケーラブルかつセキュアにリソースを分配できる。

2.3 多種多様なリソースタイプをサポート

AWS RAM は以下を含む複数のリソースを共有可能である:

  • VPC サブネット: 他アカウントの EC2 インスタンスが同一 VPC 内で稼働するよう設定
  • AWS Transit Gateway: マルチアカウントでのネットワークハブを効率的に共有
  • Route 53 Hosted Zone: DNS ゾーンの共同管理
  • License Manager: ソフトウェアライセンスの利用枠を組織横断で割り当て

2.4 アクセスコントロールとポリシー

リソース共有はリソースシェアポリシーによって管理され、共有先のアカウントがどのようにリソースを使用できるかを定義する。
AWS Organizations との連携で、組織全体に自動適用することも可能である。

2.5 外部アカウント共有にも対応

同じ組織外の AWS アカウントともリソースを共有できるため、共同開発やパートナー企業との連携など、組織の垣根を越えた連携が必要な場合にも対応できる。

3. アーキテクチャおよび技術要素

  1. リソース所有者アカウントが「Resource Share」を作成し、対象リソース(例: サブネット)を選択
  2. 共有先として Organizations の OU、全メンバーアカウント、または特定アカウントを指定
  3. 共有先アカウント側では、共有リソースを利用した VPC 設定やインスタンス起動などが可能
  4. 不要になったらリソースシェアを削除、または共有範囲を変更することでアクセスを制御

RAM は IAM ポリシーや Organizations 設定と連携し、共有先を動的に管理できるため、大規模運用でも柔軟なアーキテクチャを構築できる。

4. セキュリティと認証・認可

リソース共有をセキュアに行うため、以下の観点が重要である:

  • IAM ポリシー: RAM の「CreateResourceShare」「AssociateResourceShare」などの操作を許可するユーザーやロールを限定
  • Organizations 連携: 承認されたメンバーアカウントだけがリソースを利用できるように制御
  • アクセススコープの明確化: リソースシェアポリシーで使用可能範囲を明確に定義
  • 監査ログ: AWS CloudTrail を用いてリソース共有の操作履歴を常に記録

5. 料金形態

AWS Resource Access Manager 自体には利用料金はなく、無料で使用可能である。
ただし、共有するリソースそのものの利用料金(VPC や EC2 など)は通常どおり発生する。
例えば、共有先が EC2 インスタンスを立ち上げると、そのインスタンス料金は起動したアカウント側に課金される。

6. よくあるアーキテクチャ・設計パターン

RAM の代表的な活用パターンは以下の通りです:

  • 集中管理されたネットワーク設計: ネットワークを管理する専用アカウントで VPC やサブネットを作成し、他アカウントと共有
  • ライセンス一元管理: License Manager でソフトウェアライセンスを組織横断で共有し、重複購入を回避
  • 組織内・外部との共同開発: 特定リソース(サブネットや Route 53 Hosted Zone)を外部アカウントにも安全に提供
  • 一時的な開発環境共有: 開発プロジェクトごとに必要なリソースだけを限定的に共有し、プロジェクト終了時に解除

7. 設定・デプロイ手順(ハンズオン例)

  1. AWS コンソールで「AWS Resource Access Manager」を検索し、「Create resource share」をクリック
  2. 共有したいリソースタイプ(例: VPC サブネット)を選び、対象となるリソースを追加
  3. 「Add principals」画面で共有先として Organizations の OU やメンバーアカウント、外部アカウント ID を指定
  4. 必要に応じて「Allow external accounts」オプションを有効化し、外部とのリソース共有を許可
  5. 設定完了後、共有先アカウントで RAM の「Shared with me」タブを確認し、共有リソースを利用できるか確認

8. 試験で問われやすいポイント

8.1 共有可能なリソースタイプ

  • VPC 関連: サブネット、Transit Gateway
  • Route 53: Hosted Zone の共有
  • AWS License Manager: ソフトウェアライセンス
  • その他: コードベースでアップデートされる場合があるので最新ドキュメントを参照

8.2 Organizations との連携

  • 条件: RAM を管理するアカウントが Organizations 管理アカウントか、またはリソースシェアを許可されたメンバーアカウント
  • OU 単位共有: OU を指定するだけで配下のすべてのアカウントに共有可能
  • メリット: 大規模運用でも管理の手間を抑えられる

8.3 アクセス許可ポリシーと IAM

  • IAM ポリシー: 「ram:CreateResourceShare」「ram:AssociateResourceShare」など、操作権限を限定
  • リソースシェアポリシー: 共有先アカウントがどのようにリソースを操作できるかの範囲を定義
  • 最小権限の原則: 余計なリソース共有を許可しないよう注意

8.4 外部アカウント共有

  • アカウント ID 指定: 組織外アカウントの場合、アカウント ID を明示的に指定
  • セキュリティ要件: 共有先が正しいアカウント ID であることを厳密に確認
  • 通信確認: 組織外アカウントでリソースを利用できるかどうかテスト

8.5 運用上の注意点

  • リソース変更: 所有者アカウントでのリソース削除や設定変更は共有先にも影響
  • 共有解除: プロジェクト終了などで共有不要となったら迅速に解除
  • トラブルシューティング: CloudTrail ログで操作履歴やエラーを確認

8.6 試験で頻出となる具体的な問われ方と答え

Q: AWS Resource Access Manager (RAM)の主な目的は? A: 複数アカウント間で VPC サブネットや Route 53 などのリソースを安全に共有する。 Q: リソースを共有する際に必要な設定要素は? A: Resource Share の作成、共有するリソースの選択、共有先(アカウントや OU)の指定。 Q: マルチアカウントにおける利点は? A: 重複リソースを作成せずに済み、コスト削減と運用効率の向上が期待できる。 Q: Organizations の OU と連携するメリットは? A: OU 配下のすべてのアカウントに対して一括でリソースを共有・管理できる。 Q: RAM 自体の料金は? A: 無料。ただし共有されるリソースの利用料金は通常どおり発生。