スキップしてコンテンツを表示

システムポリシーを使用して Amazon EFS ファイルシステムへのアクセスを制御する方法を教えてください。

所要時間2分
0

ファイルを共有するために、複数 AWS アカウントの Amazon Elastic File System (Amazon EFS) ファイルシステムにアクセスしたいと考えています。ネットワークファイルシステム (NFS) クライアントと EFS アクセスポイントで AWS Identity and Access Management (IAM) 認証を使用したいです。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

複数 VPC を接続する

VPC ピアリング接続を使用して NFS クライアントの仮想プライベートクラウド (VPC) と EFS ファイルシステムを接続します。または、Amazon Virtual Private Cloud (Amazon VPC) Transit Gateway を使用してもかまいません。この接続により、同じアカウントまたは異なるアカウントの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスが、別の VPC 内の EFS ファイルシステムにアクセスできます。

クロスアカウント EFS ファイルシステムにアクセスし、マウントする権限を付与する

クロスアカウント EFS ファイルシステムにアクセスし、マウントするための権限を付与するには、IAM ポリシーに次のステートメントを追加します。

{            "Sid": "EfsPermissions",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:ClientMount",
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientRootAccess"
            ],
            "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id"
        }

注: 上記のステートメント例では、IAM ロールには EFS ファイルシステムへのマウント、書き込み権限および、root アクセスが付与されます。NFS クライアントが EC2 インスタンスの場合は、IAM ロールをインスタンスにアタッチするか、

AWS CLI を使用して IAM ロールを引き受けます。

注: AWS CLI は、別の VPC に配置された EFS ファイルシステムの DNS を解決できません。したがって、クライアントに適したマウントターゲットの IP アドレスを判断してから、クライアントを構成する必要があります。EFS ファイルシステムをマウントするには、NFS クライアントと同じアベイラビリティーゾーン内にあるマウントターゲットの IP アドレスを使用します。アベイラビリティーゾーンの名前マッピングは、アカウントごとに異なる場合があります。EFS ファイルシステムを別のアカウントにマウントする場合、NFS クライアントとマウントターゲットは同じアベイラビリティーゾーン内にある必要があります。

インスタンスのアベイラビリティーゾーンを判断する

次の手順を実行します。

  1. Amazon EC2 コンソールを開きます。
  2. [インスタンス] を選択します。
  3. 目的のインスタンスを選択し、[ネットワーキング] を選択します。
  4. [ネットワーキングの詳細] から目的のアベイラビリティーゾーンを探します。

または、Amazon EC2 に対する十分な読み取り権限を持つ IAM エンティティから、次の AWS CLI コマンド describe-availability-zones を実行します。

aws ec2 describe-availability-zones --zone-name `curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`

出力例:

{
    "AvailabilityZones": [
        {
            "State": "available",
            "ZoneName": "us-east-2b",
            "Messages": [],
            "ZoneId": "use2-az2",
            "RegionName": "us-east-2"
        }
    ]
}

ローカルアベイラビリティーゾーンのマウントターゲット IP アドレスを特定する

次の手順を実行します。

  1. Amazon EFS コンソールを開きます。
  2. [ファイルシステム] を選択します。
  3. 目的のファイルシステムを選択します。
  4. [ネットワーク] に表示されるアベイラビリティーゾーンの IP アドレスを書き留めます。

または、Amazon EC2 に対する十分な読み取り権限を持つ IAM エンティティから、次の describe-mount-targets コマンドを実行します。

aws efs describe-mount-targets --file-system-id fs-cee4feb7

注: fs-cee4feb7 をファイルシステム ID に置き換えてください。

コマンドの出力から、インスタンスのアベイラビリティーゾーンに配置されたマウントターゲットに対応する IP アドレスを書き留めます。出力例:

aws efs describe-mount-targets --file-system-id fs-cee4feb7{
    "MountTargets": [
        {
            "MountTargetId": "fsmt-a9c3a1d0",
            "AvailabilityZoneId": "use2-az2",
            "NetworkInterfaceId": "eni-048c09a306023eeec",
            "AvailabilityZoneName": "us-east-2b",
            "FileSystemId": "fs-cee4feb7",
            "LifeCycleState": "available",
            "SubnetId": "subnet-06eb0da37ee82a64f",
            "OwnerId": "958322738406",
            "IpAddress": "10.0.2.153"
        },
...
        {
            "MountTargetId": "fsmt-b7c3a1ce",
            "AvailabilityZoneId": "use2-az3",
            "NetworkInterfaceId": "eni-0edb579d21ed39261",
            "AvailabilityZoneName": "us-east-2c",
            "FileSystemId": "fs-cee4feb7",
            "LifeCycleState": "available",
            "SubnetId": "subnet-0ee85556822c441af",
            "OwnerId": "958322738406",
            "IpAddress": "10.0.3.107"
        }
    ]
}

EFS ファイルシステムをマウントする

次の手順を実行します。

  1. 次のコマンドを実行して、NFS クライアントの /etc/hosts ファイルに hosts エントリを追加します。
    echo "10.0.2.153 fs-cee4feb7.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts
    注: 10.0.2.153 をマウントターゲットの IP アドレスに、fs-cee4feb7 をファイルシステム ID に、us-east-2 を使用する AWS リージョンに置き換えてください。
  2. マウントヘルパーを使用して EFS ファイルシステムをマウントします。デフォルトでは、マウントヘルパーは DNS を使用してマウントターゲットの IP アドレスを解決します。別のアカウントまたは Amazon VPC からマウントする場合は、Amazon EFS マウントターゲットの IP アドレスを手動で解決する必要があります。

ファイルシステムのマウント中に問題が発生した場合は、「マウントに関する問題のトラブルシューティング」を参照してください。

関連情報

Creating file system policies

AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