macOS Big SurなEC2 Mac InstanceからAmazon EFSにアクセスしてみた

EC2 Mac InstancesのmacOS Big Surサポートにあわせて、Amazon EFSクライアントのEC2 Mac (Big Sur)サポートもアナウンスされました。インストールして実際にEC2 MacからEFSにアクセスしてみます。
2021.02.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

清水です。先ほど、Amazon EC2 Mac InstancesでmasOSの最新版であるBig Sur (11.2.1)をサポートしたアップデートをお伝えしました。

このアップデートに合わせて、Amazon EFSクライアントのEC2 Mac Instances (macOS Big Sur)対応もアナウンスされています。(EC2 MacのBig Surサポートと同じく、2021/02/23にポストされたアップデートです。)

本エントリではmacOS Big Surの稼働するEC2 Mac InstanceにAmazon EFSクライアントをインストール、EFSにアクセスしてみたのでまとめてみます。

なお、これまでAmazon EFSクライアント(amazon-efs-utilsパッケージ)はEC2 Mac Instancesをサポートしていなかったそうです。上記アップデート(Big SurなEC2 MacからのFESアクセスサポート)後も引き続きmacOS MojaveやmacOS CatalinaではEFSクライアントはサポートされていないようで、ドキュメントにもその旨記載されています。(英語版ドキュメントはEC2 Mac Big SurのEFSクライアントサポートを反映ずみ、日本語版ドキュメントは未反映の状態でEC2 Mac未サポートという表記になっています。)

Using the amazon-efs-utils Tools - Amazon Elastic File System

EFSファイルシステムのマウント - Amazon Elastic File System

macOS Big SurなEC2 Mac InstanceからAmazon EFSにアクセスしてみた

では実際にmacOS Big Surの稼働しているEC2 Mac InstanceからEFSにアクセスしていきます。EC2 Mac Instanceはこちらのエントリで起動したものを使用します。リージョンはオレゴン(us-west-2)です。

EFSファイルシステムの作成

はじめにAmazon EFSファイルシステムまわりのリソース作成を進めます。本題のEFSファイルシステムの前に、まずはEFSのマウントターゲット用のSecurity GroupをマネジメントコンソールのVPCのページから作成します。

Inbound RulesとしてNFS用のTCP 2049番を許可し、許可対象のSourceとしてEC2 Mac Instanceに関連付けているSecurity GroupのIDを指定します。Outbound Rulesはデフォルトの制限なしのままです。

Security Groupが作成できたら、続いてEFSファイルシステムの作成です。マネジメントコンソールのEFSのページ、Fles systemsの項目から[Create file system]ボタンで進みます。

Create file systemのダイアログで、ファイルシステム名とVPCを選択して[Create]します。

ファイルシステムの作成完了後、該当ファイルシステムの詳細ページにてNetworkタブを選択します。Security Groupが該当VPCのデフォルトのものになっているので、先ほど作成したEFSマウントポイント用Security Groupに変更しておきます。

[Managed]ボタンから進み、Security groupsを変更して[Save]します。

以上でEFSファイルシステムまわりのリソース作成、設定変更は完了です。

macOS Big SurなEC2 Mac InstanceにEFSクライアントのインストール

続いてmacOS Big SurなEC2 Mac InstanceにEFSクライアントをインストールしてきます。

手順は以下を参考に行いました。

EC2 Mac InstancenにSSHで接続して、brew install amazon-efs-utilsコマンドを実行します。

 % ssh -i /path/to/my-key-pair.pem ec2-user@ec2-54-XXX-XXX-239.us-west-2.compute.amazonaws.com
