はじめに
Public preview 中の AWS Native Package の初期設定方法について本記事にまとめました。
AWS Native Package については ▼ 記事を参照してみてください
Pulumi の project は作成済みであることを前提として記載します。
まだ、 project を作成していない方は以下記事や公式ドキュメントを参考に初期設定まで完了させてください。
実行環境
% sw_vers
ProductName: macOS
ProductVersion: 12.0.1
BuildVersion: 21A559
% node -v
v16.10.0
% yarn -v
1.22.17
AWS Native Package を追加
yarn add @pulumi/aws-native
を実行し aws-native
package を追加します
yarn add @pulumi/aws-native
region を設定する
AWS Native Package も AWS Classic と同様に region の設定を行う必要があります。
今回は、東京リージョン ap-northeast-1
を設定します
pulumi config set aws-native:region ap-northeast-1
credentials を設定する
AWS のリソースを操作するため 対象のアカウントにアクセスできる権限を付与します。
access_key
や assumeRole
などサポートしていますが今回は、シンプルに access_key
を発行して検証します。
IAM の作成や access_key
の発行がわからない方は以下ドキュメントを参考に作成してください
発行した IAM の access_key
や secret_key
を pulumi config set
コマンドを用いて設定します。
設定する際は --secret
オプションを必ず設定してください。
オプションを指定しないと、Pulumi.stack_name.yml
に平文で記載されてしまいます。
pulumi config set aws-native:accessKey xxxxxxxxxxx --secret
pulumi config set aws-native:secretKey xxxxxxxxxxx --secret
pulumi config set
を利用しなくても 環境変数からも token を渡すことができます。
export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID
export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
ここまで設定すれば AWS Native Package で AWS リソースの管理を行うことができます。
AWS Native Package で 情報を参照してみる
今回は、 Pulumi で 管理対象としたリージョン情報が取得できるか確認してみます。
import * as pulumi from "@pulumi/pulumi"
import * as awsNative from "@pulumi/aws-native"
export const region = awsNative.getRegion()
yarn preview
を実行します
region 情報が Outputs
に表示されました。
% yarn preview
Previewing update (xxxxxxx)
View Live: https://app.pulumi.com/mziyut/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx
Type Name Plan
xxxxxxx xxxxxxx
Outputs:
+ region : {
+ region: "ap-northeast-1"
}
Resources:
x unchanged
最後に
AWS Native Package はまだ public preview ということもあり対応していないリソースも多い状態です。
今後は、AWS Native Package の利用がスタンダードになっていくことは明確なため、
新規で作成するリソースは AWS Native Package を使った構築することを検討してみてください。
Reference