AWS¶
一般¶
アクティブなリソースの確認¶
請求額アラート設定¶
- IAMルートユーザーでログイン
- IAM設定画面でユーザ名をクリック
- 表示されるメニューから「請求ダッシュボード」をクリック
- 画面左側のメニュー一覧にある「請求設定」をクリック
- 「コスト管理設定」の中にある「無料利用枠の使用のアラートの受信」にチェック
- その下のEメールアドレス欄に送信先のメールアドレスを指定
- 「請求アラートを受け取る」にチェック
請求額アラート設定: 一定の請求額を超えそうな場合にメールを受信する方法¶
- AWSマネジメントコンソールを開く
- CloudWatchを開く
- 「バージニア北部」リージョン(us-east-1)を選択
- 画面左側のメニュー一覧にある「アラーム」の中の「請求」をクリック
- 初期設定と追加設定の二通りある
- 初期設定の場合
- この表の下部中央にある「アラームの作成」ボタンをクリック
- 表の右上にある「アラームの作成」ボタンではない
- 「メトリクスと条件の指定」画面でアラーム設定
- この表の下部中央にある「アラームの作成」ボタンをクリック
- 追加設定の場合
- 「アラームの作成」ボタンをクリック
- 「メトリクスの選択」ウインドウを開く
- 「請求(Billing)」をクリック
- 「概算合計請求金額」をクリック
- 通過が「USD」, メトリクス名が「EstimatedCharges」の項目にチェック
- 「メトリクスの選択」をクリック
- 初期設定の場合
- 画面を下にスクロールし「条件」の欄を表示
- 「しきい値の種類」で「静的」を選択
- 「「EstimatedCargesが次の時…」」で「より大きい>しきい値)」を選択
- 「…よりも」ではメールを送信してもらうための基準額をUSドルで入力
- 入力が完了したら「次へ」ボタンをクリック
- 以下のアクションの設定画面の「通知」欄で「このアラーム状態が以下のとき…」は「アラーム状態」を選択
- 「SNSトピックの選択」のラジオボタンは「新しいトピックの作成」を選択
- 「新規トピックの作成中…」の「トピック名」はデフォルトのまま
- 「通知を受け取るEメールエンドポイント…」にアラートメールの送信先を入力
- 「トピックの作成」ボタンをクリック
- メールアドレスが「Eメール(エンドポイント))」に表示されていることを確認
- 「次へ」ボタンをクリック
- 「説明の追加」画面の名前と説明で「一意の名前を定義」欄にアラーム名を入力
- 必要に応じて「アラームの説明」のテキストエリアに説明文を入力
- 「次へ」ボタンをクリック
- プレビューと作成画面が表示される
- ここまでの入力内容に問題がないことを確認
- 「アラームの作成」ボタンをクリック
- アラートメールの送信先として指定したメールアドレスの受信ボックスを確認
- AWSから届いたメールに記載された認証リンク「Confirm subscription」をクリック
- 設定完了
- リージョンを戻す
短縮URLをAWS
サービスを使って作る¶
- .NETの「短縮URL作成」あたりを参照すること.
無料ドメインの取得¶
- freenomを使うと無料のドメインが取得できる
Route53
などの調査で使うには非常に便利
料金確認¶
Amplify¶
AWS Hands-on for Beginners(日本語)¶
CDK¶
インストール¶
1 |
|
ドキュメント・ハンズオン¶
1 |
|
- AWS Toolkit for Visual Studio Code https://aws.amazon.com/jp/visualstudiocode/
- AWS CDK, AWS SAM
- https://aws.amazon.com/jp/serverless/patterns/pattern-design-examples/
- RDS proxy
- 請求アラート, Slack通知: AWS知識本参照 https://dev.classmethod.jp/articles/notify-slack-aws-billing/
- LambdaからログをS3に吐き出す(追記し続ける)
- https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
- https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-1st-Step-2022-confirmation_849.html
- https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-level-100/
- https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-1-2022-reg-event.html?trk=aws_introduction_page
- https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-3-2022-reg-event.html?trk=aws_introduction_page
Lambda・API Gateway+Dynamodbのサンプル¶
- 参考: AWS-samples/CdkUrlShortener
C#
によるCDK+Lambda+API Gateway
はAWS-samples/CdkLambdaByCsharpも参考にすること.- 以下念のためCdkUrlShortenerStack.csの転記.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
|
--require-approval never
コマンド実行時にいちいちy
を渡さないで済むようにする¶
1 |
|
アップデート¶
1 2 3 |
|
コマンド init
¶
1 2 |
|
コマンド diff
: ローカルとデプロイの比較¶
1 |
|
コマンド deploy
: スタックをデフォルトのアカウント・リージョンにデプロイ¶
コマンド ls
: アプリ内のスタックを全て表示¶
コマンド docs
: CDKドキュメントを開く¶
コマンド synth
: CloudFormation
テンプレート出力¶
1 |
|
特定環境のdeploy
, destroy
¶
Program.cs
で設定しているStack
のID
を指定してcdk deploy
またはcdk destroy
すればよい.
1 |
|
バケットの削除¶
1 2 3 4 5 |
|
CLI¶
Session Managerでのポートフォワーディング, リモートホストへの接続¶
- AWS Systems Manager Session Managerでポートフォワーディングを使用してリモートホストに接続する
- cf. Systems Manager の EC2 インスタンスのセットアップに沿って先に
EC2
を設定する- メモ
- ステップ 1: Systems Manager にインスタンスのアクセス許可を設定する
- 「推奨される設定」の
1
から6
,設定
- IAMロールは先頭にあった「レコメンデーション」と括弧書きがあるロールを選んだ.
- 「Systems Manager は service-role/AWSSystemsManagerDefaultEC2InstanceManagementRoleロールを使用してインスタンスを管理します。」
- 参考: 【アップデート】AWS Systems Managerで全てのEC2にSSMを有効にできるようになりました
- 「システムマネージャー」の「高速セットアップ」で
Host Management
からSSM
を自動設定するように変更
- 「システムマネージャー」の「高速セットアップ」で
- [アップデート] AWS Systems Managerの高速セットアップでEC2起動エージェントの自動更新がサポートされました 2023/7時点では
Amazon Linux2
では自動設定されない模様.
- cf. Systems Manager の EC2 インスタンスのセットアップに沿って先に
- あとは上のページに合わせて設定を進める
- EC2はこのページを参考に作れば良い 特に「推奨される設定」を確認すれば良い。
- 接続確認:
ssm-managed-instance-id
は適切に調べる
1 |
|
- TODO
CDK
にする PostgreSQL
についてはPostgreSQLを参考にすること.- 注意
aws ssm start-session
は(CDKで環境設定した)適切なアカウントで実行すること. 権限エラーで実行できず,An error occurred (TargetNotConnected) when calling the StartSession operation: <ssm-managed-instance-id> is not connected.
というエラーが出る.<remote-database-host-name>
はエンドポイント名を入れればよい.
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 |
|
S3 バケット作成¶
- 東京リージョンは
ap-northeast-1
1 2 3 4 |
|
アクセスキー取得¶
- 参考: CloudShellを使うとローカルの設定なしでAWS CLIが使えるので必要に応じて使い分けよう
- IAMユーザーのアクセスキーの管理
- アクセスキーとシークレットキーをCSVで取得, メモ
- 次のコマンド実行
1 2 3 4 |
|
- 上記設定は
~/.aws/config
に次のように記録される
1 2 3 |
|
~/.aws/credentials
にaws_access_key_id
とaws_secret_access_key
が記録される
アカウント確認¶
- 下記のどちらかを実行する
1 2 |
|
~/.aws/cli/alias
にwhoami
として登録しておくとよい.
1 2 |
|
アカウント切り替え¶
1 2 |
|
アカウント登録¶
- 事前に
AWS
にアクセスしてIAM
からアクセスキー・シークレットアクセスキーのCSVをダウンロードしておくこと~/.aws
にでも置いておくとよい
- 特に希望がない場合のリージョンとフォーマット
- リージョン:
ap-northeast-1
- フォーマット:
json
- リージョン:
1 2 |
|
補完設定¶
Cloud9¶
GitHub連携¶
- 参考
- 次のコマンドでSSH鍵を作成
1 2 3 |
|
- GitHubに公開鍵を登録
- リポジトリ作成
- git pullしてコミット・プッシュ
- push/pullについて詳しくは都度ググる
VSCodeでのSSH設定¶
VSCode参照.
コンソールでサービスを立ち上げたあとにブラウザで確認¶
- 参考
- Preview (プレビュー) > Preview Running Application (実行中のアプリケーションのプレビュー)
- エディタに出てきたタブの右上, 四角の中に右上矢印があるボタンをクリック
- ブラウザの別タブで画面が開く
CloudFormation¶
ドリフトの検出と解決¶
- 実体とスタックの乖離をドリフトと呼ぶ
- インポートで実体をスタックに取り込める
Copilot¶
公式ドキュメント¶
アカウント選択¶
copilot env init
を実行するとそのapp
に紐づけるアカウント(profile)が設定できる
アカウント内に作成されたApplication
の一覧を確認したい¶
copilot app ls
- 現在のアカウント・リージョン内にある全ての
Application
を確認
Application
に含まれる対象を確認したい¶
copilot app show
Application
内のService
やEnvironment
を含んだサマリ情報を表示
app init --domain
のための事前設定¶
- URL
Route 53
コンソールからホストゾーンを新たに作る- 4つの
NS
レコードをAWSコンソールからコピー - 適切なレジストラのページに移動して4つのカスタムネームサーバーを張りつける
- お名前.comでは次の通り: 参考
- トップメニュー「ドメイン設定」を選ぶ
- 左メニュー「ネームサーバーの設定 > ネームサーバーの変更」を選ぶ.
- 適切なドメインを選択してチェックを入れる
- 「他のネームサーバーを利用」タブを選ぶ.
- AWSコンソールで表示されたネームサーバー情報を入力する.
CloudFormation
ファイルを生成する¶
copilot <subcommand> package -h
でヘルプを見よう.- 具体的には次のようなコマンドで
yml
が出力できる.
1 |
|
Environment
の作成¶
copilot env init
Environment
のデプロイ¶
- 必要に応じて手動で
copilot/environments/[env name]/manifest.yml
を修正する copilot env deploy
healthcheck
¶
1 2 3 4 5 6 7 8 |
|
init
中にターミナルが死んで再作成・削除できなくなったとき¶
- 別のアプリを作ってみる.
- 作ったときに出てくるメッセージをもとに
AWS
コンソールからサービスを確認する. - 作ったアプリに対するモノが何かできているはずで, それを直接削除する.
- 例えば
CloudFormation
のスタックができているはずだから, それを削除する.
- 例えば
pipeline
によるマイグレーション¶
Load Balanced Web Service
のプロパティのリスト¶
- どこにあるかすぐ忘れるため記録
- manifestにある
Load Balanced
job
でデータベースをマイグレーションしたい¶
AWS
コンソールでSecrets Manager
にアクセスする- 対応する
RDS
用のシークレットの名前を控える job
のyml
のsecrets
に次のように設定するsecretsmanager
の値は控えた値を書く
1 2 3 |
|
Load Balanced
ドメイン設定: DNSプロバイダーはお名前.comなど外部プロバイダー¶
- GitHub copilot-domainで実験してある.
- 念のため転記.
- 注意
- 記述を明確にするためドメインは
academic-event.com
としている. これを書き換えれば当然書き換えたドメインで設定できる. AWS
のアカウントもexport AWS_DEFAULT_PROFILE=<aws-account-name>
で適切に設定すること.
- 記述を明確にするためドメインは
copilot
でのLoad Balanced
へのドメイン設定確認用:特にDNSプロバイダーはお名前.com
など外部サービスの場合- 参考:DNS での検証
AWS Certificate Manager
でパブリック証明書をリクエスト- 完全修飾ドメイン名で
*.academic-event.com
を設定 AWS
で要求された値をCNAME
でお名前.com
に設定.acm-validations.aws.
のように末尾が.acm-validations.aws.
になっている値をCNAME
のValue
に設定する- 特に
ACM
のCNAME名
をお名前.com
のホスト名
に、ACM
のCNAME値
をお名前.com
のVALUE
に入力する
AWS
で対応する証明書のステータスが成功
になるか確認:最大三日待つ- 証明書の
ARN
を控える
Copilot
への設定は以下の通り- 重要
copilot env init --import-cert-arns <ACMのARN>
で初期化する必要がある
- 重要
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 |
|
copilot/stg/manifest.yml
のalias
を設定copilot/pt-domain/manifest.yml
のenvironments
にalias
を設定
1 2 |
|
app
に対するmanifest.yml
に対して次のような設定を追加する.
1 2 3 4 5 6 7 8 9 10 |
|
environments
配下のmanifest.yml
に次のような設定を追加する
1 2 3 4 5 6 7 8 9 10 11 12 |
|
- 下記コマンドで一通り設定・デプロイ
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 |
|
お名前.com
でCNAME
を追加する- 追加する
CNAME
レコードのホスト名に対応する値はALB
のDNS
名を指定する. ALB
のDNS
名は以下の参考資料を参照すること.copilot
で生成したならcopilot svc show
のCOPILOT_LB_DNS
でも確認できる.
- Creating records by using the Amazon Route 53 console
- 下記項目を参考に
DNS Name
をCNAME
として設定すればよい.- AWSマネジメントコンソールにログインする
EC2
のコンソールにアクセスする- ナビゲーションペインで
Load Balancers
を選ぶ - ロードバランサーのリストでエイリアスレコードを作りたい対象を選ぶ
Description
タブでDNS name
を確認する
- 追加する
Request Driven
job
でデータベースをマイグレーションしたい¶
copilot svc show
でデータベース接続用情報を持つSECRET ARN
の値を確認する.copilot job init
で適切に設定するyml
を編集するschedule
をnone
にする- シークレット変数を追加する.
1 2 3 |
|
copilot job deploy
するcopilot job run
のあとCloudWatch
のログを確認する
C#
の参考プログラム¶
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Request Driven
2023-02-10時点でのエラー¶
- チュートリアルの
init
で次のエラーが出る
1 2 |
|
svc
デプロイ¶
- 新しい
Environment
を作った時点でデプロイされたService
はない. - デプロイしたい
Service
のディレクトリからcopilot deploy
コマンドを実行する. - どの
Environment
にデプロイしたいのか尋ねられる
svc
サービスに含まれる対象を確認したい¶
copilot svc show
svc
起動中のサービス確認, copilot svc status
¶
- URL
copilot svc status
copilot svc exec
¶
- URL
Fargate
のdocker exec
対応- 2023-03時点では
Load Balanced
では使えるがApp Runner
では使えない
CloudFormation
テンプレートの出力¶
1 |
|
pipeline
¶
1 2 |
|
storage
environment
ごとにアクセス設定を変える¶
- Question: What is a proper setting for rds serverless v2 public access for a copilot storage generated database #4643
- Writing the Outputs section
1 2 3 4 5 6 7 8 9 10 11 12 |
|
環境変数やSecrets
が反映されない¶
- 2023-05-24,
C#
のASP.NET
を使っていたときの話. Dockerfile
とmanifest.yml
の両方でASPNETCORE_ENVIRONMENT
を指定していたら, 正しく環境変数に反映されていなかった.Dockerfile
からENV
指定を削除して対応した.
秘密の変数の指定¶
- 2022-12-20 AWS Copilot with AWS CDK
- 適切な
yaml
ファイルにsecrets
を指定する - 下記のように書く
PostgreSQLConfig__Host
は自由にしてよく, この値がコンテナに環境変数として指定されるAuroraSecret-ABC3G7c8bvFyP-C5JIGE
はcopilot svc show
のSecrets
に表示される値から取れるhost::
にあたる部分はAWS
コンソールなどでデータベースのシークレット変数として指定されている変数名を取ればよい
1 2 3 4 5 6 7 |
|
削除, 特にcopilot job delete
が正しく完了しない場合¶
- これまでの経験上のまとめ
- 時々
job
が実行中のままになっている場合がある.- 特に
job
作成時にデータベース接続に失敗していたとき.
- 特に
job delete
が失敗したら,CloudFormation
を調べ, 特にState Machine
を調べよう.- 実行中の
job
がある場合は停止させる. - 停止してから改めてコマンド実行してみよう.
セキュリティグループを調べる¶
AWS
のコンソールにアクセスするVPC
にアクセスする- ダッシュボードから「セキュリティ グループ」を選ぶ
- 設定されたセキュリティ グループの一覧が表示されている
サービスに設定された環境変数の値を確認する¶
copilot svc show
のSecrets
で確認できる
サービスのコンテナへのコマンド実行¶
1 |
|
サービスの停止・再開¶
1 2 3 |
|
ジョブ実行¶
1 2 |
|
データベース接続: App Runner
¶
- 参考
- 公式: AWS Copilot による AWS App Runner の VPC 接続
- メモ: AWS Copilot CLI を使って複数環境で既存の DynamoDB を使う
- IAMテンプレートの話が書いてある
- Secrets Manager Access
- 特にここに
IAM
の書き方が書いてある. Resource
にはcopilot svc show
で出てくるsecret arn
の値を入れればよい(?)
- 特にここに
- メモ: AWS Copilot CLI を使って複数環境で既存の DynamoDB を使う
app
に対するmanifest.yml
に次の内容を設定する
1 2 3 |
|
copilot storage init
を実行するcopilot svc show
でデータベース接続用のSECRET ARN
の値を確認する- 確認した値をもとに
copilot/svc/addons
に次のような内容でiam-secrets-manager-policy.yml
を追加する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
- 環境変数
APRDJANGOWEBCLUSTER_SECRET_ARN
をもとにデータベース情報を取得するように設定する
データベース取得方法¶
JavaScript
¶
- 環境変数名は適切に設定すること
1 2 3 4 5 6 |
|
Python
¶
- 環境変数名は適切に設定すること
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
C#
¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 3 4 5 6 7 8 9 |
|
データベース接続: Load Balanced
¶
- 参考
copilot svc show
でSecrets
を調べる- データベース用の値を控える: 例えば
MYDJANGODB_SECRET
などデータベース用に設定した値_SECRET
のような値になっているはず- これが環境変数に指定されているため使っている言語に合わせて環境変数を取得する
- 環境変数は
JSON
形式の文字列だからJSON
で解釈して接続文字列や接続情報を指定するJSON
の形式はAWS
コンソールのSecrets Manager
で確認できる
Django
での書き方は次の通り- ローカル開発やチェック用のログ出力も入れてある
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
データベース接続: マイグレーションなどでジョブからつなぐ¶
- 参考
- 基本的なデータベースまでのサービス構築は他の項目を参照すること.
- ジョブからデータベースにつなぐにはセキュリティ設定を追加する
- 以下の記述でファイル名・項目名は構築したサービスごとに適切に設定すること
- 特に
svc/addons/db.yml
のDBClusterSecurityGroup
に次のように追記する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
メタデータ¶
- URL
System Manager Parameter Store
に保存される/copilot/applications/${app_name}
に保存
リソース作成¶
- URL
addons
の形でCloudFormation
テンプレートを使えばCopilot
と連携できる
DynamoDB¶
参考文献¶
参考: Amazon DynamoDB Labs¶
- Amazon DynamoDB Labs
- データ取得
1 |
|
DynamoDB Local¶
- 参考: URL
SDK
によるアクセス方法¶
- 参考: AWS SDK for .NET を使った DynamoDB へのアクセス方法
DynamoDBContext
を使ったアクセス- DynamoDBの開発ガイドでオブジェクト永続性モデルを使用したやり方として紹介されている.
- 「オブジェクト永続性モデル」は
EF Core
のような形でモデル(エンティティー)を定義する形. - URL短縮サービスのEntityやコントローラー参照.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
AmazonDynamoDBClient
を使ったアクセス- DynamoDBの開発ガイドのチュートリアルで紹介されている
- 取得できる
Items
のクラスはList<Dictionary<string, AttributeValue>>
- 自分で適切なオブジェクトにマップする必要がある.
- URL短縮サービスでの次のコントローラー参照
モデリング例¶
Microsoft
のNorthwind
をDynamoDB
でモデル化: URL- 階層構造を持つ場合の例: Hierarchical Data
ECR¶
M1 Mac
でx86_64
ビルドしてプッシュする¶
ECR
のコンソールにアクセスする.- 適切なイメージを選ぶ.
- 画面上部の「プッシュコマンドの表示」をクリックする.
- モーダル中のコマンドを順に熟考すればよい.
x86_64
ビルドコマンドはDockerを参照すること.
Mac
でError saving credentials: error storing credentials - err: exit status 1, out:
Post "http://ipc/registry/credstore-updated": dial unix backend.sock: connect: no such file or directory``¶
- URL
Mac
からECR
で認証トークンを取得し、レジストリに対して Docker クライアントを認証します
のプッシュをしようとしたらタイトルのエラーが出た~/.docker/config.json
のcredsStore
がdesktop
だったのをosxkeychain
にしたら通った
IAM¶
AdministratorAccess権限を与えたい¶
- 「アクセス権限の追加」をクリック
- 「既存のポリシーを直接アタッチ」をクリック
- 「ポリシー名」を選ぶ
MFA設定 機種変更時にMFA端末を変更¶
- 1アカウントに1デバイスしかMFA端末を設定できない
- 参考: 変更手順
- 機種変更など端末を変える場合は, 先にデバイスの変更手続きを取らないと認証が通らなくなるため十分に注意する.
ユーザー作成¶
- 「AWSアカウントでのIAMユーザーの作成」
ルートアカウントへのMFAを複数人に展開¶
- ルートアカウントのMFAを複数設定できるようになったため, 実際に複数人に設定してもらい, 適切な権限を持つ人にルートアカウントを触れるようにしたい.
- MFA設定
- IAMの画面にアクセスしてから画面右の「クイックリンク > 自分の認証情報」リンクから画面遷移する.
- その画面でQRコード読み取りして設定できる.
- 対処1: リアルで複数名が集まれる
- このときは既にルートアカウントにアクセスできる人が実際にIAM画面にアクセスし, MFA設定のQRコード読み取り部分をその人の画面から設定して試せばよい.
- 対処2: リモートで対応したい.
- ルートアカウントの情報は適切な形で共有してあり, 複数名がMFA以外の情報にはアクセスできるとする.
- MFA認証のところまでログインを進める.
- MFA認証できる人にネット上で依頼してMFAコードを送ってもらう.
- ログインしてもらったあと, その人が対応しやすいMFA設定をしてもらう.
ロールのリスト取得¶
1 |
|
MFA デバイス解除¶
- 自身で解除手続き可能: ▼MFA デバイスが故障または紛失した場合のセルフサービスによるリセットの方法
- 上記方法で解除できない場合は下記の専用フォームで該当アカウント管理者から申請する
- https://aws.amazon.com/forms/aws-mfa-support
- ※「I'm still having problems and would like to contact AWS support.」をクリックして入力フォームを表示する
Lambda¶
公式デベロッパーガイド¶
AWSサービスごとの請求額をSlackに通知する¶
SAM¶
ドキュメント¶
APIをローカルでホストする¶
1 |
|
Create pipeline¶
1 |
|
initランタイム指定¶
1 |
|
エラーが出たとき¶
- SAMはCloudFormationの拡張
- SAMのビルドでエラーが出たときCloudFormationのログも確認しよう
公式リポジトリの実装例¶
コンテナを使ってビルド¶
1 |
|
資料集¶
SDK¶
S3で署名つきURL¶
- C# SDK
- S3: 署名付き URL を使用したオブジェクトの共有
- 実際には次のように書く.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
Secrets Manager¶
値を取る¶
- 実際にコンソールでアクセスすると, 下の方にサンプルコードがある.
- これを参考にすればよい.
SES¶
メール送信¶
- GitHubを参考にすればよい.
AWS SDK
を使う場合はIAM
のアクセスキー・シークレットキーを使う.