Last login: Sun Feb 28 05:52:34 2021 from XXX.XXX.XXX.XXX

             .:'
         __ :'__       __|  __|_  )
      .'`  `-'  ``.    _|  (     /
     :          .-'   ___|\___|___|
     :         :
      :         `-;   Amazon EC2
       `.__.-.__.'    macOS  11.2.1

ec2-user@ip-10-191-21-57 ~ % brew install amazon-efs-utils

いくつかの関連するパッケージとともに、amazon-efs-utilsがインストールされます。関連パッケージ含めた詳細な実行結果は本エントリ末尾にまとめますが、ここではbrew installの出力から、amazon-efs-utilsに関連するものをピックアップします。

==> amazon-efs-utils
Perform below actions to start using efs:
  sudo mkdir -p /Library/Filesystems/efs.fs/Contents/Resources
  sudo ln -s /usr/local/bin/mount.efs /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

Perform below actions to stop using efs:
  sudo rm /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

To enable watchdog for using TLS mounts:
  sudo cp /usr/local/opt/amazon-efs-utils/libexec/amazon-efs-mount-watchdog.plist /Library/LaunchAgents
  sudo launchctl load /Library/LaunchAgents/amazon-efs-mount-watchdog.plist

To disable watchdog for using TLS mounts:
    sudo launchctl unload /Library/LaunchAgents/amazon-efs-mount-watchdog.plist

こちらの出力にもある通りですが、続いてamazon-efs-utilsのEFSマウントヘルパーをmountコマンドで利用できるよう、以下のようにディレクトリ作成、シンボリックリンク作成を行います。

ec2-user@ip-10-191-21-57 ~ % sudo mkdir -p /Library/Filesystems/efs.fs/Contents/Resources
ec2-user@ip-10-191-21-57 ~ % sudo ln -s /usr/local/bin/mount.efs /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

またEFSファイルシステムのTLSマウントの状態を監視するwatchdogプロセスを有効にするため、以下のファイルコピーならびにlaunchctlコマンドを実行します。

ec2-user@ip-10-191-21-57 ~ % sudo cp /usr/local/opt/amazon-efs-utils/libexec/amazon-efs-mount-watchdog.plist /Library/LaunchAgents
ec2-user@ip-10-191-21-57 ~ % sudo launchctl load /Library/LaunchAgents/amazon-efs-mount-watchdog.plist

Stunnelのアップグレードも確認しておきます。(先ほどのbrew install amazon-efs-utilsの際にStunnelをインストールしていれば最新版になるかと思います。)

ec2-user@ip-10-191-21-57 ~ % brew upgrade stunnel
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
Updated 1 cask.

Warning: stunnel 5.58 already installed

以上でEFSクライアントの準備ができました。

macOS Big SurなEC2 Mac InstanceからEFSファイルシステムにアクセス

それでは、実際にmacOS Big SurなEC2 Mac InstanceでEFSファイルシステムをマウントして、アクセスしてみます。

以下を参考に進めます。

マウントするディレクトリとして、ec2-userのホームディレクトリにefsという名称でディレクトリを作成します。

ec2-user@ip-10-191-21-57 ~ % pwd
/Users/ec2-user
ec2-user@ip-10-191-21-57 ~ % ls -l
total 0
drwxr-xr-x  10 ec2-user  staff   320  2 28 05:47 Desktop
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Documents
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Downloads
drwx------@ 45 ec2-user  staff  1440  2 27 14:01 Library
drwxr-xr-x   3 ec2-user  staff    96  2 27 13:27 Movies
ec2-user@ip-10-191-21-57 ~ % mkdir efs
ec2-user@ip-10-191-21-57 ~ % ls -l
total 0
drwxr-xr-x  10 ec2-user  staff   320  2 28 05:47 Desktop
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Documents
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Downloads
drwx------@ 45 ec2-user  staff  1440  2 27 14:01 Library
drwxr-xr-x   3 ec2-user  staff    96  2 27 13:27 Movies
drwxr-xr-x   2 ec2-user  staff    64  2 28 06:47 efs

EFSをマウント前のdfコマンド結果も確認しておきます。

ec2-user@ip-10-191-21-57 ~ % df -h
Filesystem       Size   Used  Avail Capacity iused     ifree %iused  Mounted on
/dev/disk2s4s1   60Gi   14Gi   35Gi    29%  568975 626528225    0%   /
devfs           188Ki  188Ki    0Bi   100%     650         0  100%   /dev
/dev/disk2s6     60Gi   20Ki   35Gi     1%       0 627097200    0%   /System/Volumes/VM
/dev/disk2s2     60Gi  276Mi   35Gi     1%     725 627096475    0%   /System/Volumes/Preboot
/dev/disk2s5     60Gi  244Ki   35Gi     1%      13 627097187    0%   /System/Volumes/Update
/dev/disk2s1     60Gi  9.3Gi   35Gi    21%  183635 626913565    0%   /System/Volumes/Data
map auto_home     0Bi    0Bi    0Bi   100%       0         0  100%   /System/Volumes/Data/home

mountコマンドを実行してEFSファイルシステムをマウントします。転送中のデータを暗号化するように-o tlsオプションも付与しておきます。

ec2-user@ip-10-191-21-57 ~ % sudo mount -t efs -o tls fs-849XXXXX:/ efs

特にコマンドのレスポンスはありませんが、これでマウントできました。マウント状況などを確認しておきましょう。まずはmountコマンドです。

ec2-user@ip-10-191-21-57 ~ % mount
/dev/disk2s4s1 on / (apfs, sealed, local, read-only, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk2s6 on /System/Volumes/VM (apfs, local, noexec, journaled, noatime, nobrowse)
/dev/disk2s2 on /System/Volumes/Preboot (apfs, local, journaled, nobrowse)
/dev/disk2s5 on /System/Volumes/Update (apfs, local, journaled, nobrowse)
/dev/disk2s1 on /System/Volumes/Data (apfs, local, journaled, nobrowse)
map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse)
127.0.0.1:/ on /Users/ec2-user/efs (nfs)

続いてdfコマンドです、8EiBとしてEFSがマウントされています。

ec2-user@ip-10-191-21-57 ~ % df -h
Filesystem       Size   Used  Avail Capacity iused     ifree %iused  Mounted on
/dev/disk2s4s1   60Gi   14Gi   35Gi    29%  568975 626528225    0%   /
devfs           188Ki  188Ki    0Bi   100%     650         0  100%   /dev
/dev/disk2s6     60Gi   20Ki   35Gi     1%       0 627097200    0%   /System/Volumes/VM
/dev/disk2s2     60Gi  276Mi   35Gi     1%     725 627096475    0%   /System/Volumes/Preboot
/dev/disk2s5     60Gi  244Ki   35Gi     1%      13 627097187    0%   /System/Volumes/Update
/dev/disk2s1     60Gi  9.3Gi   35Gi    21%  183662 626913538    0%   /System/Volumes/Data
map auto_home     0Bi    0Bi    0Bi   100%       0         0  100%   /System/Volumes/Data/home
127.0.0.1:/     8.0Ei  6.0Ki  8.0Ei     1%       0         0  100%   /Users/ec2-user/efs

lsコマンドでマウントしたefsディレクトリの情報も確認しておきます。ディレクトリ作成時の情報と変わっていますね。

ec2-user@ip-10-191-21-57 ~ % ls -l
total 8
drwxr-xr-x  10 ec2-user  staff   320  2 28 05:47 Desktop
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Documents
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Downloads
drwx------@ 45 ec2-user  staff  1440  2 27 14:01 Library
drwxr-xr-x   3 ec2-user  staff    96  2 27 13:27 Movies
drwxr-xr-x   2 root      wheel  6144  2 28 05:37 efs

ec2-userユーザでEFSファイルシステムをマウントしたefsディレクトリに書き込みができるよう、権限を変更します。

ec2-user@ip-10-191-21-57 ~ % sudo chmod go+rw efs
ec2-user@ip-10-191-21-57 ~ % ls -l
total 8
drwxr-xr-x  10 ec2-user  staff   320  2 28 05:47 Desktop
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Documents
drwxr-xr-x   2 ec2-user  staff    64  2 27 13:24 Downloads
drwx------@ 45 ec2-user  staff  1440  2 27 14:01 Library
drwxr-xr-x   3 ec2-user  staff    96  2 27 13:27 Movies
drwxrwxrwx   3 root      wheel  6144  2 28 08:51 efs

動作確認として、sw_versコマンドの結果をefsディレクトリに書き込んでみます。

ec2-user@ip-10-191-21-57 ~ % sw_vers > efs/MacInstances_sw_vers.txt
ec2-user@ip-10-191-21-57 ~ % ls -l efs/
total 1
-rw-r--r--  1 ec2-user  staff  62  2 28 09:10 MacInstances_sw_vers.txt

Remote Desktop接続した画面でも確認しておきましょう。NFSとして接続されていることがわかりますね。

まとめ

Amazon EFSクライアントがmacOS Big Sur (11.2.1)が稼働するAmazon EC2 Mac Instancesをサポートしたことを受け、実際にこの条件のEC2 MacにEFSクライアントをインストール、EFSファイルシステムにアクセスしてみました。EFSクライアント(amazon-efs-utilsパッケージ)のインストールはHomebrewパッケージマネージャを使って簡単に行うことができます。EC2 Mac Instancesと他AWSサービスとの連携ツールが充実していくのはうれしいですね!ただし、EFSクライアントの現状のサポート対象はEC2 Mac InstancesのBig Surのみ、MojaveやCatalinaでは未サポートである点には注意しておきましょう。

おまけ

macOS Big Surが稼働しているEC2 Mac Instanceでbrew install amazon-efs-utilsを実行した際の実行ログを、記録用としてこちらにまとめておきます。

ec2-user@ip-10-191-21-57 ~ % brew install amazon-efs-utils
Updating Homebrew...
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/core, homebrew/cask and aws/aws).
==> New Formulae
aws/aws/amazon-efs-utils   kubergrunt                 rdkit
crispy-doom                name-that-hash             rtl_433
datalad                    open-adventure             saml2aws
ghc@9                      pcalc                      waffle
go@1.15                    projectm                   yubikey-agent
==> Updated Formulae
Updated 1219 formulae.
==> Renamed Formulae
ht-rust -> xh
==> Deleted Formulae
avian                                    geant4
==> New Casks
astah-uml                  font-smoothing-adjuster    opgg
audiogridder-plugin        forticlient-vpn            pika
audiogridder-server        google-drive               redream
bleunlock                  imdone                     textbuddy
bluesnooze                 infinity                   wannianli
cakebrewjs                 kiwi-for-gmail             webull
cinco                      lightform                  xournal-plus-plus
curseforge                 mubu                       zulufx
fawkes                     nault
==> Updated Casks
Updated 470 casks.
==> Deleted Casks
protonmail-unofficial      racket-cs                  yyets

