リモートワークでAWSのworkspacesを使う企業が増えてきていますが、workspacesのユーザを作るのをコンソールからだと面倒ですよね?
あまりAPI経由でやったという記事がなかったので参考までにのせます。今回はpythonで実施していますが、AWS cliからでも簡単にできると思います。
前提
以下の作業が完了していること
- EC2の立ち上げ および python3,boto3のインストール
- Simple ADの作成
- WorkDocsの作成
#手順
-
EC2にRoleを付与
注意したいのはここでユーザを作るのはworkdocsを使用するみたいです。
workdocsとworkspacesの2つをroleに追加しましょう。
-
ADにユーザを追加
pythonでADにユーザ追加します。1.で述べたようにworkdocs経由です。
import boto3
client = boto3.client('workdocs',region_name='ap-northeast-1')
client.create_user(
OrganizationId='d-XXXXXXXX', //ADのディレクトリIDを記載
Username='kani',
EmailAddress='XXXXXX@gmail.com',
GivenName='ABCD',
Surname='EFGH',
Password='tesT1234',
)
うまくいかない場合はadのworkspaceが有効か確認してください。
- workspaceを追加
あとは追加するだけです。
import boto3
client = boto3.client('workspaces',region_name='ap-northeast-1')
response = client.create_workspaces(
Workspaces=[
{
'DirectoryId': 'd-XXXXXXXX', //ADのディレクトリIDを記載します
'UserName': 'kani', //2のUsernameとあわせます
'BundleId': 'wsb-bh8rsxt14', //追加したいworkspaceのバンドルIDを記載します
'UserVolumeEncryptionEnabled': False,
'RootVolumeEncryptionEnabled': False,
'WorkspaceProperties': {
'RunningMode': 'AUTO_STOP',
'RunningModeAutoStopTimeoutInMinutes': 60,
'RootVolumeSizeGib': 80,
'UserVolumeSizeGib': 10,
'ComputeTypeName': 'VALUE'
},
},
]
)
以上です。workdocs経由という点に気づかなくて意外に苦戦してしまいました。
よかったら参考にしてください。