2023年3月24日の NTT Tech Conference 2023 で発表した「AWS Mac も IaC したい!」の講演資料です。 AWS Mac の紹介と AWS Mac を IaC で管理する方法について紹介しています。
© NTT Communications Corporation All Rights Reserved.AWS Mac も IaC したい! NTT Communications 株式会社 イノベーションセンター 福田優真
View Slide
© NTT Communications Corporation All Rights Reserved. 2自己紹介 - 氏名 - 福田優真- 所属 - NTT Communications 株式会社- イノベーションズセンター- やっていること - パブリッククラウドとハイブリッドクラウドの検証- AWS / GCP/ Azure の検証とか- 好きなこと - IaC- クラウド- DevOps
© NTT Communications Corporation All Rights Reserved. 3Mac on AWS - 2020 年に Mac インスタンス *1が登場 - Mac mini を Thunderbolt 3 で Nitro System に接続したもの- AWS で Mac が利用可能に- Intel 版- ap-northeast-1 でも現在利用可能- 2022 年に M1 Mac インスタンスが GA - arm Mac が利用可能に- 現在 ap-northeast-1 では利用不可だが、 us-east-1 などでは利用可能- Apple 側からの要請によって最低利用時間として24時間必要 - 借りてから24時間経てばいつでも返却可能- 課金単位時間は1秒- mac1.metal か mac2.metal な専有ホスト*2を借りて、その上に mac AMI を 投入して利用する - まずは Mac mini 本体を借りて、その上で macOS を動かすという手順- 値段は1時間あたり 0.65 USD 〜 1.399 USD とお高め - t2.micro で 0.0116 USD- 1ヶ月 474.5 USD 〜 1021.27 USD- Apple で購入すると 599 USD 〜1. インスタンス = 仮想マシン 2. 専有して利用できる物理マシン
© NTT Communications Corporation All Rights Reserved. 4IaC 化 - AWS Mac を IaC 化するには次の手順を踏む 1. 専有ホストで Mac を借りる 2. 起動したい Mac AMI を選択 3. 専有ホストを指定して 2. の AMI を指定して EC2 インスタンス起動 - ここでは AWS CDK というツールを用いて例を紹介
© NTT Communications Corporation All Rights Reserved. 5コード // M1 Mac 専有ホストを借りるconst macHost = new cdk.aws_ec2.CfnHost(scope, "MacHost", {// Arm Mac を利用するので us-east-1 の AZ を指定している// Intel Mac であれば ap-northeast-1 の AZ も利用できるavailabilityZone: "us-east-1a",// Intel mac を借りたければ `mac1.metal` に変更するinstanceType: "mac2.metal",});
© NTT Communications Corporation All Rights Reserved. 6コード // 起動したい Mac インスタンスを設定するconst macInstance = new cdk.aws_ec2.Instance(this, "MacInstance", {// …instanceType: new cdk.aws_ec2.InstanceType("mac2.metal"),machineImage: cdk.aws_ec2.MachineImage.lookup({// macOS 12 (Monterey) を利用name: "amzn-ec2-macos-12.*-arm64",owners: ["amazon"],}),});// インスタンスを確保した専有ホストで起動するように設定(instance.node.defaultChild as cdk.aws_ec2.CfnInstance).hostId =macHost.attrHostId;
© NTT Communications Corporation All Rights Reserved. 7まとめ - AWS Mac について解説 - 最低 24 時間の割り当て- 専有ホストによる提供- AWS Mac を IaC する方法について解説
© NTT Communications Corporation All Rights Reserved. 8