==> Installing amazon-efs-utils from aws/aws
==> Downloading https://homebrew.bintray.com/bottles/mpdecimal-2.5.1.big_sur.bot
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/255b6226cdcfaf0d40167
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/openssl%401.1-1.1.1j.big_su
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/5725361adcd088a5b4fb2
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/tcl-tk-8.6.11_1.big_sur.bot
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/d9ffd39a32e602515594c
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/python%403.9-3.9.2_1.big_su
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/5aaf6c9ba2ddcdf9e240a
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/stunnel-5.58.big_sur.bottle
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/d58e8c12d8876325031db
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/resource/6a2220a
######################################################################## 100.0%
==> Downloading https://aws-homebrew.s3-us-west-2.amazonaws.com/formula/amazon-e
######################################################################## 100.0%
==> Installing dependencies for aws/aws/amazon-efs-utils: mpdecimal, openssl@1.1, tcl-tk, python@3 and stunnel
==> Installing aws/aws/amazon-efs-utils dependency: mpdecimal
==> Pouring mpdecimal-2.5.1.big_sur.bottle.tar.gz
?  /usr/local/Cellar/mpdecimal/2.5.1: 71 files, 2.1MB
==> Installing aws/aws/amazon-efs-utils dependency: openssl@1.1
==> Pouring openssl@1.1-1.1.1j.big_sur.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

