This folder shows an example of how to use the MSK module to deploy an MSK cluster using IAM access control.
Note that for security reasons, you can't turn on public access while creating an MSK cluster.
For that reason, a separate bastion host is created with permissions to interact with the cluster. You can use the bastion_public_ip output
variable to connect to the bastion host using a pre-created keypair specified in keypair_name.
{"treedata":{"name":"root","toggled":true,"children":[{"name":".circleci","children":[{"name":"config.yml","path":".circleci/config.yml","sha":"bcfd56d5b2e88d8f95c5ed6697919363ef76653b"}]},{"name":".github","children":[{"name":"ISSUE_TEMPLATE","children":[{"name":"bug_report.md","path":".github/ISSUE_TEMPLATE/bug_report.md","sha":"d2e87e27c601e423865ed660ec697082470ca60f"},{"name":"feature_request.md","path":".github/ISSUE_TEMPLATE/feature_request.md","sha":"023a33099be2336476930c96e17ff1ba5dc55348"}]},{"name":"pull_request_template.md","path":".github/pull_request_template.md","sha":"6b100e40e323b5b07f40ed30616277c51c9f4b9e"}]},{"name":".gitignore","path":".gitignore","sha":"1b13a3bf1f1425e2e779cbf1a40a88e74a24f57b"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"1d8f329691fa148e29c9f4b1628b118d253d94a3"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"0616d223168080313c63eab2e7b9b66b90213052"},{"name":"LICENSE.txt","path":"LICENSE.txt","sha":"947b78a929481a192a688dbcd8aef5e959102397"},{"name":"README.md","path":"README.md","sha":"aee4ffa5875881a7308befe61a08dcdd3e62ecd2"},{"name":"examples","children":[{"name":"kinesis","children":[{"name":"README.md","path":"examples/kinesis/README.md","sha":"a10663a758592a4001140edd7eff20d1dcf64b36"},{"name":"main.tf","path":"examples/kinesis/main.tf","sha":"bf2f6c5191408d19c18096f36d7eee5ee1d92dcc"},{"name":"outputs.tf","path":"examples/kinesis/outputs.tf","sha":"952a5cf88e478992ff28c5774e8f37217f89d296"},{"name":"variables.tf","path":"examples/kinesis/variables.tf","sha":"1065357fa72427e839f19969607c92a217fecd62"}]},{"name":"msk-with-iam-auth","children":[{"name":"README.md","path":"examples/msk-with-iam-auth/README.md","sha":"6af235e4cfa4afd19d919742748ffa53b053f572","toggled":true},{"name":"main.tf","path":"examples/msk-with-iam-auth/main.tf","sha":"3583527e33af8d61839f41dd92949187920f1f51"},{"name":"outputs.tf","path":"examples/msk-with-iam-auth/outputs.tf","sha":"ef6b634e22db3e19f2e7848a0a0410c2f7f72035"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/msk-with-iam-auth/user-data/user-data.sh","sha":"c003cf5f3adec330d1181e8648684106cbaf9384"}]},{"name":"variables.tf","path":"examples/msk-with-iam-auth/variables.tf","sha":"4a122056ffbf362f23f0996d48112895eb46de43"}],"toggled":true},{"name":"sns-sqs-connection","children":[{"name":"README.md","path":"examples/sns-sqs-connection/README.md","sha":"9ab1842aef0a29fd9df9d9895052b8b008e92628"},{"name":"main.tf","path":"examples/sns-sqs-connection/main.tf","sha":"428a2115feaaa399787627f4454fb417f3261695"},{"name":"outputs.tf","path":"examples/sns-sqs-connection/outputs.tf","sha":"cbe0132f92c314bf95992232cd4e733102e7b08c"},{"name":"variables.tf","path":"examples/sns-sqs-connection/variables.tf","sha":"62ad583ebbafbfdf66f2149f453a88ae45ec14ea"}]},{"name":"sns","children":[{"name":"README.md","path":"examples/sns/README.md","sha":"d20e499ef9e61789460c42b65d84698cba354ffe"},{"name":"main.tf","path":"examples/sns/main.tf","sha":"2d5066419a7734031a36b987f7a272211469f867"},{"name":"outputs.tf","path":"examples/sns/outputs.tf","sha":"4f3fdd7d70805e7c7520730b598dca452785ecc5"},{"name":"variables.tf","path":"examples/sns/variables.tf","sha":"45c2d2eb3fe524bd334629f82cd35805404132f6"}]},{"name":"sqs-lambda-connection","children":[{"name":"README.md","path":"examples/sqs-lambda-connection/README.md","sha":"a93b874b1b91e8a08d5f3728537038a0ec8bfaa2"},{"name":"main.tf","path":"examples/sqs-lambda-connection/main.tf","sha":"bce89d1e78e8299cc106603615dd6c62dac01c92"},{"name":"outputs.tf","path":"examples/sqs-lambda-connection/outputs.tf","sha":"3dd33dd0e765e67e1c717330a95254a6c4f4e054"},{"name":"variables.tf","path":"examples/sqs-lambda-connection/variables.tf","sha":"64b2b533875ba3563998fe014d09a77076fe00e4"}]},{"name":"sqs","children":[{"name":"dead-letter-queue","children":[{"name":"README.md","path":"examples/sqs/dead-letter-queue/README.md","sha":"afb19a5c1926f3cc1192151c7d8ee1851da5bd7f"},{"name":"main.tf","path":"examples/sqs/dead-letter-queue/main.tf","sha":"b855b459b0725d234059eedee01960a85f747819"},{"name":"outputs.tf","path":"examples/sqs/dead-letter-queue/outputs.tf","sha":"b3d13e984797fab06aeae8abfd599b2a0f12d9f8"},{"name":"variables.tf","path":"examples/sqs/dead-letter-queue/variables.tf","sha":"5b3ac6fcefb6b6a9b2ed2bf31a08fb319277b643"}]},{"name":"fifo-queue-with-encryption","children":[{"name":"README.md","path":"examples/sqs/fifo-queue-with-encryption/README.md","sha":"56fcb9edfe2c4befd84fb31109598845ab48ba74"},{"name":"main.tf","path":"examples/sqs/fifo-queue-with-encryption/main.tf","sha":"3b367f99520bdccbd2b66f51fef175e0bd1ee059"},{"name":"outputs.tf","path":"examples/sqs/fifo-queue-with-encryption/outputs.tf","sha":"b3d13e984797fab06aeae8abfd599b2a0f12d9f8"},{"name":"variables.tf","path":"examples/sqs/fifo-queue-with-encryption/variables.tf","sha":"7155c480e6a99e1d998ec9a222e2d16378d90ce3"}]},{"name":"no-dead-letter-queue","children":[{"name":"README.md","path":"examples/sqs/no-dead-letter-queue/README.md","sha":"23a010877a28dbbed0ff2c1de54b7886f6db66e8"},{"name":"main.tf","path":"examples/sqs/no-dead-letter-queue/main.tf","sha":"f3a03460753bac31b4ada61216579f710762b44f"},{"name":"outputs.tf","path":"examples/sqs/no-dead-letter-queue/outputs.tf","sha":"e2961511ac23997e4f3e2cd8991559ffdbe10ac0"},{"name":"variables.tf","path":"examples/sqs/no-dead-letter-queue/variables.tf","sha":"a59eb9bc6c66d8a4bf9d9e4d418e78c21035d67b"}]}]}],"toggled":true},{"name":"modules","children":[{"name":"kinesis","children":[{"name":"README.md","path":"modules/kinesis/README.md","sha":"2755785a2c97e818989121565c1e6c4b4e2060bd"},{"name":"main.tf","path":"modules/kinesis/main.tf","sha":"1a71cd2a83f8d056c8f403c95d61c66b10ba0d32"},{"name":"outputs.tf","path":"modules/kinesis/outputs.tf","sha":"6a03e228332416c46f03acf869a1e364ca901c32"},{"name":"variables.tf","path":"modules/kinesis/variables.tf","sha":"71e59e5243f93f6a9a2237fb6779e241009cb5a3"}]},{"name":"msk","children":[{"name":"README.md","path":"modules/msk/README.md","sha":"8ed5181fd43ec36405581e63b27f2351ec50ab51"},{"name":"main.tf","path":"modules/msk/main.tf","sha":"1522641efcfe23c2e76e1f354bc0454f8d650a79"},{"name":"outputs.tf","path":"modules/msk/outputs.tf","sha":"3819e63f34ef96848ab3c3036f0d4b744d986558"},{"name":"variables.tf","path":"modules/msk/variables.tf","sha":"c068d00afb67dbd314e3099f78028c8df530c9c2"}]},{"name":"sns-sqs-connection","children":[{"name":"README.md","path":"modules/sns-sqs-connection/README.md","sha":"b4f86c6463caf238a8ab01fbf87bad3ba2f10b2f"},{"name":"main.tf","path":"modules/sns-sqs-connection/main.tf","sha":"b8c831f697f21f1453701288ba69d685d6c2662d"},{"name":"outputs.tf","path":"modules/sns-sqs-connection/outputs.tf","sha":"f771fdc188025b64ef0219d4a1d8389d67a7c780"},{"name":"variables.tf","path":"modules/sns-sqs-connection/variables.tf","sha":"036c7ef148acec6ae018a0f24e16a08808630093"}]},{"name":"sns","children":[{"name":"README.md","path":"modules/sns/README.md","sha":"d364612270684e6508fd2956845277f5dd729568"},{"name":"main.tf","path":"modules/sns/main.tf","sha":"c7f51fb274b4e7733f020d927660f673107cde1e"},{"name":"outputs.tf","path":"modules/sns/outputs.tf","sha":"b187ff24e06f69c9d92e412cafbd05c11734f033"},{"name":"variables.tf","path":"modules/sns/variables.tf","sha":"309b61562b1cf9fd6c75508d58d6ebaa6799afaf"}]},{"name":"sqs-lambda-connection","children":[{"name":"README.md","path":"modules/sqs-lambda-connection/README.md","sha":"4a5c2d28641c9d5600c13d13f23d37f0401f41e8"},{"name":"main.tf","path":"modules/sqs-lambda-connection/main.tf","sha":"97957d3776a3249c839f13cdbbe8eb0098cf3503"},{"name":"outputs.tf","path":"modules/sqs-lambda-connection/outputs.tf","sha":"1776f39a27d6502062aab149ab8c831251875fad"},{"name":"variables.tf","path":"modules/sqs-lambda-connection/variables.tf","sha":"43ac7496926f6fb3ce22348f9f8bac40339bfb9a"}]},{"name":"sqs","children":[{"name":"README.md","path":"modules/sqs/README.md","sha":"c5d450a5bcf2e7c2d131ae0e4ba607b8745372e0"},{"name":"main.tf","path":"modules/sqs/main.tf","sha":"3e86ac0d978a87c1fb7cf811ffcf808478144ae3"},{"name":"outputs.tf","path":"modules/sqs/outputs.tf","sha":"e1d941e64d321ac3f6f36ff7fa8f8c4d07ffe6c5"},{"name":"variables.tf","path":"modules/sqs/variables.tf","sha":"677dff17ecb1669d5ef878d1068beb372c420b3e"}]}]},{"name":"terraform-cloud-enterprise-private-module-registry-placeholder.tf","path":"terraform-cloud-enterprise-private-module-registry-placeholder.tf","sha":"ae586c0fe830819580e1009d41a9074f16e65bed"},{"name":"test","children":[{"name":"README.md","path":"test/README.md","sha":"031cdc06d155eff31f9c5648a1c92ee5fb816ea0"},{"name":"common.go","path":"test/common.go","sha":"d2f4c530eb49c07f511451ba2f8b3d80137bee10"},{"name":"go.mod","path":"test/go.mod","sha":"b8f23c37200b27f3b16e0edebf7a4303b2b9045f"},{"name":"go.sum","path":"test/go.sum","sha":"617efa8a713e3484215323f043e5a5e4930bf107"},{"name":"kinesis_test.go","path":"test/kinesis_test.go","sha":"8e1e4d0f08f773fea03391ff53f2ec1634246f94"},{"name":"msk_test.go","path":"test/msk_test.go","sha":"bb9ac4194aa3d5491d8c0e8592bc28f7addad7cc"},{"name":"sns_test.go","path":"test/sns_test.go","sha":"54d1374118a64af95f8bbb4477a4b4cf408b406f"},{"name":"sqs_dead_letter_queue_test.go","path":"test/sqs_dead_letter_queue_test.go","sha":"172d7a2f536fce51fddcf4f99010535975c656e3"},{"name":"sqs_encrypted_fifo_queue_test.go","path":"test/sqs_encrypted_fifo_queue_test.go","sha":"17102c0ac2d35b1768e673425055787a2505b448"},{"name":"sqs_standard_test.go","path":"test/sqs_standard_test.go","sha":"99238520e87a85c925dad4547787e860d7cb26d1"},{"name":"terratest_options.go","path":"test/terratest_options.go","sha":"eb2e3f26d1a18a604140344267affe968870116d"},{"name":"validation","children":[{"name":"validate_all_modules_and_examples_test.go","path":"test/validation/validate_all_modules_and_examples_test.go","sha":"33d73c385b64c4fc870033e99427e683c31dc45a"}]}]}]},"detailsContent":"<h1 class=\"preview__body--title\" id=\"msk-cluster-with-iam-access-control\">MSK Cluster With IAM Access Control</h1><div class=\"preview__body--border\"></div><p>This folder shows an example of how to use the MSK module to deploy an MSK cluster using <a href=\"https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html\" class=\"preview__body--description--blue\" target=\"_blank\">IAM access control</a>.</p>\n<p>Note that for security reasons, you can't turn on <a href=\"https://docs.aws.amazon.com/msk/latest/developerguide/public-access.html\" class=\"preview__body--description--blue\" target=\"_blank\">public access</a> while creating an MSK cluster.\nFor that reason, a separate bastion host is created with permissions to interact with the cluster. You can use the <code>bastion_public_ip</code> output\nvariable to connect to the bastion host using a pre-created keypair specified in <code>keypair_name</code>.</p>\n<h2 class=\"preview__body--subtitle\" id=\"how-do-you-run-this-example\">How do you run this example?</h2>\n<p>To run this example, follow these steps:</p>\n<h3 class=\"preview__body--subtitle\" id=\"apply-the-terraform-templates\">Apply the Terraform templates:</h3>\n<ol>\n<li>Install <a href=\"https://www.terraform.io/\" class=\"preview__body--description--blue\" target=\"_blank\">Terraform</a>, minimum version <code>1.0.0</code>.</li>\n<li>Open <code>variables.tf</code>, set the environment variables specified at the top of the file, and fill in any other variables\nthat don't have a default.</li>\n<li>Run <code>terraform init</code>.</li>\n<li>Run <code>terraform apply</code>.</li>\n</ol>\n<h3 class=\"preview__body--subtitle\" id=\"connect-to-the-bastion-host\">Connect to the Bastion Host</h3>\n<ol>\n<li>Store the <code>bastion_public_ip</code> output (or run <code>terraform output</code>)</li>\n<li>Run <code>ssh -i [yourprivatekey] ec2-user@[bastion_public_ip]</code></li>\n</ol>\n","repoName":"package-messaging","repoRef":"v0.8.2","serviceDescriptor":{"serviceName":"Kinesis","serviceRepoName":"package-messaging","serviceRepoOrg":"gruntwork-io","serviceMainReadmePath":"/modules/kinesis","cloudProviders":["aws"],"description":"Create Kinesis streams with configurable or auto-calculated shard and retention settings.","imageUrl":"kinesis.png","licenseType":"subscriber","technologies":["Terraform"],"compliance":[],"tags":[""]},"serviceCategoryName":"Messaging & streaming","fileName":"README.md","filePath":"/examples/msk-with-iam-auth","title":"Repo Browser: Kinesis","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}