==> Summary
?  /usr/local/Cellar/openssl@1.1/1.1.1j: 8,071 files, 18.5MB
==> Installing aws/aws/amazon-efs-utils dependency: tcl-tk
==> Pouring tcl-tk-8.6.11_1.big_sur.bottle.tar.gz
==> Caveats
tcl-tk is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have tcl-tk first in your PATH, run:
  echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrc

For compilers to find tcl-tk you may need to set:
  export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
  export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"

==> Summary
?  /usr/local/Cellar/tcl-tk/8.6.11_1: 3,041 files, 51.6MB
==> Installing aws/aws/amazon-efs-utils dependency: python@3
==> Pouring python@3.9-3.9.2_1.big_sur.bottle.tar.gz
==> /usr/local/Cellar/python@3.9/3.9.2_1/bin/python3 -m ensurepip
==> /usr/local/Cellar/python@3.9/3.9.2_1/bin/pip3 install -v --global-option=--n
==> /usr/local/Cellar/python@3.9/3.9.2_1/bin/pip3 wheel --wheel-dir=/usr/local/C
==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python@3.9/libexec/bin

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.9/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
?  /usr/local/Cellar/python@3.9/3.9.2_1: 3,935 files, 65.9MB
==> Installing aws/aws/amazon-efs-utils dependency: stunnel
==> Pouring stunnel-5.58.big_sur.bottle.tar.gz
==> Caveats
A bogus SSL server certificate has been installed to:
  /usr/local/etc/stunnel/stunnel.pem

This certificate will be used by default unless a config file says otherwise!
Stunnel will refuse to load the sample configuration file if left unedited.

In your stunnel configuration, specify a SSL certificate with
the "cert =" option for each service.

To use Stunnel with Homebrew services, make sure to set "foreground = yes" in
your Stunnel configuration.

To have launchd start stunnel now and restart at login:
  brew services start stunnel
Or, if you don't want/need a background service you can just run:
  stunnel
==> Summary
?  /usr/local/Cellar/stunnel/5.58: 40 files, 767.7KB
==> Installing aws/aws/amazon-efs-utils
==> python3 -m venv /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> /usr/local/Cellar/amazon-efs-utils/1.29.1/libexec/bin/pip install -v --no-de
==> Caveats
Perform below actions to start using efs:
  sudo mkdir -p /Library/Filesystems/efs.fs/Contents/Resources
  sudo ln -s /usr/local/bin/mount.efs /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

Perform below actions to stop using efs:
  sudo rm /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

To enable watchdog for using TLS mounts:
  sudo cp /usr/local/opt/amazon-efs-utils/libexec/amazon-efs-mount-watchdog.plist /Library/LaunchAgents
  sudo launchctl load /Library/LaunchAgents/amazon-efs-mount-watchdog.plist

To disable watchdog for using TLS mounts:
    sudo launchctl unload /Library/LaunchAgents/amazon-efs-mount-watchdog.plist
==> Summary
?  /usr/local/Cellar/amazon-efs-utils/1.29.1: 3,223 files, 70MB, built in 1 minute 31 seconds
==> Upgrading 1 dependent:
awscli 2.1.20 -> 2.1.28
==> Upgrading awscli 2.1.20 -> 2.1.28
==> Downloading https://homebrew.bintray.com/bottles/awscli-2.1.28.big_sur.bottl
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/421563e6865ca959cab77
######################################################################## 100.0%
==> Pouring awscli-2.1.28.big_sur.bottle.tar.gz
==> Caveats
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
?  /usr/local/Cellar/awscli/2.1.28: 12,549 files, 95.2MB
Removing: /usr/local/Cellar/awscli/2.1.20... (12,635 files, 97.1MB)
==> Checking for dependents of upgraded formulae...
==> No broken dependents found!
==> Caveats
==> openssl@1.1
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

==> tcl-tk
tcl-tk is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have tcl-tk first in your PATH, run:
  echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrc

For compilers to find tcl-tk you may need to set:
  export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
  export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"

==> python@3.9
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python@3.9/libexec/bin

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.9/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
==> stunnel
A bogus SSL server certificate has been installed to:
  /usr/local/etc/stunnel/stunnel.pem

This certificate will be used by default unless a config file says otherwise!
Stunnel will refuse to load the sample configuration file if left unedited.

In your stunnel configuration, specify a SSL certificate with
the "cert =" option for each service.

To use Stunnel with Homebrew services, make sure to set "foreground = yes" in
your Stunnel configuration.

To have launchd start stunnel now and restart at login:
  brew services start stunnel
Or, if you don't want/need a background service you can just run:
  stunnel
==> amazon-efs-utils
Perform below actions to start using efs:
  sudo mkdir -p /Library/Filesystems/efs.fs/Contents/Resources
  sudo ln -s /usr/local/bin/mount.efs /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

Perform below actions to stop using efs:
  sudo rm /Library/Filesystems/efs.fs/Contents/Resources/mount_efs

To enable watchdog for using TLS mounts:
  sudo cp /usr/local/opt/amazon-efs-utils/libexec/amazon-efs-mount-watchdog.plist /Library/LaunchAgents
  sudo launchctl load /Library/LaunchAgents/amazon-efs-mount-watchdog.plist

To disable watchdog for using TLS mounts:
    sudo launchctl unload /Library/LaunchAgents/amazon-efs-mount-watchdog.plist
==> awscli
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
ec2-user@ip-10-191-21-57 ~ %